uint64_t vid_frames;
time_t vid_started;
+ int ready_loops;
+
};
switch_image_t *blank_img = NULL;
switch_rgb_color_t bgcolor;
switch_rtp_engine_t *v_engine = NULL;
- int ready_loops = 0;
const char *var;
if (!(smh = session->media_handle)) {
if (switch_test_flag(read_frame, SFF_CNG)) {
continue;
}
-
- if (read_frame->img && read_frame->img->d_w && read_frame->img->d_h && ++ready_loops > 5) {
- switch_channel_set_flag(channel, CF_VIDEO_READY);
- smh->vid_params.width = read_frame->img->d_w;
- smh->vid_params.height = read_frame->img->d_h;
- }
}
if (vloops < 300 && (vloops % 100) == 0) {
switch_status_t status = SWITCH_STATUS_FALSE;
switch_io_event_hook_video_read_frame_t *ptr;
uint32_t loops = 0;
+ switch_media_handle_t *smh;
switch_assert(session != NULL);
+ if (!(smh = session->media_handle)) {
+ return SWITCH_STATUS_FALSE;
+ }
+
+
top:
loops++;
(*frame)->img->w, (*frame)->img->h, (*frame)->img->d_w, (*frame)->img->d_h);
}
+
+ if ((*frame)->img && (*frame)->img->d_w && (*frame)->img->d_h && ++smh->ready_loops > 5) {
+ switch_channel_set_flag(session->channel, CF_VIDEO_READY);
+ smh->vid_params.width = (*frame)->img->d_w;
+ smh->vid_params.height = (*frame)->img->d_h;
+ }
+
if (switch_test_flag((*frame), SFF_WAIT_KEY_FRAME)) {
switch_core_session_request_video_refresh(session);
switch_clear_flag((*frame), SFF_WAIT_KEY_FRAME);