After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 784551 - basesrc: forward SINK_MESSAGE events downstream
basesrc: forward SINK_MESSAGE events downstream
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal enhancement
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 752214
 
 
Reported: 2017-07-05 14:55 UTC by George Kiagiadakis
Modified: 2017-07-12 12:45 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
basesrc: forward SINK_MESSAGE events downstream (814 bytes, patch)
2017-07-05 14:55 UTC, George Kiagiadakis
committed Details | Review

Description George Kiagiadakis 2017-07-05 14:55:25 UTC
Created attachment 354924 [details] [review]
basesrc: forward SINK_MESSAGE events downstream

Currently GstBaseSrc ignores SINK_MESSAGE events when sending them with gst_element_send_event() from the application.

This patch fixes that.
Comment 1 Nicolas Dufresne (ndufresne) 2017-07-05 15:21:30 UTC
Review of attachment 354924 [details] [review]:

::: libs/gst/base/gstbasesrc.c
@@ +1896,3 @@
       break;
     case GST_EVENT_TAG:
+    case GST_EVENT_SINK_MESSAGE:

Note that the application thread will block if downstream flow is also blocked, making it hard to use by applications. It's the reason why EOS are being queued and pushed on the streaming thread. Maybe long term we should add a generic queue for these ?
Comment 2 George Kiagiadakis 2017-07-05 18:42:16 UTC
(In reply to Nicolas Dufresne (stormer) from comment #1)
> Note that the application thread will block if downstream flow is also
> blocked, making it hard to use by applications. It's the reason why EOS are
> being queued and pushed on the streaming thread. Maybe long term we should
> add a generic queue for these ?

Hmm, I don't see any blocking operation there. It merely adds the event to a "pending_events" list and continues.
Comment 3 Nicolas Dufresne (ndufresne) 2017-07-05 19:53:30 UTC
Just missed that part, ok then.
Comment 4 George Kiagiadakis 2017-07-12 12:28:36 UTC
commit bd5b1d00e6268cecdc74396b40ebab2270f8db1e
Author: George Kiagiadakis <george.kiagiadakis@collabora.com>
Date:   Mon Jun 26 11:46:39 2017 +0300

    basesrc: forward SINK_MESSAGE events downstream
    
    https://bugzilla.gnome.org/show_bug.cgi?id=784551