tools/gst-launch.c: Don´t try to do any state management when a live pipeline posts...
authorWim Taymans <wim.taymans@gmail.com>
Fri, 17 Aug 2007 13:48:24 +0000 (13:48 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 17 Aug 2007 13:48:24 +0000 (13:48 +0000)
Original commit message from CVS:
* 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.

ChangeLog
tools/gst-launch.c

index 03a0309..5e0b286 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
+
+       * 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  <wim.taymans@gmail.com>
 
        * gst/gstbin.c: (is_eos), (gst_bin_add_func),
index d846275..c73f764 100644 (file)
@@ -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"));