seek: don't automatically start pipeline in DB
authorWim Taymans <wim.taymans@collabora.co.uk>
Fri, 10 Jul 2009 20:29:51 +0000 (21:29 +0100)
committerWim Taymans <wim@metal.(none)>
Fri, 10 Jul 2009 20:29:51 +0000 (21:29 +0100)
Keep the pipeline paused when we detect download buffering. The user has to
manually start the pipeline for now because we can't estimate when the buffering
will finish or when we have underrun.

tests/examples/seek/seek.c

index 7e8148f..0ce31a6 100644 (file)
@@ -1168,20 +1168,6 @@ update_fill (gpointer data)
         gint percent;
 
         gst_query_parse_buffering_percent (query, &busy, &percent);
-
-        if (buffering && !busy) {
-          /* if we were buffering but not anymore, start playing */
-          if (state == GST_STATE_PLAYING && !is_live) {
-            fprintf (stderr, "setting pipeline to PLAYING ...\n");
-            gst_element_set_state (pipeline, GST_STATE_PLAYING);
-            gtk_statusbar_pop (GTK_STATUSBAR (statusbar), status_id);
-            gtk_statusbar_push (GTK_STATUSBAR (statusbar), status_id,
-                "Playing");
-          }
-          state = GST_STATE_PAUSED;
-          buffering = FALSE;
-        }
-
         gst_query_parse_buffering_range (query, &format, &start, &stop, NULL);
 
         GST_DEBUG ("start %" G_GINT64_FORMAT ", stop %" G_GINT64_FORMAT,
@@ -2352,6 +2338,8 @@ do_download_buffering (gint percent)
     if (state == GST_STATE_PLAYING && !is_live) {
       fprintf (stderr, "Downloading, setting pipeline to PAUSED ...\n");
       gst_element_set_state (pipeline, GST_STATE_PAUSED);
+      /* user has to manually start the playback */
+      state = GST_STATE_PAUSED;
     }
   }
 }