[MPlayer-cvslog] CVS: main/libmpdemux demux_mkv.c,1.43,1.44

Moritz Bunkus CVS syncmail at mplayerhq.hu
Sat May 21 08:50:10 CEST 2005


CVS change done by Moritz Bunkus CVS

Update of /cvsroot/mplayer/main/libmpdemux
In directory mail:/var2/tmp/cvs-serv8905

Modified Files:
	demux_mkv.c 
Log Message:
Do not switch to audio tracks whose codec private data differs from the main audio track's as this will most likely result in messed up audio output. Patch by Michael Behrisch <list () behrisch ! de>

Index: demux_mkv.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_mkv.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- demux_mkv.c	19 May 2005 12:09:26 -0000	1.43
+++ demux_mkv.c	21 May 2005 06:50:08 -0000	1.44
@@ -3305,6 +3305,8 @@
           track = mkv_d->tracks[(idx+i)%num];
           if ((track->type == MATROSKA_TRACK_AUDIO) &&
               !strcmp(track->codec_id, otrack->codec_id) &&
+              (track->private_size == otrack->private_size) &&
+              !memcmp(track->private_data, otrack->private_data, track->private_size) &&
               (track->a_channels == otrack->a_channels) &&
               (track->a_bps == otrack->a_bps) &&
               (track->a_sfreq == otrack->a_sfreq)) {
@@ -3315,6 +3317,8 @@
           track = demux_mkv_find_track_by_num (mkv_d, *((int*)arg), MATROSKA_TRACK_AUDIO);
           if (track == NULL ||
               strcmp (track->codec_id, otrack->codec_id) ||
+              (track->private_size != otrack->private_size) ||
+              memcmp(track->private_data, otrack->private_data, track->private_size) ||
               track->a_channels != otrack->a_channels ||
               track->a_bps != otrack->a_bps ||
               track->a_sfreq != otrack->a_sfreq)




More information about the MPlayer-cvslog mailing list