[Bug 781721] inter: Add overflow-mode property and alternative "block" mode

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Oct 31 17:06:01 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=781721

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #351065|none                        |needs-work
             status|                            |

--- Comment #3 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 351065:
 --> (https://bugzilla.gnome.org/review?bug=781721&attachment=351065)

::: gst/inter/gstinter.h
@@ +27,3 @@
+
+typedef enum {
+  GST_INTER_OVERFLOW_MODE_FLUSH,

Flush seems like a weird name. It's "non-blocking", it does not flush :)

::: gst/inter/gstinteraudiosink.c
@@ +357,3 @@
+        if (g_atomic_int_get (&interaudiosink->unlocked)) {
+          g_mutex_unlock (&interaudiosink->surface->mutex);
+          if ((ret = gst_base_sink_wait_preroll (sink)) != GST_FLOW_OK)

What is this case and why do we wait for preroll here? Needs a comment.

Usually if unlock(), you want to get out of render ASAP and return FLUSHING

@@ +363,3 @@
+
+        g_cond_wait (&interaudiosink->surface->cond,
+            &interaudiosink->surface->mutex);

You need to detect the unlock/flushing case here, in which case you want to go
out immediately.

-- 
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