[vlc-commits] added start playback in paused mode (#2936)
Aleksandr Pasechnik
git at videolan.org
Wed Mar 25 15:51:41 CET 2015
vlc | branch: master | Aleksandr Pasechnik <al at megamicron.net> | Fri Mar 13 01:49:52 2015 +0000| [dc130ca2b358ed5da3cb783f222eb28cad6aea9f] | committer: 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: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=dc130ca2b358ed5da3cb783f222eb28cad6aea9f
---
NEWS | 1 +
src/input/input.c | 7 +++++++
src/libvlc-module.c | 5 +++++
3 files changed, 13 insertions(+)
diff --git a/NEWS b/NEWS
index b2e443b..420a4be 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ Changes between 2.2.x and 3.0.0-git:
Core:
* Support wayland surface type
+ * Allow to start the video paused on the first frame
Access:
* Support HDS (Http Dynamic Streaming) from Adobe (f4m, f4v, etc.)
diff --git a/src/input/input.c b/src/input/input.c
index 23ee041..f1d9e8f 100644
--- a/src/input/input.c
+++ b/src/input/input.c
@@ -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 bool ControlIsSeekRequest( int i_type );
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 void UpdateGenericFromDemux( input_thread_t * );
@@ -539,6 +540,12 @@ static void *Run( void *obj )
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) */
/* Clean up */
diff --git a/src/libvlc-module.c b/src/libvlc-module.c
index a2474cb..46180f5 100644
--- a/src/libvlc-module.c
+++ b/src/libvlc-module.c
@@ -1133,6 +1133,10 @@ static const char *const psz_recursive_list_text[] = {
#define PAP_LONGTEXT N_( \
"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_LONGTEXT N_( "Automatically start playing the playlist " \
"content once it's loaded." )
@@ -1994,6 +1998,7 @@ vlc_module_begin ()
change_safe()
add_bool( "play-and-pause", 0, PAP_TEXT, PAP_LONGTEXT, true )
change_safe()
+ add_bool( "start-paused", 0, SP_TEXT, SP_LONGTEXT, false )
add_bool( "playlist-autostart", true,
AUTOSTART_TEXT, AUTOSTART_LONGTEXT, false )
add_bool( "playlist-cork", true, CORK_TEXT, CORK_LONGTEXT, false )
More information about the vlc-commits
mailing list