mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-29 22:54:18 +00:00
FS-7499 FS-7508 FS-7501 some more general improvements for initial call setup
This commit is contained in:
1 parent
aacede1914
commit
dc4c38dab5
7 files changed
+69
-15
No files matched your search
+10
-2
@@ -1785,7 +1785,8 @@ SWITCH_DECLARE(char *) switch_channel_get_cap_string(switch_channel_t *channel)
|
||||
SWITCH_DECLARE(void) switch_channel_set_flag_value(switch_channel_t *channel, switch_channel_flag_t flag, uint32_t value)
|
||||
{
|
||||
int HELD = 0;
|
||||
|
||||
int just_set = 0;
|
||||
|
||||
switch_assert(channel);
|
||||
switch_assert(channel->flag_mutex);
|
||||
|
||||
@@ -1793,9 +1794,16 @@ SWITCH_DECLARE(void) switch_channel_set_flag_value(switch_channel_t *channel, sw
|
||||
if (flag == CF_LEG_HOLDING && !channel->flags[flag] && channel->flags[CF_ANSWERED]) {
|
||||
HELD = 1;
|
||||
}
|
||||
channel->flags[flag] = value;
|
||||
if (channel->flags[flag] != value) {
|
||||
just_set = 1;
|
||||
channel->flags[flag] = value;
|
||||
}
|
||||
switch_mutex_unlock(channel->flag_mutex);
|
||||
|
||||
if (flag == CF_VIDEO_READY && just_set) {
|
||||
switch_core_session_request_video_refresh(channel->session);
|
||||
}
|
||||
|
||||
if (flag == CF_ORIGINATOR && switch_channel_test_flag(channel, CF_ANSWERED) && switch_channel_up_nosig(channel)) {
|
||||
switch_channel_set_callstate(channel, CCS_RING_WAIT);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user