2013-12-23, 18:44
All,
I believe that XBMC is failing to use the hardware H264 decoder on my device. I think that this is because a call to CBitstreamConverter::Open returns false inside the DVDVideoCodecAndroidMediaCodec.cpp file. I have put in some debug prints as follows:
Can someone give me some more insight into why CBitstreamConvert::Open fails? What I notice in my case is that the first element of extra data that is passed to Open is 0. It seems like this leads to the failure. What is the extra data?
12-23 10:37:09.867: V/XBMC(30197): 10:37:09 T:1711984216 DEBUG: *** CDVDVideoCodecAndroidMediaCodec:: m_bitstream::Open failed about to return false.
12-23 10:37:09.867: V/XBMC(30197): 10:37:09 T:1711984216 DEBUG: *** CDVDVideoCodecAndroidMediaCodec:: extra data 0 extrasize 45.
12-23 10:37:09.867: V/XBMC(30197): 10:37:09 T:1711984216 DEBUG: FactoryCodec - Video: amc-h264 - Faile
I believe that XBMC is failing to use the hardware H264 decoder on my device. I think that this is because a call to CBitstreamConverter::Open returns false inside the DVDVideoCodecAndroidMediaCodec.cpp file. I have put in some debug prints as follows:
Code:
case AV_CODEC_ID_H264:
CLog::Log(LOGDEBUG, "*** CDVDVideoCodecAndroidMediaCodec:: inside AV_CODEC_ID_H264 case." );
m_mime = "video/avc";
m_formatname = "amc-h264";
m_bitstream = new CBitstreamConverter;
if (!m_bitstream->Open(m_hints.codec, (uint8_t*)m_hints.extradata, m_hints.extrasize, true))
{
CLog::Log(LOGDEBUG, "*** CDVDVideoCodecAndroidMediaCodec:: m_bitstream::Open failed about to return false." );
CLog::Log(LOGDEBUG, "*** CDVDVideoCodecAndroidMediaCodec:: extra data %d extrasize %d.",
*(uint8_t*)m_hints.extradata, m_hints.extrasize );
SAFE_DELETE(m_bitstream);
return false;
}
Can someone give me some more insight into why CBitstreamConvert::Open fails? What I notice in my case is that the first element of extra data that is passed to Open is 0. It seems like this leads to the failure. What is the extra data?
12-23 10:37:09.867: V/XBMC(30197): 10:37:09 T:1711984216 DEBUG: *** CDVDVideoCodecAndroidMediaCodec:: m_bitstream::Open failed about to return false.
12-23 10:37:09.867: V/XBMC(30197): 10:37:09 T:1711984216 DEBUG: *** CDVDVideoCodecAndroidMediaCodec:: extra data 0 extrasize 45.
12-23 10:37:09.867: V/XBMC(30197): 10:37:09 T:1711984216 DEBUG: FactoryCodec - Video: amc-h264 - Faile