• 1
  • 3
  • 4
  • 5(current)
  • 6
  • 7
  • 16
Port XBMC to Android OS so that it can run on Google TV based platforms and such?
#61
topfs2 Wrote:Secondly, android is far more limiting with their bionic core and compiler than iOS, android is closer to posix basic than "normal" linux. And a few things which one would think is C++ standards it doesn't even support.

How about something like this? This should theoretically give you Android and Chrome OS, at least at some point Smile.
Reply
#62
Soju Wrote:How about something like this? This should theoretically give you Android and Chrome OS, at least at some point Smile.

why would this help? its for making native code for browsers, seems very very unrelated to xbmc.

And you can compile native code on android just fine, the code you can compile however is a bit limiting and missing some key C++ features (exceptions) and the libraries are closer to basic posix than what you expect out of linux based distros
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#63
I understand that there are a lot of users/potential users out there that want to run XBMC on their current favorite hardware platform. However doesn't this eventually result in a product that suffers from ever increasing time between updates as the code base gets larger and larger accommodating each platform's idiosyncrasies? And wouldn't it start to affect what features can be added, or compromise them because platform A cannot support it?
Reply
#64
topfs2 Wrote:I have taken a good look at the current state of NDK and it does seem like most is available for an android port (have actually compiled most of the dependencies already). The problem for me atm is that GLESv2 examples does not work in emulator and for some reason does not work on my phone either, Im sure its me and not the phone so if I get that up and running it should be ok to actually start deving.

Could you please post a bit more detailed what you did and what version of the NDK you used? Did you use crystax version or the original google version?

Thanks in advance.
Reply
#65
effbiai Wrote:Could you please post a bit more detailed what you did and what version of the NDK you used? Did you use crystax version or the original google version?

Thanks in advance.

I used the original version, IIRC it was froyo. We would probably want to target original for inclusion in market. However if crystax and such has more of the necessary parts available it might aid the porting. I have not looked into any other SDK's or NDKs than the official ones. Any details about if the might help would be greatly appreciated. Another portability to aid porting would be to use a custom android version with full libc (or compile with a full compiler).

I'm not sure what more details you want? I cross-compiled a bunch of libraries xbmc needs and made a few adjustments to some of the libraries to work with android but xbmc depend on lots of libraries and I never got a few key ones compiled (python, mysql and smb) as such I never really tried compiling xbmc but I have read lots about what the NDK can and can't so I know that some parts will be hell to get xbmc to work the "android"-way.

TugboatBill Wrote:I understand that there are a lot of users/potential users out there that want to run XBMC on their current favorite hardware platform. However doesn't this eventually result in a product that suffers from ever increasing time between updates as the code base gets larger and larger accommodating each platform's idiosyncrasies? And wouldn't it start to affect what features can be added, or compromise them because platform A cannot support it?

One might think so but its actually the opposite. Platform independent code notices no difference and platform dependent code gets abstracted. As such supporting many platforms in fact cleans up the code.

Granted supporting many platforms will eat more "man-hours" but thats not really a problem in floss since those signing up to support platform A rarely would have signed on to support platform B, so generally speaking you have two sets of devs. As a matter of fact since you get more devs as you have more platforms you get more devs doing platform independent stuff which all platforms benefit from.

The only downside of supporting many platforms is that stuff needs to be properly abstracted and well designed, this may take a tad bit extra time in the design phase but generally makes development much faster later so I rarely consider it a downside.
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#66
Question 
Well.. my situation is a bit strange. I used to be a computer engineer, backend software developer. Now I'm currently working for the Norwegian Armed Forces in Afghanistan as a gunner. When I get back to Norway in the mid summer, I will continue in my old job. Anyway.. I've got quite some spare time, which would be use for helping out here. I've also got well connected with the engineers down here, one of them is actually an android developer back home.

topfs2 Wrote:Another portability to aid porting would be to use a custom android version with full libc (or compile with a full compiler).
or.. If we're working with a rooted device, we can just install the libraries which is needed. We can add an 'installer' inside the app to install all the missing libraries.

topfs2 Wrote:I never really tried compiling xbmc but I have read lots about what the NDK can and can't so I know that some parts will be hell to get xbmc to work the "android"-way.

If someone are going to port the xbmc to the android platform, we need to have all the basics to work first. No need for a GUI without a backend system. And I can see that you follow up on that! Wink

