Kodi Community Forum

Full Version: Suggestion for mega compatibility with android
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi, I noticed that many players have several ways to implement video playback, via codec and also via native android player, using the android MediaPlayer service.
Is it possible for Team Kodi to carry out this implementation?
(2017-05-05, 23:08)tetramarreta Wrote: [ -> ]Hi, I noticed that many players have several ways to implement video playback, via codec and also via native android player, using the android MediaPlayer service.
Is it possible for Team Kodi to carry out this implementation?
Huh? "mega compatibility"? What are you talking about exactly? Kodi supports and uses Google's "MediaCodec" API for Android:

https://developer.android.com/reference/...Codec.html

"MediaCodec" is the only playback API/class that Google supports on Android, so Kodi should not need to support any other.

http://bigflake.com/mediacodec/

If hardware manufactuers don't support Google's MediaCodec API then you shouldn't support them by buying their devices.
(2017-05-09, 08:44)RockerC Wrote: [ -> ]
(2017-05-05, 23:08)tetramarreta Wrote: [ -> ]Hi, I noticed that many players have several ways to implement video playback, via codec and also via native android player, using the android MediaPlayer service.
Is it possible for Team Kodi to carry out this implementation?
Huh? "mega compatibility"? What are you talking about exactly? Kodi supports and uses Google's "MediaCodec" API for Android:

https://developer.android.com/reference/...Codec.html

"MediaCodec" is the only playback API/class that Google supports on Android, so Kodi should not need to support any other.

http://bigflake.com/mediacodec/

If hardware manufactuers don't support Google's MediaCodec API then you shouldn't support them by buying their devices. 
Media codec was implemented from android jelly bean (4.1.2), but even in newer versions, media codec was not well implemented by manufacturers.

We can not always tell if the Media Codec was well implemented / supported by hardware manufacturers for such a boycott, only after we buy.


It has players like MX Player, VLC, Rock Player and others that always worked with hardware acceleration, including several parameterizable methods, but of course none surpasses Kodi as Media Center
since we only have 1,5 Android developers, we stick to support only official APIs. We just don't have the manpower to maintain a shitload of vendor specific hacks (which we had at some point and ripped out due to unmaintainability). Luckily, many vendors finally added proper media codec support to their latest chipsets and firmware, so this is becoming less and less an issue. For older Android boxes, users can always use our older Kodi versions that still had these vendor specific hacks along with libstagefright

Quote: We can not always tell if the Media Codec was well implemented / supported by hardware manufacturers for such a boycott, only after we buy.
we have a hardware support forum where people can exchange experiences etc. But as a rule of thumb - if you buy cheap, chances for a firmware that does properly support media codec are low. And even lower is the chance to get future firmware updates that would add this support, even if the chipset vendor published a new firmware. Cheap Android boxes are fire and forget by the manufacturers, and you are supposed to just buy a new device if things go south
(2018-01-15, 21:44)tetramarreta Wrote: [ -> ]
(2017-05-09, 08:44)RockerC Wrote: [ -> ]
(2017-05-05, 23:08)tetramarreta Wrote: [ -> ]Hi, I noticed that many players have several ways to implement video playback, via codec and also via native android player, using the android MediaPlayer service.
Is it possible for Team Kodi to carry out this implementation?
Huh? "mega compatibility"? What are you talking about exactly? Kodi supports and uses Google's "MediaCodec" API for Android:

https://developer.android.com/reference/...Codec.html

"MediaCodec" is the only playback API/class that Google supports on Android, so Kodi should not need to support any other.

http://bigflake.com/mediacodec/

If hardware manufactuers don't support Google's MediaCodec API then you shouldn't support them by buying their devices.  
Media codec was implemented from android jelly bean (4.1.2), but even in newer versions, media codec was not well implemented by manufacturers.

We can not always tell if the Media Codec was well implemented / supported by hardware manufacturers for such a boycott, only after we buy.


