Commit d2054d2c authored by Elliot Murphy's avatar Elliot Murphy Committed by Rémi Denis-Courmont

Added a new option, play-and-pause. When this option is set, the input thread...

Added a new option, play-and-pause. When this option is set, the input thread is automatically paused when each item reaches the end of the file.

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: default avatarRémi Denis-Courmont <remi@remlab.net>
parent cef84e5f
...@@ -631,7 +631,15 @@ static void MainLoopDemux( input_thread_t *p_input, bool *pb_changed, bool *pb_d ...@@ -631,7 +631,15 @@ static void MainLoopDemux( input_thread_t *p_input, bool *pb_changed, bool *pb_d
if( i_ret == 0 ) /* EOF */ if( i_ret == 0 ) /* EOF */
{ {
bool b_pause_after_each = var_CreateGetBool( p_input, "play-and-pause" );
msg_Dbg( p_input, "EOF reached" ); 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; p_input->p->input.b_eof = true;
} }
else if( i_ret < 0 ) else if( i_ret < 0 )
......
...@@ -1185,7 +1185,11 @@ static const char *const ppsz_albumart_descriptions[] = ...@@ -1185,7 +1185,11 @@ static const char *const ppsz_albumart_descriptions[] =
#define PAE_TEXT N_("Play and exit") #define PAE_TEXT N_("Play and exit")
#define PAE_LONGTEXT N_( \ #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_TEXT N_("Use media library")
#define ML_LONGTEXT N_( \ #define ML_LONGTEXT N_( \
...@@ -2006,6 +2010,8 @@ vlc_module_begin () ...@@ -2006,6 +2010,8 @@ vlc_module_begin ()
add_bool( "play-and-exit", 0, NULL, PAE_TEXT, PAE_LONGTEXT, false ) add_bool( "play-and-exit", 0, NULL, PAE_TEXT, PAE_LONGTEXT, false )
add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, false ) add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, false )
change_safe() 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( "media-library", 1, NULL, ML_TEXT, ML_LONGTEXT, false )
add_bool( "playlist-tree", 0, NULL, PLTREE_TEXT, PLTREE_LONGTEXT, false ) add_bool( "playlist-tree", 0, NULL, PLTREE_TEXT, PLTREE_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