// valid avcC atom data always starts with the value 1 (version)
if ( *in_extradata != 1 )
{
- if (in_extradata[0] == 0 && in_extradata[1] == 0 && in_extradata[2] == 0 && in_extradata[3] == 1)
+ if ( (in_extradata[0] == 0 && in_extradata[1] == 0 && in_extradata[2] == 0 && in_extradata[3] == 1) ||
+ (in_extradata[0] == 0 && in_extradata[1] == 0 && in_extradata[2] == 1) )
{
CLog::Log(LOGINFO, "CBitstreamConverter::Open annexb to bitstream init\n");
// video content is from x264 or from bytestream h264 (AnnexB format)
uint8_t *CBitstreamConverter::GetExtraData()
{
- return m_extradata;
+ if(m_convert_bitstream)
+ return m_sps_pps_context.sps_pps_data;
+ else
+ return m_extradata;
}
int CBitstreamConverter::GetExtraSize()
{
- return m_extrasize;
+ if(m_convert_bitstream)
+ return m_sps_pps_context.size;
+ else
+ return m_extrasize;
}
bool CBitstreamConverter::BitstreamConvertInit(void *in_extradata, int in_extrasize)