-
-
-
-
-static int GetTracks( access_t *p_access, vlc_bool_t b_separate )
-{
- p_sys->i_titles = ioctl_GetTracksMap( VLC_OBJECT(p_access),
- p_sys->vcddev, &p_sys->p_sectors );
- if( p_sys->i_titles < 0 )
- {
- msg_Err( p_access, "unable to count tracks" );
- return VLC_EGENERIC;;
- }
- else if( p_sys->i_titles <= 0 )
- {
- msg_Err( p_access, "no audio tracks found" );
- return VLC_EGENERIC;
- }
-
- /* Build title table */
- for( i = 0; i < p_sys->i_titles; i++ )
- {
- if( !b_separate )
- {
- input_title_t *t = p_sys->title[i] = vlc_input_title_New();
-
- msg_Dbg( p_access, "title[%d] start=%d", i, p_sys->p_sectors[i] );
- msg_Dbg( p_access, "title[%d] end=%d", i, p_sys->p_sectors[i+1] );
-
- asprintf( &t->psz_name, _("Track %i"), i + 1 );
- t->i_size = ( p_sys->p_sectors[i+1] - p_sys->p_sectors[i] ) *
- (int64_t)CDDA_DATA_SIZE;
-
- t->i_length = I64C(1000000) * t->i_size / 44100 / 4;
- }
- else
- {
- /* Create playlist items */
- }
- }
-
- p_sys->i_sector = p_sys->p_sectors[0];
-
- return VLC_SUCCESS;
-}