Trigger( p_input, INPUT_EVENT_ABORT );
}
-void input_SendEventTimes( input_thread_t *p_input,
- double f_position, mtime_t i_time, mtime_t i_length )
+void input_SendEventPosition( input_thread_t *p_input, double f_position, mtime_t i_time )
{
vlc_value_t val;
val.i_time = i_time;
var_Change( p_input, "time", VLC_VAR_SETVALUE, &val, NULL );
+ Trigger( p_input, INPUT_EVENT_POSITION );
+}
+void input_SendEventLength( input_thread_t *p_input, mtime_t i_length )
+{
+ vlc_value_t val;
+
/* FIXME ugly + what about meta change event ? */
- if( var_GetTime( p_input, "length" ) != i_length )
- input_item_SetDuration( p_input->p->p_item, i_length );
+ if( var_GetTime( p_input, "length" ) == i_length )
+ return;
+
+ 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 );
+ Trigger( p_input, INPUT_EVENT_LENGTH );
}
void input_SendEventStatistics( input_thread_t *p_input )
{
}
void input_SendEventRate( input_thread_t *p_input, int i_rate )
{
- vlc_value_t val;
+ vlc_value_t val;
- val.i_int = i_rate;
- var_Change( p_input, "rate", VLC_VAR_SETVALUE, &val, NULL );
+ val.f_float = (float)INPUT_RATE_DEFAULT / (float)i_rate;
+ var_Change( p_input, "rate", VLC_VAR_SETVALUE, &val, NULL );
Trigger( p_input, INPUT_EVENT_RATE );
}
{
vlc_value_t val;
- VLC_UNUSED( i_title );
+ /* "chapter" */
val.i_int = i_seekpoint;
var_Change( p_input, "chapter", VLC_VAR_SETVALUE, &val, NULL );
+ /* "title %2i" */
+ char psz_title[10];
+ snprintf( psz_title, sizeof(psz_title), "title %2i", i_title );
+ var_Change( p_input, psz_title, VLC_VAR_SETVALUE, &val, NULL );
+
+ /* */
Trigger( p_input, INPUT_EVENT_CHAPTER );
}