Are Bus Messages Queued?
Nastooh Avessta
nastooh.avesta at gmail.com
Fri Nov 4 00:42:34 UTC 2016
Hi
Got an application that would take an action, upon receiving messages from
multiple plugins , through a watch on the app bus: (Note that these messages
are asynchronous and may arrive at the ~ same time.)
.
loop = g_main_loop_new (NULL, FALSE);
bus = gst_element_get_bus (pipeline);
bus_watch_id = gst_bus_add_watch (bus, bus_call, (gpointer *) &data);
.
Where, bus_call:
static gboolean bus_call (GstBus *bus, GstMessage *msg, gpointer
gdata){
.
switch (GST_MESSAGE_TYPE (msg)) {
.
case GST_MESSAGE_ELEMENT:
g_print("Got message from %s\n",gst_object_get_name
(GST_MESSAGE_SRC(msg)));
.
break;
.
}
What I am seeing is that on different runs not all messages make it to
"case GST_MESSAGE_ELEMENT", and am wondering if I need to queue messages
myself, start a new processing thread per message, etc.?
Cheers,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20161103/e1f0d694/attachment.html>
More information about the gstreamer-devel
mailing list