]>
Commit | Line | Data |
---|---|---|
64f23281 JR |
1 | From 82781d02cd3063d071a501218297a90bde9a314f Mon Sep 17 00:00:00 2001 |
2 | From: Marshal Walker <CatmanIX@gmail.com> | |
3 | Date: Thu, 8 Dec 2022 11:53:58 -0500 | |
4 | Subject: [PATCH] ffmpeg5 fix for issue #122 | |
5 | ||
6 | tested on Arch Linux, needs testing on win/mac/etc (should be fine tho) | |
7 | --- | |
8 | src/audio/ffmpeg_audio_processor_swresample.h | 4 ++-- | |
9 | src/audio/ffmpeg_audio_reader.h | 5 +++-- | |
10 | 2 files changed, 5 insertions(+), 4 deletions(-) | |
11 | ||
12 | diff --git a/src/audio/ffmpeg_audio_processor_swresample.h b/src/audio/ffmpeg_audio_processor_swresample.h | |
13 | index b1d4bea..e8fcb3f 100644 | |
14 | --- a/src/audio/ffmpeg_audio_processor_swresample.h | |
15 | +++ b/src/audio/ffmpeg_audio_processor_swresample.h | |
16 | @@ -29,7 +29,7 @@ class FFmpegAudioProcessor { | |
17 | } | |
18 | ||
19 | void SetInputChannelLayout(AVChannelLayout *channel_layout) { | |
20 | - av_opt_set_int(m_swr_ctx, "in_channel_layout", channel_layout->u.mask, 0); | |
21 | + av_opt_set_chlayout(m_swr_ctx, "in_chlayout", channel_layout, 0); | |
22 | } | |
23 | ||
24 | void SetInputSampleFormat(AVSampleFormat sample_format) { | |
25 | @@ -41,7 +41,7 @@ class FFmpegAudioProcessor { | |
26 | } | |
27 | ||
28 | void SetOutputChannelLayout(AVChannelLayout *channel_layout) { | |
29 | - av_opt_set_int(m_swr_ctx, "out_channel_layout", channel_layout->u.mask, 0); | |
30 | + av_opt_set_chlayout(m_swr_ctx, "out_chlayout", channel_layout, 0); | |
31 | } | |
32 | ||
33 | void SetOutputSampleFormat(AVSampleFormat sample_format) { | |
34 | diff --git a/src/audio/ffmpeg_audio_reader.h b/src/audio/ffmpeg_audio_reader.h | |
35 | index 1c6b346..35b2934 100644 | |
36 | --- a/src/audio/ffmpeg_audio_reader.h | |
37 | +++ b/src/audio/ffmpeg_audio_reader.h | |
38 | @@ -301,9 +301,10 @@ inline bool FFmpegAudioReader::Read(const int16_t **data, size_t *size) { | |
39 | } else { | |
40 | m_has_more_frames = false; | |
41 | } | |
42 | + } else { | |
43 | + SetError("Error decoding the audio source", ret); | |
44 | + return false; | |
45 | } | |
46 | - SetError("Error decoding the audio source", ret); | |
47 | - return false; | |
48 | } | |
49 | ||
50 | if (m_frame->nb_samples > 0) { |