Я пишу программу для имитации конвейера gsteramer, который у меня работает из командной строки.
Мне удалось успешно перехватить некоторые сигналы, такие как:
g_signal_connect (data2.source, "pad-added", G_CALLBACK (pad_added_handler), &data2);
g_signal_connect (data2.source, "drained", G_CALLBACK (eos_cb), &data);
для добавленияпрокладывает и сообщает, когда читатель URL достиг конца потока - EOS.
Я пытаюсь создать ловушку, чтобы найти, когда шина достигла EOS, но у меня возникли проблемы.Я видел примеры ошибок перехвата из шины, например:
g_signal_connect (G_OBJECT (bus), "message::error", (GCallback)error_cb, &data);
Я думаю, что-то вроде этого должно работать:
g_signal_connect (G_OBJECT (bus), "message::eos", (GCallback)eos_cb_bus, &data);
Но я не знаю, что именноищите (часть 'message :: eos').
Кто-нибудь может мне помочь?Большое спасибо!