diff --git a/ChangeLog b/ChangeLog index 03a0309f27..5e0b286ee8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-08-17 Wim Taymans + + * tools/gst-launch.c: (event_loop), (main): + DonĀ“t try to do any state management when a live pipeline posts + buffering messages. + Also make the buffering string translatable. + 2007-08-16 Wim Taymans * gst/gstbin.c: (is_eos), (gst_bin_add_func), diff --git a/tools/gst-launch.c b/tools/gst-launch.c index d84627512d..c73f764e4b 100644 --- a/tools/gst-launch.c +++ b/tools/gst-launch.c @@ -60,6 +60,7 @@ static GstElement *pipeline; static gboolean caught_error = FALSE; static gboolean tags = FALSE; static gboolean messages = FALSE; +static gboolean is_live = FALSE; #ifndef GST_DISABLE_LOADSAVE @@ -499,7 +500,11 @@ event_loop (GstElement * pipeline, gboolean blocking, GstState target_state) gint percent; gst_message_parse_buffering (message, &percent); - fprintf (stderr, "buffering... %d \r", percent); + fprintf (stderr, _("buffering... %d \r"), percent); + + /* no state management needed for live pipelines */ + if (is_live) + break; if (percent == 100) { /* a 100% message means buffering is done */ @@ -699,6 +704,7 @@ main (int argc, char *argv[]) goto end; case GST_STATE_CHANGE_NO_PREROLL: fprintf (stderr, _("Pipeline is live and does not need PREROLL ...\n")); + is_live = TRUE; break; case GST_STATE_CHANGE_ASYNC: fprintf (stderr, _("Pipeline is PREROLLING ...\n"));