topfs2 Wrote:[...] xbmc depend on lots of libraries and I never got a few key ones compiled (python, mysql and smb) as such [...]
Could you provide me with a list of all the dependencies/libraries xbmc has? I'd rather not grep through all the source code to find all the includes Nerd. I'll use some of my spare time to get the libraries to work on the android.
Reply
#67
effbiai Wrote:or.. If we're working with a rooted device, we can just install the libraries which is needed. We can add an 'installer' inside the app to install all the missing libraries.

As I said the majority of the libraries aren't a problem in a distribution sense, the NDK has support for that. the problem is the core ones, libc etc. Those which means a custom compiler. This won't do for market inclusion I bet. You can surely do a custom rom and just use the standard arm compiler but it would never be acceptible on market.

effbiai Wrote:Could you provide me with a list of all the dependencies/libraries xbmc has? I'd rather not grep through all the source code to find all the includes Nerd. I'll use some of my spare time to get the libraries to work on the android.

I don't know them from the top of my head, I would have to grep the same as you. the readme does contain most of them though
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#68
topfs2 Wrote:I don't know them from the top of my head, I would have to grep the same as you. the readme does contain most of them though

Ok, thanks for the headups. I'll start working a bit on this.
Reply
#69
Any updates on this? Would love to see the power of XBMC come to Android!!
Reply
#70
free version with adds and donated of 5-10€uros for add free version, would be ok for me. but please also for honeycomb Smile
Reply
#71
topfs2 Wrote:You can surely do a custom rom and just use the standard arm compiler but it would never be acceptible on market.

Why is everyone so hung up on getting it into the market. I mean I realize that it would expand the user base a bit but it isn't like it's difficult to install an APK from outside the Market. Not to mention that there are multiple other Markets like Amazon, AppBrain and GetJar. Also, couldn't you submit an installer to the App market that would then install everything else. The Market is pretty open, there are even apps in the market for rooting your device so it a pretty open Market. We aren't talking about Apple here.
Reply
#72
bnl552 Wrote:Why is everyone so hung up on getting it into the market. I mean I realize that it would expand the user base a bit but it isn't like it's difficult to install an APK from outside the Market. Not to mention that there are multiple other Markets like Amazon, AppBrain and GetJar. Also, couldn't you submit an installer to the App market that would then install everything else. The Market is pretty open, there are even apps in the market for rooting your device so it a pretty open Market. We aren't talking about Apple here.

Your missing my point. The point I was making is that if you do it with a custom compiler it would only work on devices with that runtime, i.e. it would only be installable on devices with a specific custom rom. Which would decrease potential users by an enormous amount. Anyways, the NDK have gotten significant love in the later releases so this might not be an issue anymore, we are investigating it.

Having an APK outside of market we would most likely host at any rate and it would certainly _not_ be a blocker Smile
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#73
Oh XBMC how you have spoiled me....

Have a couple original (chipped!) XBOXen in the house.
Have dabbled with a SageTV add-on called SageXBMC.
Have dabbled with the mysql client sync db so one can pick up where one left off on another xbmc client....preparing for the day when xbmc will sit at every tv, and link into my SageTV back end....

Anyway...
Picked up an Asus Transformer on Sunday. Gingerbread 3.2 I think (new to android)
1) Thought it would be nice to just point the stock player to my NAS and browse my mp3s. Great for working in the garage / washing the car where previously I had a subset on my phone, or mp3 player.
2) Maybe show the kids how to watch some standard def cartons etc... also on the NAS. (Wifi is gonna limit HD). I imagined them going upstairs to their TV-less room and watching all the angry beavers they care to. There-by postponing calls for a tv in there (and another XBMC / SageTV client - not that I can buy SageTV client licenses anymore)

These are two usage scenarios where I had envisioned XBMC filling a need on a tablet. (Some folks in this thread have expressed wonderment at why anyone would want XBMC on a tablet.)

