]> git.sesse.net Git - nageru/blobdiff - ffmpeg_capture.cpp
Rename ui_foo.ui to foo.ui; seemingly, it is more standard.
[nageru] / ffmpeg_capture.cpp
index b7db50c5513beea1376b70031d608cab6059c154..7bd927801359b5906db8cec4641557c1898a82ed 100644 (file)
@@ -327,6 +327,7 @@ void FFmpegCapture::send_disconnected_frame()
                if (pixel_format == bmusb::PixelFormat_8BitBGRA) {
                        video_format.stride = width * 4;
                        video_frame.len = width * height * 4;
+                       memset(video_frame.data, 0, video_frame.len);
                } else {
                        video_format.stride = width;
                        current_frame_ycbcr_format.luma_coefficients = YCBCR_REC_709;
@@ -339,8 +340,9 @@ void FFmpegCapture::send_disconnected_frame()
                        current_frame_ycbcr_format.cr_x_position = 0.0f;
                        current_frame_ycbcr_format.cr_y_position = 0.0f;
                        video_frame.len = width * height * 2;
+                       memset(video_frame.data, 0, width * height);
+                       memset(video_frame.data + width * height, 128, width * height);  // Valid for both NV12 and planar.
                }
-               memset(video_frame.data, 0, video_frame.len);
 
                frame_callback(-1, AVRational{1, TIMEBASE}, -1, AVRational{1, TIMEBASE}, timecode++,
                        video_frame, /*video_offset=*/0, video_format,
@@ -749,7 +751,7 @@ void FFmpegCapture::convert_audio(const AVFrame *audio_avframe, FrameAllocator::
                }
 
                av_opt_set_int(resampler, "in_channel_layout",  channel_layout,                             0);
-               av_opt_set_int(resampler, "out_channel_layout", AV_CH_LAYOUT_STEREO,                        0);
+               av_opt_set_int(resampler, "out_channel_layout", AV_CH_LAYOUT_STEREO_DOWNMIX,                0);
                av_opt_set_int(resampler, "in_sample_rate",     av_frame_get_sample_rate(audio_avframe),    0);
                av_opt_set_int(resampler, "out_sample_rate",    OUTPUT_FREQUENCY,                           0);
                av_opt_set_int(resampler, "in_sample_fmt",      audio_avframe->format,                      0);