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;
int64_t *pi_64;
input_title_t ***ppp_title;
int i;
+ char *psz_title;
+ vlc_meta_t **pp_meta;
switch( i_query )
{
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;
{
/* 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;
}
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;