It has players like MX Player, VLC, Rock Player and others that always worked with hardware acceleration, including several parameterizable methods, but of course none surpasses Kodi as Media Center 
@tetramarreta Free and open source projects like Kodi only have a few developers working on each operating-system platform and those developers do not get paid to work on hardware manufacturer specific hacks, and especially if that hardware manufacturer uses proprietary libaries/code which may not be fully publicly documented. Development time is limited, so to stay effective they need to use standardized APIs that more than onc manufacturer.

Suggest that you ready this relative blog post to understand that this is also the way it go on Linux in the future as well:

https://libreelec.tv/2017/10/allwinner-a...-rockchip/

This is why it has traditionally been easy to develop applications on Windows OS, siimply because Microsoft makes standard available and usually there is only one standard/recommended API for something on Windows OS. Android OS is moving in this direction too.
(2018-01-17, 14:53)RockerC Wrote: [ -> ]
(2018-01-15, 21:44)tetramarreta Wrote: [ -> ]
(2017-05-09, 08:44)RockerC Wrote: [ -> ]Huh? "mega compatibility"? What are you talking about exactly? Kodi supports and uses Google's "MediaCodec" API for Android:

https://developer.android.com/reference/...Codec.html

"MediaCodec" is the only playback API/class that Google supports on Android, so Kodi should not need to support any other.

http://bigflake.com/mediacodec/

If hardware manufactuers don't support Google's MediaCodec API then you shouldn't support them by buying their devices.  
Media codec was implemented from android jelly bean (4.1.2), but even in newer versions, media codec was not well implemented by manufacturers.

We can not always tell if the Media Codec was well implemented / supported by hardware manufacturers for such a boycott, only after we buy.


It has players like MX Player, VLC, Rock Player and others that always worked with hardware acceleration, including several parameterizable methods, but of course none surpasses Kodi as Media Center  
@tetramarreta Free and open source projects like Kodi only have a few developers working on each operating-system platform and those developers do not get paid to work on hardware manufacturer specific hacks, and especially if that hardware manufacturer uses proprietary libaries/code which may not be fully publicly documented. Development time is limited, so to stay effective they need to use standardized APIs that more than onc manufacturer.

Suggest that you ready this relative blog post to understand that this is also the way it go on Linux in the future as well:

https://libreelec.tv/2017/10/allwinner-a...-rockchip/

This is why it has traditionally been easy to develop applications on Windows OS, siimply because Microsoft makes standard available and usually there is only one standard/recommended API for something on Windows OS. Android OS is moving in this direction too. 

I know the guys do it for pleasure and not for money, I'm very grateful for that.
I am a former IT manager who went back to programming because it is addictive, and I try to help those who have old SOCs to use the wonderful KODI.

About rockchip, I did a patch to apply to ffmpeg compiled with Kodi, that is, ffmpeg itself works with the GPU, but I think the Kodi team has no interest in that.

About the article you sent, very good to know that is improving with the standardization of api's, but reinforcement that some player works on a bunch of devices with hardware acceleration and android 2.3+, so there is some way.
We are not interesting in supporting patches for random implementation by vendors who cannot stick to standards. Full stop.
ffmpeg patches should be send to ffmpeg. We don't want to deal with handling those.
(2018-01-18, 07:40)Martijn Wrote: [ -> ]ffmpeg patches should be send to ffmpeg. We don't want to deal with handling those.
 Ffmpeg 3.4 released in October 2017, is already with Rockchip MPP hardware decoding, it happens that kodi is using ffmpeg 3.1.11 from July 2016.
When updating ffmpeg (which has undergone great refactoring) just compile with --enable-rkmpp
We use ffmpeg 3.4 in master for nightly builds see https://github.com/xbmc/xbmc/blob/master...EG-VERSION
(2018-01-19, 16:26)jjd-uk Wrote: [ -> ]We use ffmpeg 3.4 in master for nightly builds see https://github.com/xbmc/xbmc/blob/master...EG-VERSION
 Very good, we will wait for the new version with the most current ffmpeg