vlc_value_t oldval, vlc_value_t newval, void * );
static int ESCallback ( vlc_object_t *p_this, char const *psz_cmd,
vlc_value_t oldval, vlc_value_t newval, void * );
+static int EsDelayCallback ( vlc_object_t *p_this, char const *psz_cmd,
+ vlc_value_t oldval, vlc_value_t newval, void * );
+
static int BookmarkCallback( vlc_object_t *p_this, char const *psz_cmd,
vlc_value_t oldval, vlc_value_t newval, void * );
text.psz_string = _("Navigation");
var_Change( p_input, "navigation", VLC_VAR_SETTEXT, &text, NULL );
+ /* Delay */
+ var_Create( p_input, "audio-delay", VLC_VAR_TIME );
+ val.i_time = 0;
+ var_Change( p_input, "audio-delay", VLC_VAR_SETVALUE, &val, NULL );
+ var_AddCallback( p_input, "audio-delay", EsDelayCallback, NULL );
+ var_Create( p_input, "spu-delay", VLC_VAR_TIME );
+ val.i_time = 0;
+ var_Change( p_input, "spu-delay", VLC_VAR_SETVALUE, &val, NULL );
+ var_AddCallback( p_input, "spu-delay", EsDelayCallback, NULL );
+
+
/* Video ES */
var_Create( p_input, "video-es", VLC_VAR_INTEGER | VLC_VAR_HASCHOICE );
text.psz_string = _("Video Track");
var_Destroy( p_input, "time" );
var_Destroy( p_input, "time-offset" );
+ var_Destroy( p_input, "audio-delay" );
+ var_Destroy( p_input, "spu-delay" );
+
var_Destroy( p_input, "bookmark" );
var_Destroy( p_input, "program" );
var_Create( p_input, "audio-desync", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
var_Create( p_input, "cr-average", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
+
+ var_Create( p_input, "seekable", VLC_VAR_BOOL );
+ val.b_bool = VLC_TRUE; /* Fixed later*/
+ var_Change( p_input, "seekable", VLC_VAR_SETVALUE, &val, NULL );
+
}
/*****************************************************************************
return VLC_SUCCESS;
}
+static int EsDelayCallback ( vlc_object_t *p_this, char const *psz_cmd,
+ vlc_value_t oldval, vlc_value_t newval, void *p )
+{
+ input_thread_t *p_input = (input_thread_t*)p_this;
+
+ if( !strcmp( psz_cmd, "audio-delay" ) )
+ input_ControlPush( p_input, INPUT_CONTROL_SET_AUDIO_DELAY, &newval );
+ else if( !strcmp( psz_cmd, "spu-delay" ) )
+ input_ControlPush( p_input, INPUT_CONTROL_SET_SPU_DELAY, &newval );
+ return VLC_SUCCESS;
+}
+
static int BookmarkCallback( vlc_object_t *p_this, char const *psz_cmd,
vlc_value_t oldval, vlc_value_t newval, void *p_data )
{