p_sys->psz_icy_title = EnsureUTF8( psz_tmp );
if( !p_sys->psz_icy_title )
free( psz_tmp );
- p_access->info.i_update |= INPUT_UPDATE_META;
+ //p_access->info.i_update |= INPUT_UPDATE_META; FIXME
msg_Dbg( p_access, "New Title=%s", p_sys->psz_icy_title );
}
}
return VLC_EGENERIC;
+ case DEMUX_GET_META:
+ return stream_Control( s, STREAM_GET_META, args );
+
case DEMUX_GET_PTS_DELAY:
case DEMUX_GET_FPS:
- case DEMUX_GET_META:
case DEMUX_HAS_UNSUPPORTED_META:
case DEMUX_SET_NEXT_DEMUX_TIME:
case DEMUX_GET_TITLE_INFO:
static bool Control( input_thread_t *, int, vlc_value_t );
static int UpdateTitleSeekpointFromAccess( input_thread_t * );
-static void UpdateGenericFromAccess( input_thread_t * );
static int UpdateTitleSeekpointFromDemux( input_thread_t * );
static void UpdateGenericFromDemux( input_thread_t * );
i_ret = UpdateTitleSeekpointFromAccess( p_input );
*pb_changed = true;
}
- UpdateGenericFromAccess( p_input );
}
}
p_meta = vlc_meta_New();
if( p_meta )
{
- if( slave->p_stream != NULL )
- stream_Control( slave->p_stream,
- STREAM_GET_META, p_meta );
demux_Control( slave->p_demux, DEMUX_GET_META, p_meta );
InputUpdateMeta( p_input, p_meta );
}
p_access->info.i_seekpoint );
return 1;
}
-static void UpdateGenericFromAccess( input_thread_t *p_input )
-{
- stream_t *p_stream = p_input->p->input.p_stream;
- access_t *p_access = p_input->p->input.p_access;
-
- if( p_access->info.i_update & INPUT_UPDATE_META )
- {
- /* TODO maybe multi - access ? */
- vlc_meta_t *p_meta = vlc_meta_New();
- if( p_meta )
- {
- stream_Control( p_stream, STREAM_GET_META, p_meta );
- InputUpdateMeta( p_input, p_meta );
- }
- p_access->info.i_update &= ~INPUT_UPDATE_META;
- }
-}
/*****************************************************************************
* InputSourceNew:
bool has_meta = false;
- /* Read access meta */
- if( p_stream != NULL
- && !stream_Control( p_stream, STREAM_GET_META, p_meta ) )
- has_meta = true;
-
/* Read demux meta */
if( !demux_Control( p_demux, DEMUX_GET_META, p_meta ) )
has_meta = true;