]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gstreamer0-10.git/commitdiff
gst/gstpipeline.c: Take snapshot of state without blocking.
authorWim Taymans <wim.taymans@gmail.com>
Thu, 2 Jun 2005 09:39:21 +0000 (09:39 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Thu, 2 Jun 2005 09:39:21 +0000 (09:39 +0000)
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_send_event):
Take snapshot of state without blocking.

ChangeLog
gst/gstpipeline.c

index fd6795a5f59f7cb9ff554edb4021ec7d110fe94b..4627668146b3b9ca6811b0c566fe0ec53a7e1d65 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-02  Wim Taymans  <wim@fluendo.com>
+
+       * gst/gstpipeline.c: (gst_pipeline_send_event):
+       Take snapshot of state without blocking.
+
 2005-06-02  Wim Taymans  <wim@fluendo.com>
 
        * docs/design/part-TODO.txt:
index 2bca8361b38fbc9baa0b2a65ae604eac28fcbdea..6d7524d84c8b959e2e1f0cea325793bdc4e825d0 100644 (file)
@@ -290,11 +290,13 @@ gst_pipeline_send_event (GstElement * element, GstEvent * event)
   gboolean res;
   GstElementState state;
   GstEventType event_type = GST_EVENT_TYPE (event);
+  GTimeVal timeout;
 
   /* need to call _get_state() since a bin state is only updated
-   * with this call. FIXME, we should probably not block but just
-   * take a snapshot. */
-  gst_element_get_state (element, &state, NULL, NULL);
+   * with this call. */
+  GST_TIME_TO_TIMEVAL (0, timeout);
+
+  gst_element_get_state (element, &state, NULL, &timeout);
   was_playing = state == GST_STATE_PLAYING;
 
   if (was_playing && event_type == GST_EVENT_SEEK)