]> git.sesse.net Git - vlc/blobdiff - modules/access/cdda/info.c
Copyright fixes
[vlc] / modules / access / cdda / info.c
index 054a66ae475b6c2612ecd9cc6dcfb3857492eed2..46621a2812446c43584ec56a5ea0d34b1462a414 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * info.c : CD digital audio input information routines
  *****************************************************************************
- * Copyright (C) 2004 VideoLAN
+ * Copyright (C) 2004, 2005 VideoLAN (Centrale Réseaux) and its contributors
  * $Id: info.c 8845 2004-09-29 09:00:41Z rocky $
  *
  * Authors: Rocky Bernstein <rocky@panix.com>
@@ -230,6 +230,9 @@ CDDAMetaInfoInit( access_t *p_access )
     
     if ( ! p_cdda ) return;
 
+    dbg_print( (INPUT_DBG_CALL), "p_cdda->i_tracks %d", 
+              p_cdda->i_tracks );
+
     p_cdda->psz_mcn = cdio_get_mcn(p_cdda->p_cdio);
     p_cdda->p_meta = vlc_meta_New();
 
@@ -269,6 +272,8 @@ CDDAMetaInfo( access_t *p_access, track_t i_track )
     
     if ( ! p_cdda ) return;
 
+    dbg_print( (INPUT_DBG_CALL), "i_track %d", i_track );
+
 #ifdef HAVE_LIBCDDB
 
     /* Set up for Meta and name for CDDB access. */
@@ -941,6 +946,9 @@ CDDAFixupPlaylist( access_t *p_access, cdda_data_t *p_cdda,
 
     if (p_playlist) {
 
+      p_item = playlist_LockItemGetByInput( p_playlist,
+                        ((input_thread_t *)p_access->p_parent)->input.p_item );
+
       if( p_item == p_playlist->status.p_item && !b_single_track )
        {
          b_play = VLC_TRUE;
@@ -984,7 +992,6 @@ CDDAFixupPlaylist( access_t *p_access, cdda_data_t *p_cdda,
     {
        input_title_t *t;
 
-
        if ( !p_cdda->b_nav_mode )
          playlist_ItemToNode( p_playlist, p_item );
 
@@ -1028,9 +1035,9 @@ CDDAFixupPlaylist( access_t *p_access, cdda_data_t *p_cdda,
         playlist_Control( p_playlist, PLAYLIST_VIEWPLAY,
                           p_playlist->status.i_view,
                           p_playlist->status.p_item, NULL );
-       vlc_object_release( p_playlist );
     }
 
+    if (p_playlist) vlc_object_release( p_playlist );
     return VLC_SUCCESS;
 }