The funny thing is that Android is parsing all your media files in your back, so even if you don't use their demuxer, the Stagefright's CHECK() can bite you...
> We also had to write almost 10 different color conversion functions for all the random color formats used by long-tail Android devices. We have those too. Are some of yours shareable?
Re:Crashing competing media players on Android
by cpeterso on Saturday April 19, 2014 @03:04AM
(#7612806)
Unfortunately, the Android color conversion functions in Adobe's Flash Player code are all closed source.
But Mozilla has some Android color conversion functions, including some quirk workarounds for specific devices, for Firefox on Android and Firefox OS:
https://hg.mozilla.org/mozilla-central/file/582b2d81ebe1/med...
Google also provides libyuv, which is also used in Firefox:
Google's Stagefright developers told me they did not want to provide an API to query the hardware decoder's profile and level support because some hardware supports H.264 capabilities beyond their state profile or level. Their recommendation was to "just try decoding the video" to see if it works (as if that is something that can be easily determined programmatically), ignoring the fact that playing an unsupported or corrupt file will trigger Stagefright's fatal CHECK() aborts. In Flash, we had to duplicate a lot of Stagefright's MP4 parsing code so Flash could fall back to its H.264 software decoder instead of hitting Stagefright's CHECK() "landmines".
We also had to write almost 10 different color conversion functions for all the random color formats used by long-tail Android devices.