#ifdef __MMFILE_TEST_MODE__
debug_msg ("FFMPEG video codec id: 0x%08X\n", pFormatCtx->streams[i]->codec->codec_id);
#endif
- formatContext->videoTotalTrackNum += 1;
+ if (ConvertVideoCodecEnum(pFormatCtx->streams[i]->codec->codec_id) != MM_VIDEO_CODEC_NONE)
+ formatContext->videoTotalTrackNum += 1;
}
if (pFormatCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
#ifdef __MMFILE_TEST_MODE__
}
}
else
- if((pInfo->mpegVersion == AV_MPEG_VER_2) && (pInfo->channels == 1))
- {
- if (buf[13] =='X') {
- if( buf[14] != 'i' ) return false;
- if( buf[15] != 'n' ) return false;
- if( buf[16] != 'g' ) return false;
- } else if (buf[13] == 'I') {
- if( buf[14] != 'n' ) return false;
- if( buf[15] != 'f' ) return false;
- if( buf[16] != 'o' ) return false;
- } else {
- return false;
- }
- }
- else
- if((pInfo->mpegVersion == AV_MPEG_VER_25) && (pInfo->channels == 1))
+ if((pInfo->mpegVersion == AV_MPEG_VER_2 || pInfo->mpegVersion == AV_MPEG_VER_25) && (pInfo->channels == 1))
{
if (buf[13] =='X') {
if( buf[14] != 'i' ) return false;
debug_error ("invalid Xing header\n");
return false;
}
-
- /* Temporary fix code for MPEG 2.5 */
- if (pInfo->mpegVersion != AV_MPEG_VER_25) {
- pInfo->sampleRate = data.sampRate;
- }
+
pInfo->datafileLen = data.bytes;
pInfo->frameNum = data.frames;
pInfo->frameSize = (int) ( (float) data.bytes / (float) data.frames ) ;
if (formatContext->videoTotalTrackNum > 0) {
MMFileFormatStream *videoStream = formatContext->streams[MMFILE_VIDEO_STREAM];
unsigned int timestamp = _SEEK_POINT_;
-
+
ret = mmfile_format_read_frame (formatContext, timestamp, &frameContext);
if (MMFILE_FORMAT_FAIL == ret) {
debug_error ("error: mmfile_format_read_frame\n");