[vlc-commits] input: remove controls that depend on a variable
Thomas Guillem
git at videolan.org
Thu Jul 12 12:08:40 CEST 2018
vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Thu Jul 12 11:23:04 2018 +0200| [ac0aaab376a18883423d8a76b603459a35aef28a] | committer: Thomas Guillem
input: remove controls that depend on a variable
This commit is done to ease future the input controller/manager integration.
The goal is to remove all variables dependency of the input thread.
PS: Variable is still the mean way to control an input_thread for now.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ac0aaab376a18883423d8a76b603459a35aef28a
---
include/vlc_input.h | 44 ----------------
src/input/control.c | 144 +---------------------------------------------------
2 files changed, 1 insertion(+), 187 deletions(-)
diff --git a/include/vlc_input.h b/include/vlc_input.h
index 9ded0a16de..f863007271 100644
--- a/include/vlc_input.h
+++ b/include/vlc_input.h
@@ -393,31 +393,6 @@ typedef enum input_event_type_e
*/
enum input_query_e
{
- /* input variable "position" */
- INPUT_GET_POSITION, /* arg1= double * res= */
- INPUT_SET_POSITION, /* arg1= double res=can fail */
-
- /* input variable "length" */
- INPUT_GET_LENGTH, /* arg1= int64_t * res=can fail */
-
- /* input variable "time" */
- INPUT_GET_TIME, /* arg1= int64_t * res= */
- INPUT_SET_TIME, /* arg1= int64_t res=can fail */
-
- /* input variable "rate" (nominal is INPUT_RATE_DEFAULT) */
- INPUT_GET_RATE, /* arg1= int * res= */
- INPUT_SET_RATE, /* arg1= int res=can fail */
-
- /* input variable "state" */
- INPUT_GET_STATE, /* arg1= int * res= */
- INPUT_SET_STATE, /* arg1= int res=can fail */
-
- /* input variable "audio-delay" and "sub-delay" */
- INPUT_GET_AUDIO_DELAY, /* arg1 = vlc_tick_t* res=can fail */
- INPUT_SET_AUDIO_DELAY, /* arg1 = vlc_tick_t res=can fail */
- INPUT_GET_SPU_DELAY, /* arg1 = vlc_tick_t* res=can fail */
- INPUT_SET_SPU_DELAY, /* arg1 = vlc_tick_t res=can fail */
-
/* Menu (VCD/DVD/BD) Navigation */
/** Activate the navigation item selected. res=can fail */
INPUT_NAV_ACTIVATE,
@@ -450,12 +425,8 @@ enum input_query_e
INPUT_SET_BOOKMARK, /* arg1= int res=can fail */
/* titles */
- INPUT_GET_TITLE_INFO, /* arg1=input_title_t** arg2= int * res=can fail */
INPUT_GET_FULL_TITLE_INFO, /* arg1=input_title_t*** arg2= int * res=can fail */
- /* seekpoints */
- INPUT_GET_SEEKPOINTS, /* arg1=seekpoint_t*** arg2= int * res=can fail */
-
/* Attachments */
INPUT_GET_ATTACHMENTS, /* arg1=input_attachment_t***, arg2=int* res=can fail */
INPUT_GET_ATTACHMENT, /* arg1=input_attachment_t**, arg2=char* res=can fail */
@@ -465,10 +436,6 @@ enum input_query_e
* arg3= bool forced, arg4= bool notify,
* arg5= bool check_extension */
- /* On the fly record while playing */
- INPUT_SET_RECORD_STATE, /* arg1=bool res=can fail */
- INPUT_GET_RECORD_STATE, /* arg1=bool* res=can fail */
-
/* ES */
INPUT_RESTART_ES, /* arg1=int (-AUDIO/VIDEO/SPU_ES for the whole category) */
@@ -527,17 +494,6 @@ VLC_API void input_SetPosition( input_thread_t *, float f_position, bool b_fast
VLC_API input_item_t* input_GetItem( input_thread_t * ) VLC_USED;
/**
- * It will return the current state of the input.
- * Provided for convenience.
- */
-static inline input_state_e input_GetState( input_thread_t * p_input )
-{
- input_state_e state = INIT_S;
- input_Control( p_input, INPUT_GET_STATE, &state );
- return state;
-}
-
-/**
* Return one of the video output (if any). If possible, you should use
* INPUT_GET_VOUTS directly and process _all_ video outputs instead.
* @param p_input an input thread from which to get a video output
diff --git a/src/input/control.c b/src/input/control.c
index 133f76ebed..3e6fd4607b 100644
--- a/src/input/control.c
+++ b/src/input/control.c
@@ -68,77 +68,13 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
seekpoint_t *p_bkmk, ***ppp_bkmk;
int i_bkmk = 0;
int *pi_bkmk;
-
- int i_int, *pi_int;
- bool b_bool, *pb_bool;
- double f, *pf;
- int64_t i_64, *pi_64;
+ bool b_bool;
char *psz;
vlc_value_t val;
switch( i_query )
{
- case INPUT_GET_POSITION:
- pf = va_arg( args, double * );
- *pf = var_GetFloat( p_input, "position" );
- return VLC_SUCCESS;
-
- case INPUT_SET_POSITION:
- f = va_arg( args, double );
- return var_SetFloat( p_input, "position", f );
-
- case INPUT_GET_LENGTH:
- pi_64 = va_arg( args, int64_t * );
- *pi_64 = var_GetInteger( p_input, "length" );
- return VLC_SUCCESS;
-
- case INPUT_GET_TIME:
- pi_64 = va_arg( args, int64_t * );
- *pi_64 = var_GetInteger( p_input, "time" );
- return VLC_SUCCESS;
-
- case INPUT_SET_TIME:
- i_64 = va_arg( args, int64_t );
- return var_SetInteger( p_input, "time", i_64 );
-
- case INPUT_GET_RATE:
- pi_int = va_arg( args, int * );
- *pi_int = INPUT_RATE_DEFAULT / var_GetFloat( p_input, "rate" );
- return VLC_SUCCESS;
-
- case INPUT_SET_RATE:
- i_int = va_arg( args, int );
- return var_SetFloat( p_input, "rate",
- (float)INPUT_RATE_DEFAULT / (float)i_int );
-
- case INPUT_GET_STATE:
- pi_int = va_arg( args, int * );
- *pi_int = var_GetInteger( p_input, "state" );
- return VLC_SUCCESS;
-
- case INPUT_SET_STATE:
- i_int = va_arg( args, int );
- return var_SetInteger( p_input, "state", i_int );
-
- case INPUT_GET_AUDIO_DELAY:
- pi_64 = va_arg( args, vlc_tick_t * );
- *pi_64 = var_GetInteger( p_input, "audio-delay" );
- return VLC_SUCCESS;
-
- case INPUT_GET_SPU_DELAY:
- pi_64 = va_arg( args, vlc_tick_t * );
- *pi_64 = var_GetInteger( p_input, "spu-delay" );
- return VLC_SUCCESS;
-
- case INPUT_SET_AUDIO_DELAY:
- i_64 = va_arg( args, vlc_tick_t );
- return var_SetInteger( p_input, "audio-delay", i_64 );
-
- case INPUT_SET_SPU_DELAY:
- i_64 = va_arg( args, vlc_tick_t );
- return var_SetInteger( p_input, "spu-delay", i_64 );
-
case INPUT_NAV_ACTIVATE:
case INPUT_NAV_UP:
case INPUT_NAV_DOWN:
@@ -317,30 +253,6 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
vlc_mutex_unlock( &priv->p_item->lock );
return VLC_SUCCESS;
- case INPUT_GET_TITLE_INFO:
- {
- input_title_t **p_title = va_arg( args, input_title_t ** );
- int *pi_req_title_offset = va_arg( args, int * );
-
- vlc_mutex_lock( &priv->p_item->lock );
-
- int i_current_title = var_GetInteger( p_input, "title" );
- if ( *pi_req_title_offset < 0 ) /* return current title if -1 */
- *pi_req_title_offset = i_current_title;
-
- if( priv->i_title && priv->i_title > *pi_req_title_offset )
- {
- *p_title = vlc_input_title_Duplicate( priv->title[*pi_req_title_offset] );
- vlc_mutex_unlock( &priv->p_item->lock );
- return VLC_SUCCESS;
- }
- else
- {
- vlc_mutex_unlock( &priv->p_item->lock );
- return VLC_EGENERIC;
- }
- }
-
case INPUT_GET_FULL_TITLE_INFO:
{
vlc_mutex_lock( &priv->p_item->lock );
@@ -363,50 +275,6 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
return VLC_SUCCESS;
}
- case INPUT_GET_SEEKPOINTS:
- {
- seekpoint_t ***array = va_arg( args, seekpoint_t *** );
- int *pi_title_to_fetch = va_arg( args, int * );
-
- vlc_mutex_lock( &priv->p_item->lock );
-
- if ( *pi_title_to_fetch < 0 ) /* query current title if -1 */
- *pi_title_to_fetch = var_GetInteger( p_input, "title" );
-
- if( priv->i_title == 0 || priv->i_title <= *pi_title_to_fetch )
- {
- vlc_mutex_unlock( &priv->p_item->lock );
- return VLC_EGENERIC;
- }
-
- const input_title_t *p_title = priv->title[*pi_title_to_fetch];
-
- /* set arg2 to the number of seekpoints we found */
- const int i_chapters = p_title->i_seekpoint;
- *pi_title_to_fetch = i_chapters;
-
- if ( i_chapters == 0 )
- {
- vlc_mutex_unlock( &priv->p_item->lock );
- return VLC_SUCCESS;
- }
-
- *array = calloc( p_title->i_seekpoint, sizeof(**array) );
- if( unlikely(*array == NULL) )
- {
- vlc_mutex_unlock( &priv->p_item->lock );
- return VLC_ENOMEM;
- }
- for( int i = 0; i < i_chapters; i++ )
- {
- (*array)[i] = vlc_seekpoint_Duplicate( p_title->seekpoint[i] );
- }
-
- vlc_mutex_unlock( &priv->p_item->lock );
-
- return VLC_SUCCESS;
- }
-
case INPUT_ADD_SLAVE:
{
enum slave_type type = (enum slave_type) va_arg( args, enum slave_type );
@@ -493,16 +361,6 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
return VLC_EGENERIC;
}
- case INPUT_SET_RECORD_STATE:
- b_bool = va_arg( args, int );
- var_SetBool( p_input, "record", b_bool );
- return VLC_SUCCESS;
-
- case INPUT_GET_RECORD_STATE:
- pb_bool = va_arg( args, bool* );
- *pb_bool = var_GetBool( p_input, "record" );
- return VLC_SUCCESS;
-
case INPUT_RESTART_ES:
val.i_int = va_arg( args, int );
input_ControlPushHelper( p_input, INPUT_CONTROL_RESTART_ES, &val );
More information about the vlc-commits
mailing list