|
|
|
@ -3041,6 +3041,7 @@ struct call_subscription *call_get_call_subscription(GHashTable *ht, struct call |
|
|
|
|
|
|
|
|
|
|
|
/* called with call->master_lock held in W */ |
|
|
|
__attribute__((nonnull(1, 2, 3))) |
|
|
|
int monologue_publish(struct call_monologue *ml, GQueue *streams, struct sdp_ng_flags *flags) { |
|
|
|
__call_monologue_init_from_flags(ml, flags); |
|
|
|
|
|
|
|
@ -3105,6 +3106,7 @@ int monologue_publish(struct call_monologue *ml, GQueue *streams, struct sdp_ng_ |
|
|
|
} |
|
|
|
|
|
|
|
/* called with call->master_lock held in W */ |
|
|
|
__attribute__((nonnull(1, 2, 3, 4))) |
|
|
|
static int monologue_subscribe_request1(struct call_monologue *src_ml, struct call_monologue *dst_ml, |
|
|
|
struct sdp_ng_flags *flags, unsigned int *index) |
|
|
|
{ |
|
|
|
@ -3174,6 +3176,7 @@ static int monologue_subscribe_request1(struct call_monologue *src_ml, struct ca |
|
|
|
return 0; |
|
|
|
} |
|
|
|
/* called with call->master_lock held in W */ |
|
|
|
__attribute__((nonnull(1, 2, 3))) |
|
|
|
int monologue_subscribe_request(const GQueue *srcs, struct call_monologue *dst_ml, |
|
|
|
struct sdp_ng_flags *flags) |
|
|
|
{ |
|
|
|
@ -3195,6 +3198,7 @@ int monologue_subscribe_request(const GQueue *srcs, struct call_monologue *dst_m |
|
|
|
} |
|
|
|
|
|
|
|
/* called with call->master_lock held in W */ |
|
|
|
__attribute__((nonnull(1, 2, 3))) |
|
|
|
int monologue_subscribe_answer(struct call_monologue *dst_ml, struct sdp_ng_flags *flags, GQueue *streams) { |
|
|
|
GList *src_ml_it = dst_ml->subscriptions.head; |
|
|
|
unsigned int index = 1; // running counter for input/src medias |
|
|
|
@ -3233,7 +3237,7 @@ int monologue_subscribe_answer(struct call_monologue *dst_ml, struct sdp_ng_flag |
|
|
|
|
|
|
|
__media_init_from_flags(dst_media, NULL, sp, flags); |
|
|
|
|
|
|
|
if (flags && flags->allow_transcoding) { |
|
|
|
if (flags->allow_transcoding) { |
|
|
|
codec_store_populate(&dst_media->codecs, &sp->codecs, flags->codec_set, true); |
|
|
|
codec_store_strip(&dst_media->codecs, &flags->codec_strip, flags->codec_except); |
|
|
|
codec_store_offer(&dst_media->codecs, &flags->codec_offer, &sp->codecs); |
|
|
|
@ -3275,6 +3279,7 @@ int monologue_subscribe_answer(struct call_monologue *dst_ml, struct sdp_ng_flag |
|
|
|
} |
|
|
|
|
|
|
|
/* called with call->master_lock held in W */ |
|
|
|
__attribute__((nonnull(1, 2))) |
|
|
|
int monologue_unsubscribe(struct call_monologue *dst_ml, struct sdp_ng_flags *flags) { |
|
|
|
for (GList *l = dst_ml->subscriptions.head; l; ) { |
|
|
|
GList *next = l->next; |
|
|
|
|