[MPlayer-cvslog] CVS: main/libmpdemux cue_read.c,1.9,1.10

Nico Sabbi CVS syncmail at mplayerhq.hu
Sun May 15 17:38:59 CEST 2005


CVS change done by Nico Sabbi CVS

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

Modified Files:
	cue_read.c 
Log Message:
better implementation of read()

Index: cue_read.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/cue_read.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- cue_read.c	15 May 2005 07:59:30 -0000	1.9
+++ cue_read.c	15 May 2005 15:38:57 -0000	1.10
@@ -168,6 +168,7 @@
 
   /* get the filename out of that */
   /*                      12345 6  */
+  mp_msg (MSGT_OPEN,MSGL_INFO, "[bincue] cue_find_bin(%s)\n", firstline);
   if (strncmp(firstline, "FILE \"",6)==0)
   {
     i = 0;
@@ -324,9 +325,9 @@
      if (*t == '\0')
        strcpy(t, "/");
   }
-  mp_msg(MSGT_OPEN,MSGL_V,"dirname: %s\n", t);
+  
   strlcpy(bincue_path,t,sizeof( bincue_path ));
-
+  mp_msg(MSGT_OPEN,MSGL_V,"dirname: %s, cuepath: %s\n", t, bincue_path);
 
   /* no path at all? */
   if (strcmp(bincue_path, ".") == 0) {
@@ -497,7 +498,6 @@
 static int cue_vcd_read(stream_t *stream, char *mem, int size) {
   unsigned long position;
   int track = cue_current_pos.track - 1;
-  unsigned char tmp[VCD_SECTOR_OFFS];
 
   position = tracks[track].start_offset +
              (cue_msf_2_sector(cue_current_pos.minute,
@@ -510,16 +510,11 @@
   if(position >= tracks[track+1].start_offset)
     return 0;
 
-  if(lseek(fd_bin, position, SEEK_SET) == -1) {
+  if(lseek(fd_bin, position+VCD_SECTOR_OFFS, SEEK_SET) == -1) {
     mp_msg(MSGT_OPEN,MSGL_ERR, "[bincue] unexpected end of bin file\n");
     return 0;
   }
 
-  if(read(fd_bin, tmp, VCD_SECTOR_OFFS) != VCD_SECTOR_OFFS) {
-    mp_msg(MSGT_OPEN,MSGL_ERR, "[bincue] couldn't skip %d bytes before payload\n", VCD_SECTOR_OFFS);
-    return 0;
-  }
-
   if(read(fd_bin, mem, VCD_SECTOR_DATA) != VCD_SECTOR_DATA) {
     mp_msg(MSGT_OPEN,MSGL_ERR, "[bincue] couldn't read %d bytes of payload\n", VCD_SECTOR_DATA);
     return 0;




More information about the MPlayer-cvslog mailing list