MT#61856 media_player: release previous `ssrc` when it differs

To not leak on media changes (ssrc differs), release
previous `->ssrc_out`, then overwrite the pointer.

`get_ssrc()` returns an owned reference.

Change-Id: Iaae6e24fe7b6a28bea06fb58794416d6c79894a2
mr26.1
Donat Zenichev 6 days ago
parent e7b9897ddd
commit 89f8eb4125

@ -1212,6 +1212,9 @@ void media_player_set_media(struct media_player *mp, struct call_media *media) {
struct ssrc_entry_call *ssrc_ctx = get_ssrc(mp->ssrc, &media->ssrc_hash_out);
if (ssrc_ctx)
ssrc_ctx->next_rtcp = rtpe_now;
/* get_ssrc() returns an owned reference.
* hence release previous ssrc, to no leak on media changes */
ssrc_entry_release(mp->ssrc_out);
mp->ssrc_out = ssrc_ctx;
}
}

Loading…
Cancel
Save