[Bug 676739] Make stream changes using input-selector/playbin2 instantaneous

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon May 28 02:40:36 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=676739
  GStreamer | gst-plugins-base | unspecified

Sebastian Dröge <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #214859|none                        |reviewed
             status|                            |

--- Comment #7 from Sebastian Dröge <slomo at circular-chaos.org> 2012-05-28 09:40:32 UTC ---
Review of attachment 214859:
 --> (https://bugzilla.gnome.org/review?bug=676739&attachment=214859)

Please restore the old syncing behaviour based on the buffer timestamps and
current segments (add a property to select between clock and timestamp and make
timestamp the default), and make the maximum cache size (in time and bytes)
configurable (i.e. -1 current behaviour, 0 no caching, any other value cache at
most that much).

::: plugins/elements/gstinputselector.c
@@ +177,3 @@
+  GstBuffer *buffer;
+  GstSegment segment;
+  gboolean segment_update;

Why do you keep a copy of the segment again?

@@ +406,3 @@
+  GST_DEBUG_OBJECT (selpad, "Caching buffer %p", buffer);
+  if (!selpad->cached_buffers)
+    selpad->cached_buffers = g_queue_new ();

You could also directly store a GQueue inside the selpad struct instead of
needing to allocate one

@@ +1389,3 @@
+  g_signal_connect_data (sel, "notify::active-pad",
+      (GCallback) gst_input_selector_active_pad_changed, NULL,
+      NULL, G_CONNECT_AFTER);

Why do you connect to your own signal here? With a NULL callback

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list