Skip to content

Commit

Permalink
gst-play: Add wait-on-eos option for image file playback
Browse files Browse the repository at this point in the history
Since gst-play is stopping playback on EOS message, image file playback
is almost impossible until now. Not only for image file, this option
seems to helpful if an user wants to see the last frame.
  • Loading branch information
seungha-yang committed Mar 29, 2019
1 parent e007710 commit 5b5fd90
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion tools/gst-play.c
Expand Up @@ -43,6 +43,8 @@

#define VOLUME_STEPS 20

static gboolean wait_on_eos = FALSE;

GST_DEBUG_CATEGORY (play_debug);
#define GST_CAT_DEFAULT play_debug

Expand Down Expand Up @@ -394,7 +396,7 @@ play_bus_msg (GstBus * bus, GstMessage * msg, gpointer user_data)
play_timeout (play);
g_print ("\n");
/* and switch to next item in list */
if (!play_next (play)) {
if (!wait_on_eos && !play_next (play)) {
g_print ("%s\n", _("Reached end of play list."));
g_main_loop_quit (play->loop);
}
Expand Down Expand Up @@ -1461,6 +1463,11 @@ main (int argc, char **argv)
N_("Use playbin3 pipeline")
N_("(default varies depending on 'USE_PLAYBIN' env variable)"),
NULL},
{"wait-on-eos", 0, 0, G_OPTION_ARG_NONE, &wait_on_eos,
N_
("Keep showing the last frame on EOS until quit or playlist change command "
"(gapless is ignored)"),
NULL},
{G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &filenames, NULL},
{NULL}
};
Expand Down Expand Up @@ -1506,6 +1513,9 @@ main (int argc, char **argv)
return 0;
}

if (wait_on_eos)
gapless = FALSE;

playlist = g_ptr_array_new ();

if (playlist_file != NULL) {
Expand Down

0 comments on commit 5b5fd90

Please sign in to comment.