提交 22ec9c37 authored 作者: Anthony Minessale's avatar Anthony Minessale 提交者: Michael Jerris

FS-7499 FS-7513 video mute the old way seems to break chrome when resuming, add…

FS-7499 FS-7513 video mute the old way seems to break chrome when resuming, add some improvements to mitigate
上级 772665e0
...@@ -2029,7 +2029,6 @@ static void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread ...@@ -2029,7 +2029,6 @@ static void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread
} }
imember->blanks = 0; imember->blanks = 0;
switch_core_session_request_video_refresh(imember->session);
switch_channel_video_sync(imember->channel); switch_channel_video_sync(imember->channel);
} }
...@@ -8319,11 +8318,11 @@ static switch_status_t conf_api_sub_vmute(conference_member_t *member, switch_st ...@@ -8319,11 +8318,11 @@ static switch_status_t conf_api_sub_vmute(conference_member_t *member, switch_st
switch_clear_flag_locked(member, MFLAG_CAN_BE_SEEN); switch_clear_flag_locked(member, MFLAG_CAN_BE_SEEN);
if (member->channel) { //if (member->channel) {
switch_channel_set_flag(member->channel, CF_VIDEO_PAUSE_READ); //switch_channel_set_flag(member->channel, CF_VIDEO_PAUSE_READ);
switch_core_session_request_video_refresh(member->session); //switch_core_session_request_video_refresh(member->session);
switch_channel_video_sync(member->channel); //switch_channel_video_sync(member->channel);
} //}
if (!(data) || !strstr((char *) data, "quiet")) { if (!(data) || !strstr((char *) data, "quiet")) {
switch_set_flag(member, MFLAG_INDICATE_MUTE); switch_set_flag(member, MFLAG_INDICATE_MUTE);
...@@ -8378,8 +8377,7 @@ static switch_status_t conf_api_sub_unvmute(conference_member_t *member, switch_ ...@@ -8378,8 +8377,7 @@ static switch_status_t conf_api_sub_unvmute(conference_member_t *member, switch_
switch_set_flag_locked(member, MFLAG_CAN_BE_SEEN); switch_set_flag_locked(member, MFLAG_CAN_BE_SEEN);
if (member->channel) { if (member->channel) {
switch_channel_clear_flag(member->channel, CF_VIDEO_PAUSE_READ); //switch_channel_clear_flag(member->channel, CF_VIDEO_PAUSE_READ);
switch_core_session_request_video_refresh(member->session);
switch_channel_video_sync(member->channel); switch_channel_video_sync(member->channel);
} }
......
...@@ -4791,6 +4791,12 @@ static void do_flush(switch_rtp_t *rtp_session, int force) ...@@ -4791,6 +4791,12 @@ static void do_flush(switch_rtp_t *rtp_session, int force)
} }
} }
if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && rtp_session->session) {
int type = 1; // sum flags: 1 encoder; 2; decoder
switch_core_media_codec_control(rtp_session->session, SWITCH_MEDIA_TYPE_VIDEO, SWITCH_IO_READ, SCC_VIDEO_RESET, SCCT_INT, (void *)&type, NULL, NULL);
switch_core_session_request_video_refresh(rtp_session->session);
}
READ_DEC(rtp_session); READ_DEC(rtp_session);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论