continue;
}
+ if (imember->video_flow == SWITCH_MEDIA_FLOW_RECVONLY) {
+ continue;
+ }
+
if (!imember->session || !switch_channel_test_flag(imember->channel, CF_VIDEO) ||
switch_core_session_read_lock(imember->session) != SWITCH_STATUS_SUCCESS) {
continue;
continue;
}
+ if (imember->video_flow == SWITCH_MEDIA_FLOW_RECVONLY) {
+ continue;
+ }
+
if (need_refresh) {
switch_core_session_request_video_refresh(imember->session);
}
continue;
}
+ if (imember->video_flow == SWITCH_MEDIA_FLOW_RECVONLY) {
+ continue;
+ }
+
if (!imember->session || !switch_channel_test_flag(imember->channel, CF_VIDEO) ||
switch_core_session_read_lock(imember->session) != SWITCH_STATUS_SUCCESS) {
continue;
switch_io_event_hook_video_write_frame_t *ptr;
switch_status_t status = SWITCH_STATUS_FALSE;
+ if (switch_core_session_media_flow(session, SWITCH_MEDIA_TYPE_VIDEO) == SWITCH_MEDIA_FLOW_RECVONLY) {
+ switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "Writing video to RECVONLY session\n");
+ return SWITCH_STATUS_SUCCESS;
+ }
+
if (session->endpoint_interface->io_routines->write_video_frame) {
if ((status = session->endpoint_interface->io_routines->write_video_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) {
for (ptr = session->event_hooks.video_write_frame; ptr; ptr = ptr->next) {
return SWITCH_STATUS_FALSE;
}
+ if (switch_core_session_media_flow(session, SWITCH_MEDIA_TYPE_VIDEO) == SWITCH_MEDIA_FLOW_RECVONLY) {
+ switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "Writing video to RECVONLY session\n");
+ return SWITCH_STATUS_SUCCESS;
+ }
+
if (switch_channel_test_flag(session->channel, CF_VIDEO_PAUSE_WRITE)) {
return SWITCH_STATUS_SUCCESS;
}