mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-02 20:42:30 +00:00
session: create SSRC before doing session cleanup
Make the internal source before we do session cleanup
This commit is contained in:
parent
5b0298c63e
commit
6cce6fb04c
1 changed files with 9 additions and 9 deletions
|
@ -3228,6 +3228,15 @@ rtp_session_on_timeout (RTPSession * sess, GstClockTime current_time,
|
|||
/* get a new interval, we need this for various cleanups etc */
|
||||
data.interval = calculate_rtcp_interval (sess, TRUE, sess->first_rtcp);
|
||||
|
||||
/* we need an internal source now */
|
||||
if (sess->stats.internal_sources == 0) {
|
||||
RTPSource *source;
|
||||
gboolean created;
|
||||
|
||||
source = obtain_internal_source (sess, sess->suggested_ssrc, &created);
|
||||
g_object_unref (source);
|
||||
}
|
||||
|
||||
/* Make a local copy of the hashtable. We need to do this because the
|
||||
* cleanup stage below releases the session lock. */
|
||||
table_copy = g_hash_table_new_full (NULL, NULL, NULL,
|
||||
|
@ -3248,15 +3257,6 @@ rtp_session_on_timeout (RTPSession * sess, GstClockTime current_time,
|
|||
if (!is_rtcp_time (sess, current_time, &data))
|
||||
goto done;
|
||||
|
||||
/* we need an internal source now */
|
||||
if (sess->stats.internal_sources == 0) {
|
||||
RTPSource *source;
|
||||
gboolean created;
|
||||
|
||||
source = obtain_internal_source (sess, sess->suggested_ssrc, &created);
|
||||
g_object_unref (source);
|
||||
}
|
||||
|
||||
/* generate RTCP for all internal sources */
|
||||
g_hash_table_foreach (sess->ssrcs[sess->mask_idx],
|
||||
(GHFunc) generate_rtcp, &data);
|
||||
|
|
Loading…
Reference in a new issue