|
|
|
@ -2027,6 +2027,8 @@ del_next: |
|
|
|
static void __disable_streams(struct call_media *media, unsigned int num_ports) { |
|
|
|
struct packet_stream *ps; |
|
|
|
|
|
|
|
media->endpoint_map = NULL; |
|
|
|
|
|
|
|
__num_media_streams(media, num_ports); |
|
|
|
|
|
|
|
for (__auto_type l = media->streams.head; l; l = l->next) { |
|
|
|
@ -3427,7 +3429,7 @@ static void monologue_bundle_check_consistency(struct call_monologue *ml) { |
|
|
|
} |
|
|
|
|
|
|
|
// rejected/disabled stream? |
|
|
|
if (!media->streams.head->data->selected_sfd) { |
|
|
|
if (!media->endpoint_map) { |
|
|
|
if (media->bundle == media) |
|
|
|
ilog(LOG_WARN, "Bundle head has been rejected/disabled"); |
|
|
|
media->bundle = NULL; |
|
|
|
@ -3648,7 +3650,7 @@ static void monologue_bundle_offer(struct call_monologue *ml, sdp_ng_flags *flag |
|
|
|
if (!media) |
|
|
|
continue; |
|
|
|
|
|
|
|
if (!media->streams.length || !media->streams.head->data->selected_sfd) |
|
|
|
if (!media->endpoint_map) |
|
|
|
continue; // disabled stream |
|
|
|
|
|
|
|
// we should have a MID, but check anyway |
|
|
|
@ -5602,6 +5604,7 @@ void monologue_destroy(struct call_monologue *monologue) { |
|
|
|
while ((sfd = t_queue_pop_head(&ps->sfds))) |
|
|
|
stream_fd_release(sfd); |
|
|
|
} |
|
|
|
m->endpoint_map = NULL; |
|
|
|
} |
|
|
|
|
|
|
|
monologue->deleted_us = 0; |
|
|
|
|