if (switch_channel_test_flag(channel, CF_VIDEO)) {
if (switch_test_flag(conference, CFLAG_VIDEO_BRIDGE)) {
- switch_channel_set_flag(channel, CF_VIDEO_ECHO);
switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE);
- } else {
- switch_channel_clear_flag(channel, CF_VIDEO_ECHO);
}
/* Tell the channel to request a fresh vid frame */
switch_core_session_refresh_video(member->session);
if (!imember->channel || !switch_channel_test_flag(imember->channel, CF_VIDEO)) {
continue;
}
- switch_channel_clear_flag(imember->channel, CF_VIDEO_ECHO);
if (imember == conference->video_floor_holder) {
switch_channel_set_flag(imember->channel, CF_VIDEO_PASSIVE);
if (switch_channel_test_flag(channel, CF_VIDEO) && !switch_test_flag(member, MFLAG_ACK_VIDEO)) {
switch_set_flag_locked(member, MFLAG_ACK_VIDEO);
- switch_channel_clear_flag(channel, CF_VIDEO_ECHO);
switch_core_session_refresh_video(member->session);
conference_set_video_floor_holder(member->conference, member, SWITCH_FALSE);
}
yuv = img->planes[SWITCH_PLANE_PACKED];
// switch_channel_set_flag(channel, CF_VIDEO_PASSIVE);
- switch_channel_clear_flag(channel, CF_VIDEO_ECHO);
vid_buffer = switch_core_session_alloc(session, SWITCH_RECOMMENDED_BUFFER_SIZE);
done:
switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
-
// switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE);
- switch_channel_set_flag(channel, CF_VIDEO_ECHO);
}
switch_size_t audio_datalen;
-
- switch_channel_clear_flag(channel, CF_VIDEO_ECHO);
-
context = switch_core_session_alloc(session, sizeof(vlc_video_context_t));
switch_assert(context);
memset(context, 0, sizeof(vlc_file_context_t));
SWITCH_DECLARE(void) switch_core_session_video_reset(switch_core_session_t *session)
{
- switch_channel_set_flag(session->channel, CF_VIDEO_ECHO);
+ switch_channel_clear_flag(session->channel, CF_VIDEO_ECHO);
switch_channel_clear_flag(session->channel, CF_VIDEO_PASSIVE);
switch_channel_clear_flag(session->channel, CF_VIDEO_DECODED_READ);
switch_core_session_refresh_video(session);
switch_core_session_raw_read(session);
}
+ switch_channel_set_flag(channel, CF_VIDEO_ECHO);
+
while (switch_channel_ready(channel)) {
status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
chan_a = switch_core_session_get_channel(session_a);
chan_b = switch_core_session_get_channel(session_b);
- switch_channel_clear_flag(chan_a, CF_VIDEO_ECHO);
- switch_channel_clear_flag(chan_b, CF_VIDEO_ECHO);
-
-
if ((exec_app = switch_channel_get_variable(chan_a, "bridge_pre_execute_app"))) {
exec_data = switch_channel_get_variable(chan_a, "bridge_pre_execute_data");
}