[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