For some informations about gstreamer elements I have to emit a query like
gst_element_query_position (data.playbin, GST_FORMAT_TIME, ¤t)
(from basic tutorial 4)
while for others I have to emit an action signal like
g_signal_emit_by_name (data->playbin, "get-video-tags", i, &tags)
(from playback tutorial 1).
What is the reason for that? Aren't both doing the same kind of thing, asking the element for some information and waiting for the answer (blocking/synchronously)? For me it seems that queries are exactly for that, as explained in the chapter "Foundations" and the picture below.
But how do action signals fit into that picture? Are they a combination of event (for request) and message (for response) or also just queries? And most importantly: Why do they exist when there are already queries?
Thanks for your time and knowledge.
