vlc | branch: master | Thomas Guillem <[email protected]> | Fri May 10 15:20:48 2019 +0200| [737e7db0a04e9d113f88d54f837e2d9c1117fa33] | committer: Thomas Guillem
input: remove bookmark handling It is unusable now, since there is no player API for it. It need to be handled by the media library module. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=737e7db0a04e9d113f88d54f837e2d9c1117fa33 --- include/vlc_input.h | 9 ---- src/input/control.c | 123 --------------------------------------------- src/input/input.c | 90 +-------------------------------- src/input/input_internal.h | 5 -- 4 files changed, 1 insertion(+), 226 deletions(-) diff --git a/include/vlc_input.h b/include/vlc_input.h index 7d417b5388..4da5d09c6f 100644 --- a/include/vlc_input.h +++ b/include/vlc_input.h @@ -552,15 +552,6 @@ enum input_query_e /** Activate disc Root Menu. res=can fail */ INPUT_NAV_MENU, - /* bookmarks */ - INPUT_GET_BOOKMARK, /* arg1= seekpoint_t * res=can fail */ - INPUT_GET_BOOKMARKS, /* arg1= seekpoint_t *** arg2= int * res=can fail */ - INPUT_CLEAR_BOOKMARKS, /* res=can fail */ - INPUT_ADD_BOOKMARK, /* arg1= seekpoint_t * res=can fail */ - INPUT_CHANGE_BOOKMARK, /* arg1= seekpoint_t * arg2= int * res=can fail */ - INPUT_DEL_BOOKMARK, /* arg1= seekpoint_t * res=can fail */ - INPUT_SET_BOOKMARK, /* arg1= int res=can fail */ - /* On the fly input slave */ INPUT_ADD_SLAVE, /* arg1= enum slave_type, arg2= const char *, * arg3= bool forced, arg4= bool notify, diff --git a/src/input/control.c b/src/input/control.c index e3401044a9..14d871072d 100644 --- a/src/input/control.c +++ b/src/input/control.c @@ -81,129 +81,6 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args ) + INPUT_CONTROL_NAV_ACTIVATE, NULL ); return VLC_SUCCESS; - case INPUT_ADD_BOOKMARK: - p_bkmk = va_arg( args, seekpoint_t * ); - p_bkmk = vlc_seekpoint_Duplicate( p_bkmk ); - - vlc_mutex_lock( &priv->p_item->lock ); - if( !p_bkmk->psz_name ) - { - if( asprintf( &p_bkmk->psz_name, _("Bookmark %i"), - priv->i_bookmark ) == -1 ) - p_bkmk->psz_name = NULL; - } - - if( p_bkmk->psz_name ) - TAB_APPEND( priv->i_bookmark, priv->pp_bookmark, p_bkmk ); - else - { - vlc_seekpoint_Delete( p_bkmk ); - p_bkmk = NULL; - } - vlc_mutex_unlock( &priv->p_item->lock ); - - input_SendEventBookmark( p_input ); - - return p_bkmk ? VLC_SUCCESS : VLC_EGENERIC; - - case INPUT_CHANGE_BOOKMARK: - p_bkmk = va_arg( args, seekpoint_t * ); - i_bkmk = va_arg( args, int ); - - vlc_mutex_lock( &priv->p_item->lock ); - if( i_bkmk < priv->i_bookmark ) - { - p_bkmk = vlc_seekpoint_Duplicate( p_bkmk ); - if( p_bkmk ) - { - vlc_seekpoint_Delete( priv->pp_bookmark[i_bkmk] ); - priv->pp_bookmark[i_bkmk] = p_bkmk; - } - } - else p_bkmk = NULL; - vlc_mutex_unlock( &priv->p_item->lock ); - - input_SendEventBookmark( p_input ); - - return p_bkmk ? VLC_SUCCESS : VLC_EGENERIC; - - case INPUT_DEL_BOOKMARK: - i_bkmk = va_arg( args, int ); - - vlc_mutex_lock( &priv->p_item->lock ); - if( i_bkmk < priv->i_bookmark ) - { - p_bkmk = priv->pp_bookmark[i_bkmk]; - TAB_REMOVE( priv->i_bookmark, priv->pp_bookmark, p_bkmk ); - vlc_seekpoint_Delete( p_bkmk ); - - vlc_mutex_unlock( &priv->p_item->lock ); - - input_SendEventBookmark( p_input ); - - return VLC_SUCCESS; - } - vlc_mutex_unlock( &priv->p_item->lock ); - - return VLC_EGENERIC; - - case INPUT_GET_BOOKMARKS: - ppp_bkmk = va_arg( args, seekpoint_t *** ); - pi_bkmk = va_arg( args, int * ); - - vlc_mutex_lock( &priv->p_item->lock ); - if( priv->i_bookmark ) - { - int i; - - *pi_bkmk = priv->i_bookmark; - *ppp_bkmk = vlc_alloc( priv->i_bookmark, sizeof(seekpoint_t *) ); - for( i = 0; i < priv->i_bookmark; i++ ) - { - (*ppp_bkmk)[i] = - vlc_seekpoint_Duplicate( input_priv(p_input)->pp_bookmark[i] ); - } - - vlc_mutex_unlock( &priv->p_item->lock ); - return VLC_SUCCESS; - } - else - { - *ppp_bkmk = NULL; - *pi_bkmk = 0; - - vlc_mutex_unlock( &priv->p_item->lock ); - return VLC_EGENERIC; - } - break; - - case INPUT_CLEAR_BOOKMARKS: - vlc_mutex_lock( &priv->p_item->lock ); - for( int i = 0; i < priv->i_bookmark; ++i ) - vlc_seekpoint_Delete( priv->pp_bookmark[i] ); - - TAB_CLEAN( priv->i_bookmark, priv->pp_bookmark ); - vlc_mutex_unlock( &priv->p_item->lock ); - - input_SendEventBookmark( p_input ); - return VLC_SUCCESS; - - case INPUT_SET_BOOKMARK: - i_bkmk = va_arg( args, int ); - - val.i_int = i_bkmk; - input_ControlPushHelper( p_input, INPUT_CONTROL_SET_BOOKMARK, &val ); - - return VLC_SUCCESS; - - case INPUT_GET_BOOKMARK: - p_bkmk = va_arg( args, seekpoint_t * ); - - vlc_mutex_lock( &priv->p_item->lock ); - *p_bkmk = priv->bookmark; - vlc_mutex_unlock( &priv->p_item->lock ); - return VLC_SUCCESS; - case INPUT_ADD_SLAVE: { enum slave_type type = va_arg( args, enum slave_type ); diff --git a/src/input/input.c b/src/input/input.c index 6759b72f73..4aa89c8091 100644 --- a/src/input/input.c +++ b/src/input/input.c @@ -330,8 +330,6 @@ static input_thread_t *Create( vlc_object_t *p_parent, priv->is_stopped = false; priv->b_recording = false; priv->rate = 1.f; - memset( &priv->bookmark, 0, sizeof(priv->bookmark) ); - TAB_INIT( priv->i_bookmark, priv->pp_bookmark ); TAB_INIT( priv->i_attachment, priv->attachment ); priv->attachment_demux = NULL; priv->p_sout = NULL; @@ -426,58 +424,6 @@ static input_thread_t *Create( vlc_object_t *p_parent, VLC_TICK_FROM_MS( var_GetInteger( p_input, "audio-desync" ) ); priv->i_spu_delay = 0; - /* */ - if( !priv->b_preparsing ) - { - char *psz_bookmarks = var_GetNonEmptyString( p_input, "bookmarks" ); - if( psz_bookmarks ) - { - /* FIXME: have a common cfg parsing routine used by sout and others */ - char *psz_parser, *psz_start, *psz_end; - psz_parser = psz_bookmarks; - while( (psz_start = strchr( psz_parser, '{' ) ) ) - { - seekpoint_t *p_seekpoint; - char backup; - psz_start++; - psz_end = strchr( psz_start, '}' ); - if( !psz_end ) break; - psz_parser = psz_end + 1; - backup = *psz_parser; - *psz_parser = 0; - *psz_end = ','; - - p_seekpoint = vlc_seekpoint_New(); - - if( unlikely( p_seekpoint == NULL ) ) - break; - - while( (psz_end = strchr( psz_start, ',' ) ) ) - { - *psz_end = 0; - if( !strncmp( psz_start, "name=", 5 ) ) - { - free( p_seekpoint->psz_name ); - - p_seekpoint->psz_name = strdup(psz_start + 5); - } - else if( !strncmp( psz_start, "time=", 5 ) ) - { - p_seekpoint->i_time_offset = vlc_tick_from_sec(atof(psz_start + 5)); - } - psz_start = psz_end + 1; - } - msg_Dbg( p_input, "adding bookmark: %s, time=%"PRId64, - p_seekpoint->psz_name, - p_seekpoint->i_time_offset ); - input_Control( p_input, INPUT_ADD_BOOKMARK, p_seekpoint ); - vlc_seekpoint_Delete( p_seekpoint ); - *psz_parser = backup; - } - free( psz_bookmarks ); - } - } - /* Remove 'Now playing' info as it is probably outdated */ input_item_SetNowPlaying( p_item, NULL ); input_item_SetESNowPlaying( p_item, NULL ); @@ -737,9 +683,7 @@ static void MainLoopStatistics( input_thread_t *p_input ) if( priv->stats != NULL ) input_stats_Compute( priv->stats, &new_stats ); - /* update current bookmark */ vlc_mutex_lock( &priv->p_item->lock ); - priv->bookmark.i_time_offset = i_time; if( priv->stats != NULL ) *priv->p_item->p_stats = new_stats; vlc_mutex_unlock( &priv->p_item->lock ); @@ -1521,11 +1465,6 @@ static void End( input_thread_t * p_input ) priv->attachment_demux = NULL; } - /* clean bookmarks */ - for( int i = 0; i < priv->i_bookmark; ++i ) - vlc_seekpoint_Delete( priv->pp_bookmark[i] ); - TAB_CLEAN( priv->i_bookmark, priv->pp_bookmark ); - vlc_mutex_unlock( &input_priv(p_input)->p_item->lock ); /* */ @@ -1587,8 +1526,7 @@ static size_t ControlGetReducedIndexLocked( input_thread_t *p_input ) i_ct == INPUT_CONTROL_SET_TIME || i_ct == INPUT_CONTROL_SET_PROGRAM || i_ct == INPUT_CONTROL_SET_TITLE || - i_ct == INPUT_CONTROL_SET_SEEKPOINT || - i_ct == INPUT_CONTROL_SET_BOOKMARK ) ) + i_ct == INPUT_CONTROL_SET_SEEKPOINT ) ) { continue; } @@ -1671,7 +1609,6 @@ static bool ControlIsSeekRequest( int i_type ) case INPUT_CONTROL_SET_SEEKPOINT: case INPUT_CONTROL_SET_SEEKPOINT_NEXT: case INPUT_CONTROL_SET_SEEKPOINT_PREV: - case INPUT_CONTROL_SET_BOOKMARK: case INPUT_CONTROL_NAV_ACTIVATE: case INPUT_CONTROL_NAV_UP: case INPUT_CONTROL_NAV_DOWN: @@ -2317,31 +2254,6 @@ static bool Control( input_thread_t *p_input, b_force_update = true; break; - case INPUT_CONTROL_SET_BOOKMARK: - { - vlc_tick_t time_offset = -1; - int bookmark = param.val.i_int; - - vlc_mutex_lock( &priv->p_item->lock ); - if( bookmark >= 0 && bookmark < priv->i_bookmark ) - { - const seekpoint_t *p_bookmark = priv->pp_bookmark[bookmark]; - time_offset = p_bookmark->i_time_offset; - } - vlc_mutex_unlock( &priv->p_item->lock ); - - if( time_offset < 0 ) - { - msg_Err( p_input, "invalid bookmark %d", bookmark ); - break; - } - - b_force_update = - Control( p_input, INPUT_CONTROL_SET_TIME, - (input_control_param_t) { .time.i_val = time_offset, - .time.b_fast_seek = false } ); - break; - } case INPUT_CONTROL_SET_RENDERER: { #ifdef ENABLE_SOUT diff --git a/src/input/input_internal.h b/src/input/input_internal.h index cc70b44b6d..cde2f1fa58 100644 --- a/src/input/input_internal.h +++ b/src/input/input_internal.h @@ -156,11 +156,6 @@ typedef struct input_thread_private_t int i_title_offset; int i_seekpoint_offset; - /* User bookmarks FIXME won't be easy with multiples input */ - seekpoint_t bookmark; - int i_bookmark; - seekpoint_t **pp_bookmark; - /* Input attachment */ int i_attachment; input_attachment_t **attachment; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
