From 0acc11b0549c3ccf237d2b4422e9a8282922adbe Mon Sep 17 00:00:00 2001 From: Derk-Jan Hartman Date: Wed, 23 Aug 2006 21:47:53 +0000 Subject: [PATCH] * Fix the extradata with mkv native MPEG4 SP/ASP/AP --- modules/demux/mkv.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/demux/mkv.cpp b/modules/demux/mkv.cpp index 8d2ede2dfc..d04a5cf911 100644 --- a/modules/demux/mkv.cpp +++ b/modules/demux/mkv.cpp @@ -2200,17 +2200,17 @@ bool matroska_segment_c::Select( mtime_t i_start_time ) { tracks[i_track]->fmt.i_codec = VLC_FOURCC( 'D', 'I', 'V', '3' ); } - else if( !strcmp( tracks[i_track]->psz_codec, "V_MPEG4/ISO/AVC" ) ) + else if( !strncmp( tracks[i_track]->psz_codec, "V_MPEG4/ISO", 11 ) ) { - tracks[i_track]->fmt.i_codec = VLC_FOURCC( 'a', 'v', 'c', '1' ); + /* A MPEG 4 codec, SP, ASP, AP or AVC */ + if( !strcmp( tracks[i_track]->psz_codec, "V_MPEG4/ISO/AVC" ) ) + tracks[i_track]->fmt.i_codec = VLC_FOURCC( 'a', 'v', 'c', '1' ); + else + tracks[i_track]->fmt.i_codec = VLC_FOURCC( 'm', 'p', '4', 'v' ); tracks[i_track]->fmt.i_extra = tracks[i_track]->i_extra_data; tracks[i_track]->fmt.p_extra = malloc( tracks[i_track]->i_extra_data ); memcpy( tracks[i_track]->fmt.p_extra,tracks[i_track]->p_extra_data, tracks[i_track]->i_extra_data ); } - else - { - tracks[i_track]->fmt.i_codec = VLC_FOURCC( 'm', 'p', '4', 'v' ); - } } else if( !strcmp( tracks[i_track]->psz_codec, "V_QUICKTIME" ) ) { -- 2.39.5