Commit dc130ca2 authored by Aleksandr Pasechnik's avatar Aleksandr Pasechnik Committed by Jean-Baptiste Kempf

added start playback in paused mode (#2936)

Added a boolean Playlist preference called start-pause.

Setting the preference causes the src/input/input.c Run function to call the
ControlPause function after Init finishes successfully.
Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent d1305a88
...@@ -3,6 +3,7 @@ Changes between 2.2.x and 3.0.0-git: ...@@ -3,6 +3,7 @@ Changes between 2.2.x and 3.0.0-git:
Core: Core:
* Support wayland surface type * Support wayland surface type
* Allow to start the video paused on the first frame
Access: Access:
* Support HDS (Http Dynamic Streaming) from Adobe (f4m, f4v, etc.) * Support HDS (Http Dynamic Streaming) from Adobe (f4m, f4v, etc.)
......
...@@ -72,6 +72,7 @@ static inline int ControlPop( input_thread_t *, int *, vlc_value_t *, mtime_t i_ ...@@ -72,6 +72,7 @@ static inline int ControlPop( input_thread_t *, int *, vlc_value_t *, mtime_t i_
static void ControlRelease( int i_type, vlc_value_t val ); static void ControlRelease( int i_type, vlc_value_t val );
static bool ControlIsSeekRequest( int i_type ); static bool ControlIsSeekRequest( int i_type );
static bool Control( input_thread_t *, int, vlc_value_t ); static bool Control( input_thread_t *, int, vlc_value_t );
static void ControlPause( input_thread_t *, mtime_t );
static int UpdateTitleSeekpointFromDemux( input_thread_t * ); static int UpdateTitleSeekpointFromDemux( input_thread_t * );
static void UpdateGenericFromDemux( input_thread_t * ); static void UpdateGenericFromDemux( input_thread_t * );
...@@ -539,6 +540,12 @@ static void *Run( void *obj ) ...@@ -539,6 +540,12 @@ static void *Run( void *obj )
if( !Init( p_input ) ) if( !Init( p_input ) )
{ {
if( var_InheritBool( p_input, "start-paused" ) )
{
const mtime_t i_control_date = mdate();
ControlPause( p_input, i_control_date );
}
MainLoop( p_input, true ); /* FIXME it can be wrong (like with VLM) */ MainLoop( p_input, true ); /* FIXME it can be wrong (like with VLM) */
/* Clean up */ /* Clean up */
......
...@@ -1133,6 +1133,10 @@ static const char *const psz_recursive_list_text[] = { ...@@ -1133,6 +1133,10 @@ static const char *const psz_recursive_list_text[] = {
#define PAP_LONGTEXT N_( \ #define PAP_LONGTEXT N_( \
"Pause each item in the playlist on the last frame." ) "Pause each item in the playlist on the last frame." )
#define SP_TEXT N_("Start paused")
#define SP_LONGTEXT N_( \
"Pause each item in the playlist on the first frame." )
#define AUTOSTART_TEXT N_( "Auto start" ) #define AUTOSTART_TEXT N_( "Auto start" )
#define AUTOSTART_LONGTEXT N_( "Automatically start playing the playlist " \ #define AUTOSTART_LONGTEXT N_( "Automatically start playing the playlist " \
"content once it's loaded." ) "content once it's loaded." )
...@@ -1994,6 +1998,7 @@ vlc_module_begin () ...@@ -1994,6 +1998,7 @@ vlc_module_begin ()
change_safe() change_safe()
add_bool( "play-and-pause", 0, PAP_TEXT, PAP_LONGTEXT, true ) add_bool( "play-and-pause", 0, PAP_TEXT, PAP_LONGTEXT, true )
change_safe() change_safe()
add_bool( "start-paused", 0, SP_TEXT, SP_LONGTEXT, false )
add_bool( "playlist-autostart", true, add_bool( "playlist-autostart", true,
AUTOSTART_TEXT, AUTOSTART_LONGTEXT, false ) AUTOSTART_TEXT, AUTOSTART_LONGTEXT, false )
add_bool( "playlist-cork", true, CORK_TEXT, CORK_LONGTEXT, false ) add_bool( "playlist-cork", true, CORK_TEXT, CORK_LONGTEXT, false )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment