]> git.sesse.net Git - vlc/commitdiff
Forgot that the lsn internal structure is 0-origin.
authorRocky Bernstein <rocky@videolan.org>
Wed, 8 Dec 2004 12:44:09 +0000 (12:44 +0000)
committerRocky Bernstein <rocky@videolan.org>
Wed, 8 Dec 2004 12:44:09 +0000 (12:44 +0000)
Better really would be to remove lsn altogether from cdda_data_t.

modules/access/cdda/access.c
modules/access/cdda/info.c

index 2b053ca4142dfbc39d86d7d6d917105703535f28..d11c186fd70ace5e635ed17cfea01836d81aa96b 100644 (file)
@@ -579,9 +579,11 @@ static int CDDAControl( access_t *p_access, int i_query, va_list args )
 
             for( i = 0; i < p_cdda->i_titles; i++ )
             {
-                if ( p_cdda->p_title[i] )
+             if ( p_cdda->p_title[i] ) {
                    (*ppp_title)[i] =
-                          vlc_input_title_Duplicate( p_cdda->p_title[i] );
+                    vlc_input_title_Duplicate( p_cdda->p_title[i] );
+             }
+             
             }
             break;
         }
index 1b2430a2e82487d03c619da9ba1db50c07ff8521..05949b6077c483fafd5b9d2579d2531a161c5b89 100644 (file)
@@ -892,8 +892,9 @@ CDDAFixupPlaylist( access_t *p_access, cdda_data_t *p_cdda,
 
         p_cdda->i_titles = 1;
         p_access->info.i_size =
-         (p_cdda->lsn[p_cdda->i_track]
-          - p_cdda->lsn[i_first_track+1]) * (int64_t) CDIO_CD_FRAMESIZE_RAW;
+         (p_cdda->lsn[p_cdda->i_track-1]
+          - p_cdda->lsn[i_first_track]) * (int64_t) CDIO_CD_FRAMESIZE_RAW;
+       p_access->info.i_update |= INPUT_UPDATE_TITLE|INPUT_UPDATE_SIZE;
        p_item->input.i_duration = 
          (p_cdda->lsn[p_cdda->i_track]
           - p_cdda->lsn[i_first_track+1]) / CDIO_CD_FRAMES_PER_SEC;
@@ -921,12 +922,13 @@ CDDAFixupPlaylist( access_t *p_access, cdda_data_t *p_cdda,
                                i_track, VLC_TRUE );
         }
         p_cdda->i_titles = p_cdda->i_tracks; /* should be +1 */
-        p_access->info.i_size =
-         (p_cdda->lsn[i_first_track + p_cdda->i_tracks]
-          - p_cdda->lsn[i_first_track]) * (int64_t) CDIO_CD_FRAMESIZE_RAW;
+        p_access->info.i_size = 
+         (p_cdda->lsn[p_cdda->i_tracks] 
+          - p_cdda->lsn[0]) * (int64_t) CDIO_CD_FRAMESIZE_RAW;
+       p_access->info.i_update |= INPUT_UPDATE_TITLE|INPUT_UPDATE_SIZE;
        p_item->input.i_duration = 
-         (p_cdda->lsn[i_first_track + p_cdda->i_tracks]
-          - p_cdda->lsn[i_first_track]) / CDIO_CD_FRAMES_PER_SEC;
+         (p_cdda->lsn[p_cdda->i_tracks] 
+          - p_cdda->lsn[0]) / CDIO_CD_FRAMES_PER_SEC;
     }
 
     if( b_play )