diff --git a/src/modules/module-rtp-source.c b/src/modules/module-rtp-source.c index 03a647387..006f396c4 100644 --- a/src/modules/module-rtp-source.c +++ b/src/modules/module-rtp-source.c @@ -165,6 +165,7 @@ struct impl { struct spa_source *source; unsigned receiving:1; + unsigned last_receiving:1; }; static void @@ -427,6 +428,15 @@ static void on_timer_event(void *data, uint64_t expirations) { struct impl *impl = data; + if (impl->receiving != impl->last_receiving) { + struct spa_dict_item item[1]; + + impl->last_receiving = impl->receiving; + + item[0] = SPA_DICT_ITEM_INIT("rtp.receiving", impl->receiving ? "true" : "false"); + rtp_stream_update_properties(impl->stream, &SPA_DICT_INIT(item, 1)); + } + if (!impl->receiving) { pw_log_info("timeout, inactive RTP source"); //pw_impl_module_schedule_destroy(impl->module);