summaryrefslogtreecommitdiff
path: root/main/rtp_engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/rtp_engine.c')
-rw-r--r--main/rtp_engine.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/main/rtp_engine.c b/main/rtp_engine.c
index 48372303a..e47ab833f 100644
--- a/main/rtp_engine.c
+++ b/main/rtp_engine.c
@@ -1915,28 +1915,22 @@ void ast_rtp_publish_rtcp_message(struct ast_rtp_instance *rtp,
struct ast_rtp_rtcp_report *report,
struct ast_json *blob)
{
- RAII_VAR(struct rtcp_message_payload *, payload,
- ao2_alloc(sizeof(*payload), rtcp_message_payload_dtor), ao2_cleanup);
- RAII_VAR(struct ast_channel_snapshot *, snapshot, NULL, ao2_cleanup);
+ RAII_VAR(struct rtcp_message_payload *, payload, NULL, ao2_cleanup);
RAII_VAR(struct stasis_message *, message, NULL, ao2_cleanup);
+ payload = ao2_alloc(sizeof(*payload), rtcp_message_payload_dtor);
if (!payload || !report) {
return;
}
if (!ast_strlen_zero(rtp->channel_uniqueid)) {
- snapshot = ast_channel_snapshot_get_latest(rtp->channel_uniqueid);
- if (snapshot) {
- ao2_ref(snapshot, +1);
- }
+ payload->snapshot = ast_channel_snapshot_get_latest(rtp->channel_uniqueid);
}
-
if (blob) {
+ payload->blob = blob;
ast_json_ref(blob);
}
- ao2_ref(report, 1);
- payload->snapshot = snapshot;
- payload->blob = blob;
+ ao2_ref(report, +1);
payload->report = report;
message = stasis_message_create(message_type, payload);