2014-06-03, 09:17
(2014-05-20, 19:07)jobespierre Wrote: In my experience, i have no problem with mediacodec and libstagefright both turned on, everything plays. My first question is anyone could tell me the difference between the two and what turning them on actually does?
I guess no one answered this question, so I guess I'll take a stab at it.
I did a little bit of research and this is what I found:
Both are APIs to access hardware acceleration on Android devices
(which is what Fire TV basically is).
Before Android 4.1 (Jelly Bean), there was no official API for hardware
video decoding. So, libstagefright was created as an unofficial hack to
allow for hardware acceleration on Android devices using private APIs.
As of Android 4.1 and above Android added official hardware video
acceleration to the public API. This is known as mediacodec, and XBMC
had added support for this. Now, since Fire OS 3.0 (which is what
AFTV runs) is based on Android 4.2.2, it gains support for mediacodec.
Only one API will get used. If you have both selected, mediacodec
is used (unless the version of Android does not support it, then it uses
libstagefright -- but this does not really apply to the Fire TV). If you
do not have mediacodec selected, you are forcing it to use libstagefright.
If you have neither selected, it's equivalent to not running any hardware
acceleration at all (equivalent to disabling the feature by selecting
"Software" as the "Decoding method").
Hopefully what I summarized is correct, but I'm sure someone will
correct me if not.
References:
http://babylon.xbmc.org/showthread.php?t...68&page=99
http://en.wikipedia.org/wiki/Fire_OS
http://forum.xbmc.org/showthread.php?tid=180872