Forgetting for the moment the image issues above (as I've restored playback
through the HW H264 codec), I'm now hitting another issue...
Testing on a "Live" (m3u8) streaming (.m3u8 URLs; which is the reason I'm
trying to use ffmpeg SW codecs at all, as HW one failed to playback these),
I got this failure:
V/ACodec ( 75): onAllocateComponent
V/ACodec ( 75): findMatching OMX codecs 'video/avc' (SW only)
V/OMXCodec( 75): matchComponentName (null)
V/OMXCodec( 75): matchComponentName (null)
V/ACodec ( 75): Found matching codec: 'OMX.ffmpeg.h264.decoder'
...
V/ACodec ( 75): ComponentName: OMX.ffmpeg.h264.decoder
V/ACodec ( 75): nativeWindow creation
V/ACodec ( 75): initNativeWindow
E/OMXNodeInstance( 75): OMX_GetExtensionIndex (index:'4083345d') failed
Probably ACodec need being patched for ffmpeg too? For one, I don't expect
it to use native window...
Added below check, in ACodec::LoadedState::onConfigureComponent:
if (msg->findObject("native-window", &obj)
&& strncmp("OMX.google.", mCodec->mComponentName.c_str(), 11)
&& strncmp("OMX.RENESAS.", mCodec->mComponentName.c_str(), 12)
#ifdef USES_NAM
&& strncmp("OMX.ffmpeg.", mCodec->mComponentName.c_str(), 11)
#endif
Now ACodec doesn't crash anymore and (just like the HW codec!) it goes on
in logcat but no image is shown on screen:
...
V/ACodec ( 75): [OMX.google.aac.decoder] calling fillBuffer 0x2a0671b8
V/ACodec ( 75): [OMX.google.aac.decoder] Now Executing
V/ACodec ( 75): [OMX.google.aac.decoder] onOMXFillBufferDone 0x2a06a998
time 0 us, flags = 0x00000000, dataPtr = 0x42cef000
V/ACodec ( 75): [OMX.google.aac.decoder] calling fillBuffer 0x2a06a998
V/ACodec ( 75): [OMX.google.aac.decoder] onOMXEmptyBufferDone 0x2a0df9c0
V/ACodec ( 75): [OMX.google.aac.decoder] calling emptyBuffer 0x2a0df9c0
w/ time 92877 us
...
Could something still be missing in ACodec?
Thanks once again in advance for any help!
Fabio