diff --git a/libobs/media-io/video-io.c b/libobs/media-io/video-io.c index 00f092df1..44483e7f0 100644 --- a/libobs/media-io/video-io.c +++ b/libobs/media-io/video-io.c @@ -101,6 +101,8 @@ static inline bool scale_video_output(struct video_input *input, data->data[i] = frame->data[i]; data->linesize[i] = frame->linesize[i]; } + } else { + blog(LOG_WARNING, "video-io: Could not scale frame!"); } } @@ -116,8 +118,10 @@ static inline void video_output_cur_frame(struct video_output *video) for (size_t i = 0; i < video->inputs.num; i++) { struct video_input *input = video->inputs.array+i; - if (scale_video_output(input, &video->cur_frame)) - input->callback(input->param, &video->cur_frame); + struct video_data frame = video->cur_frame; + + if (scale_video_output(input, &frame)) + input->callback(input->param, &frame); } pthread_mutex_unlock(&video->input_mutex); @@ -272,9 +276,9 @@ static inline bool video_input_init(struct video_input *input, for (size_t i = 0; i < MAX_CONVERT_BUFFERS; i++) video_frame_init(&input->frame[i], - video->info.format, - video->info.width, - video->info.height); + input->conversion.format, + input->conversion.width, + input->conversion.height); } return true;