#include <vlc_input.h>
#include "input_internal.h"
#include "event.h"
+#include <assert.h>
static void Trigger( input_thread_t *p_input, int i_type );
/*****************************************************************************
* Event for input.c
*****************************************************************************/
-void input_SendEventTimes( input_thread_t *p_input, const input_event_times_t *p_times )
+void input_SendEventDead( input_thread_t *p_input )
+{
+ p_input->b_dead = true;
+
+ Trigger( p_input, INPUT_EVENT_DEAD );
+}
+
+void input_SendEventTimes( input_thread_t *p_input,
+ double f_position, mtime_t i_time, mtime_t i_length )
{
vlc_value_t val;
/* */
- val.f_float = p_times->f_position;
+ val.f_float = f_position;
var_Change( p_input, "position", VLC_VAR_SETVALUE, &val, NULL );
/* */
- val.i_time = p_times->i_time;
+ val.i_time = i_time;
var_Change( p_input, "time", VLC_VAR_SETVALUE, &val, NULL );
/* FIXME ugly + what about meta change event ? */
- if( var_GetTime( p_input, "length" ) != p_times->i_length )
- input_item_SetDuration( p_input->p->input.p_item, p_times->i_length );
- val.i_time = p_times->i_length;
+ if( var_GetTime( p_input, "length" ) != i_length )
+ input_item_SetDuration( p_input->p->p_item, i_length );
+ val.i_time = i_length;
var_Change( p_input, "length", VLC_VAR_SETVALUE, &val, NULL );
Trigger( p_input, INPUT_EVENT_TIMES );
var_Change( p_input, "state", VLC_VAR_SETVALUE, &val, NULL );
Trigger( p_input, INPUT_EVENT_STATE );
+}
- /* FIXME remove this ugliness */
- vlc_event_t event;
+void input_SendEventCache( input_thread_t *p_input, double f_level )
+{
+ vlc_value_t val;
- event.type = vlc_InputStateChanged;
- event.u.input_state_changed.new_state = i_state;
- vlc_event_send( &p_input->p->event_manager, &event );
+ val.f_float = f_level;
+ var_Change( p_input, "cache", VLC_VAR_SETVALUE, &val, NULL );
+
+ Trigger( p_input, INPUT_EVENT_CACHE );
}
/* FIXME: review them because vlc_event_send might be
event.type = vlc_InputItemMetaChanged;
event.u.input_item_meta_changed.meta_type = vlc_meta_ArtworkURL;
- vlc_event_send( &p_input->p->input.p_item->event_manager, &event );
+ vlc_event_send( &p_input->p->p_item->event_manager, &event );
}
void input_SendEventMetaInfo( input_thread_t *p_input )
vlc_event_t event;
event.type = vlc_InputItemInfoChanged;
- vlc_event_send( &p_input->p->input.p_item->event_manager, &event );
+ vlc_event_send( &p_input->p->p_item->event_manager, &event );
}
void input_SendEventMetaName( input_thread_t *p_input, const char *psz_name )
event.type = vlc_InputItemNameChanged;
event.u.input_item_name_changed.new_name = psz_name;
- vlc_event_send( &p_input->p->input.p_item->event_manager, &event );
+ vlc_event_send( &p_input->p->p_item->event_manager, &event );
}
/*****************************************************************************
{
vlc_value_t val;
+ if( i_cat == UNKNOWN_ES )
+ return;
+
if( i_id >= 0 )
{
val.i_int = i_id;
vlc_value_t val;
vlc_value_t text;
+ if( i_cat == UNKNOWN_ES )
+ return;
+
val.i_int = i_id;
text.psz_string = (char*)psz_text;
{
vlc_value_t val;
+ if( i_cat == UNKNOWN_ES )
+ return;
+
val.i_int = i_id;
var_Change( p_input, GetEsVarName( i_cat ), VLC_VAR_SETVALUE, &val, NULL );
Trigger( p_input, INPUT_EVENT_ES );
+}
- /* FIXME to remove this ugliness */
- vlc_event_t event;
- event.type = vlc_InputSelectedStreamChanged;
- vlc_event_send( &p_input->p->event_manager, &event );
+void input_SendEventTeletext( input_thread_t *p_input, int i_id )
+{
+ vlc_value_t val;
+
+ val.i_int = i_id;
+ var_Change( p_input, "teletext-es", VLC_VAR_SETVALUE, &val, NULL );
+
+ Trigger( p_input, INPUT_EVENT_TELETEXT );
}
void input_SendEventVout( input_thread_t *p_input )
Trigger( p_input, INPUT_EVENT_VOUT );
}
+void input_SendEventAout( input_thread_t *p_input )
+{
+ Trigger( p_input, INPUT_EVENT_AOUT );
+}
+
+/*****************************************************************************
+ * Event for control.c/input.c
+ *****************************************************************************/
+void input_SendEventBookmark( input_thread_t *p_input )
+{
+ Trigger( p_input, INPUT_EVENT_BOOKMARK );
+}
+
/*****************************************************************************
*
*****************************************************************************/