switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ);
switch_channel_set_flag(channel, CF_VIDEO_DEBUG_READ);
+ switch_channel_set_flag(channel, CF_VIDEO_DEBUG_WRITE);
while (switch_channel_ready(channel)) {
switch_status_t status = switch_core_session_read_video_frame(session, &frame, SWITCH_IO_FLAG_NONE, 0);
switch_goto_status(SWITCH_STATUS_NOTFOUND, end);
}
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "IMAGE %dx%d %dx%d\n", frame->img->w,frame->img->h, frame->img->d_w, frame->img->d_h);
-
switch_buffer_zero(context->vpx_packet_buffer);
}
if (switch_channel_test_flag(session->channel, CF_VIDEO_DECODED_READ)) {
switch_status_t decode_status = switch_core_codec_decode_video((*frame)->codec, *frame);
+ if ((*frame)->img && switch_channel_test_flag(session->channel, CF_VIDEO_DEBUG_READ)) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "IMAGE %dx%d %dx%d\n",
+ (*frame)->img->w, (*frame)->img->h, (*frame)->img->d_w, (*frame)->img->d_h);
+ }
+
if (switch_test_flag((*frame), SFF_WAIT_KEY_FRAME)) {
switch_core_session_refresh_video(session);
switch_clear_flag((*frame), SFF_WAIT_KEY_FRAME);
switch_channel_clear_flag(session->channel, CF_VIDEO_PASSIVE);
switch_channel_clear_flag(session->channel, CF_VIDEO_DECODED_READ);
switch_channel_clear_flag(session->channel, CF_VIDEO_DEBUG_READ);
+ switch_channel_clear_flag(session->channel, CF_VIDEO_DEBUG_WRITE);
switch_core_session_refresh_video(session);
session->image_write_callback = NULL;
session->image_write_callback_user_data = NULL;