[MPlayer-cvslog] CVS: main/libmpdemux demux_audio.c,1.34,1.35

Reimar Döffinger CVS syncmail at mplayerhq.hu
Mon Apr 18 22:51:37 CEST 2005


CVS change done by Reimar Döffinger CVS

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

Modified Files:
	demux_audio.c 
Log Message:
Fix MP3 detection (list of found MP3 headers was not kep sorted).
Also remove code that only fixed the symptoms.


Index: demux_audio.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_audio.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- demux_audio.c	17 Apr 2005 17:17:52 -0000	1.34
+++ demux_audio.c	18 Apr 2005 20:51:34 -0000	1.35
@@ -101,6 +101,9 @@
     }
   }
   if (!in_list) { // does not belong into an existing chain, insert
+    // find right position to insert to keep sorting
+    while (*list && (*list)->next_frame_pos <= st_pos + mp3_flen)
+      list = &((*list)->next);
     tmp = malloc(sizeof(mp3_hdr_t));
     tmp->frame_pos = st_pos;
     tmp->next_frame_pos = st_pos + mp3_flen;
@@ -158,8 +161,6 @@
       frmt = WAV;
       break;      
     } else if((mp3_flen = mp_get_mp3_header(hdr,&mp3_chans,&mp3_freq,&mpa_spf,&mpa_layer)) > 0) {
-      stream_skip(s, mp3_flen - HDR_SIZE);
-      step = HDR_SIZE;
       mp3_found = add_mp3_hdr(&mp3_hdrs, st_pos, mp3_chans, mp3_freq, mp3_flen);
       if (mp3_found) {
         frmt = MP3;




More information about the MPlayer-cvslog mailing list