]> git.sesse.net Git - vlc/commitdiff
Added a new option, play-and-pause. When this option is set, the input thread is...
authorElliot Murphy <elliot@elliotmurphy.com>
Tue, 28 Jul 2009 02:12:55 +0000 (22:12 -0400)
committerRémi Denis-Courmont <remi@remlab.net>
Mon, 14 Sep 2009 15:16:45 +0000 (18:16 +0300)
This option is intended to make it easier to use VLC during live
productions featuring instructors and speakers working
with American Sign Language (ASL), or really any Sign Language, where
it is common for a lecturer to refer to video clips during a
presentation. The automatic pausing provides a smooth pause for the
video operator to switch the projection system back to the camera
with the live speaker once a clip has finished playing.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
src/input/input.c
src/libvlc-module.c

index 91371912671f208e8691f7f5f2ba10de30ec5dee..182fdeb8af6cca995dbcd33e9a63c1f8b7c23bcf 100644 (file)
@@ -631,7 +631,15 @@ static void MainLoopDemux( input_thread_t *p_input, bool *pb_changed, bool *pb_d
 
     if( i_ret == 0 )    /* EOF */
     {
+        bool b_pause_after_each = var_CreateGetBool( p_input, "play-and-pause" );
         msg_Dbg( p_input, "EOF reached" );
+        if ( b_pause_after_each )
+        {
+            msg_Dbg( p_input, "pausing at EOF (pause after each)");
+            vlc_value_t pause_state;
+            pause_state.i_int = PAUSE_S;
+            Control( p_input, INPUT_CONTROL_SET_STATE, pause_state );
+        }
         p_input->p->input.b_eof = true;
     }
     else if( i_ret < 0 )
index 0e9a81bb1653fb4394763e414508e1315bce509b..d92e614529a7a38add4f0b09eb4d5d28f3a285d3 100644 (file)
@@ -1185,7 +1185,11 @@ static const char *const ppsz_albumart_descriptions[] =
 
 #define PAE_TEXT N_("Play and exit")
 #define PAE_LONGTEXT N_( \
-                "Exit if there are no more items in the playlist." )
+    "Exit if there are no more items in the playlist." )
+
+#define PAP_TEXT N_("Play and pause")
+#define PAP_LONGTEXT N_( \
+    "Pause each item in the playlist on the last frame." )
 
 #define ML_TEXT N_("Use media library")
 #define ML_LONGTEXT N_( \
@@ -2006,6 +2010,8 @@ vlc_module_begin ()
     add_bool( "play-and-exit", 0, NULL, PAE_TEXT, PAE_LONGTEXT, false )
     add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, false )
         change_safe()
+    add_bool( "play-and-pause", 0, NULL, PAP_TEXT, PAP_LONGTEXT, true )
+        change_safe()
     add_bool( "media-library", 1, NULL, ML_TEXT, ML_LONGTEXT, false )
     add_bool( "playlist-tree", 0, NULL, PLTREE_TEXT, PLTREE_LONGTEXT, false )