Give a fine name when playing audio CD

This commit is contained in:
Clément Stenac 2005-04-23 12:33:13 +00:00
parent 1c80c50cf1
commit dd2aecaeef
1 changed files with 16 additions and 2 deletions

View File

@ -189,6 +189,8 @@ static int Open( vlc_object_t *p_this )
p_sys->waveheader.DataChunkID = VLC_FOURCC('d', 'a', 't', 'a');
p_sys->waveheader.DataLength = 0; /* we just don't know */
p_access->info.i_update |= INPUT_UPDATE_META;
/* PTS delay */
var_Create( p_access, "cdda-caching", VLC_VAR_INTEGER|VLC_VAR_DOINHERIT );
return VLC_SUCCESS;
@ -314,6 +316,8 @@ static int Control( access_t *p_access, int i_query, va_list args )
int64_t *pi_64;
input_title_t ***ppp_title;
int i;
char *psz_title;
vlc_meta_t **pp_meta;
switch( i_query )
{
@ -344,7 +348,7 @@ static int Control( access_t *p_access, int i_query, va_list args )
case ACCESS_GET_TITLE_INFO:
ppp_title = (input_title_t***)va_arg( args, input_title_t*** );
pi_int = (int*)va_arg( args, int* );
*((int*)va_arg( args, int* )) = 1; /* Title offset */
*((int*)va_arg( args, int* )) = 1; /* Title offset */
/* Duplicate title infos */
*pi_int = p_sys->i_titles;
@ -361,7 +365,7 @@ static int Control( access_t *p_access, int i_query, va_list args )
{
/* Update info */
p_access->info.i_update |=
INPUT_UPDATE_TITLE|INPUT_UPDATE_SIZE;
INPUT_UPDATE_TITLE|INPUT_UPDATE_SIZE|INPUT_UPDATE_META;
p_access->info.i_title = i;
p_access->info.i_size = p_sys->title[i]->i_size;
p_access->info.i_pos = 0;
@ -371,6 +375,16 @@ static int Control( access_t *p_access, int i_query, va_list args )
}
break;
case ACCESS_GET_META:
psz_title = malloc( strlen( _("Audio CD - Track ") ) + 5 );
snprintf( psz_title, 100, _("Audio CD - Track %i" ),
p_access->info.i_title+1 );
pp_meta = (vlc_meta_t**)va_arg( args, vlc_meta_t** );
*pp_meta = vlc_meta_New();
vlc_meta_Add( *pp_meta, VLC_META_TITLE, psz_title );
free( psz_title );
break;
case ACCESS_SET_SEEKPOINT:
case ACCESS_SET_PRIVATE_ID_STATE:
return VLC_EGENERIC;