static int RecordCallback( vlc_object_t *p_this, char const *psz_cmd,
vlc_value_t oldval, vlc_value_t newval,
void *p_data );
+static int FrameNextCallback( vlc_object_t *p_this, char const *psz_cmd,
+ vlc_value_t oldval, vlc_value_t newval,
+ void *p_data );
typedef struct
{
CALLBACK( "audio-es", ESCallback ),
CALLBACK( "spu-es", ESCallback ),
CALLBACK( "record", RecordCallback ),
+ CALLBACK( "frame-next", FrameNextCallback ),
CALLBACK( NULL, NULL )
};
var_Create( p_input, "rate-faster", VLC_VAR_VOID );
+ var_Create( p_input, "frame-next", VLC_VAR_VOID );
+
/* Position */
var_Create( p_input, "position", VLC_VAR_FLOAT );
var_Create( p_input, "position-offset", VLC_VAR_FLOAT );
/* Delay */
var_Create( p_input, "audio-delay", VLC_VAR_TIME );
- val.i_time = 0;
+ val.i_time = INT64_C(1000) * var_GetInteger( p_input, "audio-desync" );
var_Change( p_input, "audio-delay", VLC_VAR_SETVALUE, &val, NULL );
var_Create( p_input, "spu-delay", VLC_VAR_TIME );
val.i_time = 0;
*
* Add rate-change to inform about rate changin
*
+ * stats-change to inform when statistics are computed
+ *
* TODO list all changes warn by this callbacks */
var_Create( p_input, "intf-change", VLC_VAR_BOOL );
var_SetBool( p_input, "intf-change", true );
var_Create( p_input, "rate-change", VLC_VAR_BOOL );
var_SetBool( p_input, "rate-change", true );
+ var_Create( p_input, "stats-change", VLC_VAR_BOOL );
+ var_SetBool( p_input, "stats-change", true );
var_Create( p_input, "intf-change-vout", VLC_VAR_BOOL );
var_SetBool( p_input, "intf-change-vout", true );
var_Create( p_input, "input-slave",
VLC_VAR_STRING | VLC_VAR_DOINHERIT );
- var_Create( p_input, "minimize-threads",
- VLC_VAR_BOOL|VLC_VAR_DOINHERIT );
-
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, "clock-synchro",
VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
- var_Create( p_input, "auto-adjust-pts-delay",
- VLC_VAR_BOOL | VLC_VAR_DOINHERIT);
}
var_Create( p_input, "seekable", VLC_VAR_BOOL );
if( !strcmp( psz_cmd, "audio-delay" ) )
{
- /*Change i_pts_delay to make sure es are decoded in time*/
- if (newval.i_int < 0 || oldval.i_int < 0 )
+ /* Change i_pts_delay to make sure es are decoded in time */
+ if( newval.i_int < 0 || oldval.i_int < 0 )
{
p_input->i_pts_delay -= newval.i_int - oldval.i_int;
}
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;
}
return VLC_SUCCESS;
}
+static int FrameNextCallback( vlc_object_t *p_this, char const *psz_cmd,
+ vlc_value_t oldval, vlc_value_t newval,
+ void *p_data )
+{
+ input_thread_t *p_input = (input_thread_t*)p_this;
+ VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval); VLC_UNUSED(p_data);
+ VLC_UNUSED(newval);
+
+ input_ControlPush( p_input, INPUT_CONTROL_SET_FRAME_NEXT, NULL );
+
+ return VLC_SUCCESS;
+}
+