Для получения некоторой информации об элементах gstreamer мне нужно отправить запрос , например
gst_element_query_position (data.playbin, GST_FORMAT_TIME, ¤t)
(из базовый учебник 4 )
, в то время как для других я должен излучать сигнал действия , такой как
g_signal_emit_by_name (data->playbin, "get-video-tags", i, &tags)
(из учебник по воспроизведению 1 ).
В чем причина?Разве оба не делают одно и то же, запрашивая у элемента некоторую информацию и ожидая ответа (блокируя / синхронно)?Мне кажется, что запросы именно для этого, как объяснено в главе " Основы " и на рисунке ниже.
Но как сигналы действия вписываются в эту картину?Являются ли они комбинацией события (для запроса) и сообщения (для ответа) или также просто запросов?И самое главное: почему они существуют, когда уже есть запросы?
Спасибо за ваше время и знания.