]> git.sesse.net Git - vlc/commitdiff
Matroska: support for Cook
authorJean-Baptiste Kempf <jb@videolan.org>
Mon, 12 Apr 2010 13:33:03 +0000 (15:33 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Mon, 12 Apr 2010 13:54:28 +0000 (15:54 +0200)
modules/demux/mkv/matroska_segment.cpp

index f0477d1ee21e0f18635997217b663be2b25c160a..53459f852343eb209b1be229c18ff9987b4208ad 100644 (file)
@@ -932,6 +932,14 @@ bool matroska_segment_c::Select( mtime_t i_start_time )
             }
             tracks[i_track]->fmt.audio.i_blockalign = ( tracks[i_track]->fmt.audio.i_bitspersample + 7 ) / 8 * tracks[i_track]->fmt.audio.i_channels;
         }
+        else if( !strncmp( tracks[i_track]->psz_codec, "A_REAL/", 7 ) )
+        {
+            if( !strcmp( tracks[i_track]->psz_codec, "A_REAL/COOK" ) )
+                tracks[i_track]->fmt.i_codec = VLC_CODEC_COOK;
+            tracks[i_track]->fmt.i_extra = tracks[i_track]->i_extra_data;
+            tracks[i_track]->fmt.p_extra = xmalloc( 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 );
+        }
         /* disabled due to the potential "S_KATE" namespace issue */
         else if( !strcmp( tracks[i_track]->psz_codec, "S_KATE" ) )
         {