From fc596f6141a41942048aa763477f3f6ee0c5b779 Mon Sep 17 00:00:00 2001 From: John Bradley Date: Mon, 30 Mar 2015 10:56:43 -0500 Subject: [PATCH] obs-ffmpeg: Fix spurious bad channel layout Some formats (like WMV) would send out audio packets that had channels set but did not specify a channel layout. Solution is to no longer rely on channel layout to get the channels and just get the channel count directly off the FFmpeg audio frame. --- plugins/obs-ffmpeg/obs-ffmpeg-source.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-source.c b/plugins/obs-ffmpeg/obs-ffmpeg-source.c index da02a5156..e9a761e4a 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-source.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-source.c @@ -289,8 +289,7 @@ static bool audio_frame(struct ff_frame *frame, void *opaque) d_pts = ff_get_sync_clock(&s->demuxer->clock) - frame->pts; pts = os_gettime_ns() - (uint64_t)(d_pts * 1000000000.0L); - int channels = av_get_channel_layout_nb_channels( - av_frame_get_channel_layout(frame->frame)); + int channels = av_frame_get_channels(frame->frame); for(int i = 0; i < channels; i++) audio_data.data[i] = frame->frame->data[i]; -- GitLab