So I fire up stock media player....ughh.
No SMB support. (I see if I root the thing, some options are available to spoof the OS into thinking SMB shares are local - dunno how well that will work.)
So next I enable DLNA server on the NAS to oblige the stock player (never needed this before). Now it finds content after forever ( in it's defense I think the NAS was scanning (lot of content) pretty slowly).
Even so, no folder.jpg cover art is displayed , bummer, - but it plays the mp3s fine, and browses pictures. Never tried the video.

I immediately google 'xbmc on android', and here I am.

If I can get XBMC on every media accessing device, I can setup the sources identically, and the WAF goes up, the kids are more polite, and do better in school <sarcasm>, and I get bugged less. This is worth something to me.

A man can dream, and donate too.
Reply
#74
Just curious on the comments about Tegra2's video decode capabilities...

I read further back a comment from someone who clearly knew what they were talking about, that the hardware isn't capable of "[email protected] or above".

I'm going to interpret that as H264's High Profile (which is used for BluRay and HDTV), at the profile level of 4.1.

I will infer then, it is capable of HiP at level 4 (below 4.1) - correct me if this is a poor assumption, but it seems reasonable from reading this thread.

http://en.wikipedia.org/wiki/H264#Profiles

To me, this then implies that the Tegra2 chip can handle at least a 25Mbps stream, at 1080i or 720p - using the profile and level guidance on Wikipedia, above. Frankly, I'm surprised it can go anywhere near 25Mbps!

Nonetheless, if that is true, then yes it won't be able to play back a genuine original BluRay stream, but realistically, are most people using those 25-50GB files? Or are they really most often using transcodes down to 720p/5Mbps and 1080i/15Mbps? These would seem more than possible at level 4.

And I really believe that most people would be delighted to see XBMC on Android even if they couldn't do the highest levels of HD, at least being able to do SD and the most common transcodes of HD would be more than sufficient. Certainly a awful lot better than not being able to do anything at all!
Reply
#75
I am one of those people who would like to see XBMC on Android tablets and Google TV devices. I have been running XBMC for several years on a 1st gen ATV. About a year ago I brought up an ASUS Ion system of some sort with Ubuntu 10.4 and XBMC. The wife acceptance factor (WAF) of both of those setups is very low, because everytime she turns on either of those systems it is likely to have changed state since it was turned off and she invariably has to navigate back to XBMC, which is obtuse in both of those setups. In frustration I bought an ATV2 as soon as Davilla and the boys got the beta XBMC going on it, and it is the best as far as WAF because I was able to simplify the menus and get everything we do not use (all the apple store crap) off the menus making it easier for her to find XBMC (as well as Netflix and Youtube).

My problem is that the ATV2 port does not support ISOs, and much of my video collection is 3 to 5 part documentaries that I captured and made dvds of years ago and which have not been indexed on thetvdb and I would rather have them under movies anyway. Furthermore, staying ahead of Steve Jobs' brickamatic marketing strategy is a pain. All the gyrations to jailbreak Apple products, prevent them from getting bricked by an auto-update, and to setup a restore plan is also more trouble than I want to deal with. I jb'ed the atv2, but I will not jb my wife's ipad and risk bricking it or cutting her off from the next upgrade of Huff Post. Besides, when IOS 5 comes out, JB'ing may become a much more difficult task, with all the IOS 5 devices tied together by the over the air update capability. (Reminds me of Gary's super network in Antitrust.)

I recently purchased a Toshiba Thrive 32G and would like to be able to run XBMC on it, particularly since it has a full-size HDMI port. I can access the XBMC DLNA server from the Thrive (which most of my other DLNA clients do not see), which is relatively good. I can also access my NAS with DLNA, but the DLink NAS makes me drill down 3 or 4 levels to the content, and does not show all of it for some reason.

What I really want is a horizontal form factor (many of the Ion PC's need to be vertical for cooling) that is an XBMC pure play and costs $200 or less. The Boxee Box is a non-starter because I want it to follow my indexing of video content rather than impose its own overly aggressive method which gets most of everything wrong. I also am an old fart who does not do any social networking or anything similar. 480P or 720P is good enough for me; most of my videos are MPG captured at 4Mbps. (Yes I do have a 52" Sony Bravia 1080P tv).

Then a couple of weeks ago Logitech dropped the price of the Revue to $99 and have recently announced a Honeycomb upgrade by the end of the Summer. I had a very negative experience with a Sony Google TV last Fall (no sound), but I might be willing to work a little harder to get sound working with a $99 box that ran XBMC.

Question: would a port to honeycomb work on both the ntegra tablets and the Logitech Revue, or would those have to be separate ports?

At $99 dollars, I would probably be willing to buy a honeycomb Revue once the software upgrade is available for someone who has proven they can carry out a port in the past.
Reply
  • 1
  • 3
  • 4
  • 5(current)
  • 6
  • 7
  • 16

Logout Mark Read Team Forum Stats Members Help
Port XBMC to Android OS so that it can run on Google TV based platforms and such?6