[FFmpeg-cvslog] avdevice/pulse_audio_dec: set channel map
Paul B Mahol
git at videolan.org
Fri Sep 14 23:14:32 EEST 2018
ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Wed Sep 12 22:17:52 2018 +0200| [6a467d432f9228bec6f1cfeb2767f7e94c29f661] | committer: Paul B Mahol
avdevice/pulse_audio_dec: set channel map
This fixes opening devices with >6 channels.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6a467d432f9228bec6f1cfeb2767f7e94c29f661
---
libavdevice/pulse_audio_dec.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/libavdevice/pulse_audio_dec.c b/libavdevice/pulse_audio_dec.c
index 5977fb7e9e..042fe76d43 100644
--- a/libavdevice/pulse_audio_dec.c
+++ b/libavdevice/pulse_audio_dec.c
@@ -148,6 +148,9 @@ static av_cold int pulse_read_header(AVFormatContext *s)
pd->channels };
pa_buffer_attr attr = { -1 };
+ pa_channel_map cmap;
+
+ pa_channel_map_init_extend(&cmap, pd->channels, PA_CHANNEL_MAP_WAVEEX);
st = avformat_new_stream(s, NULL);
@@ -202,7 +205,7 @@ static av_cold int pulse_read_header(AVFormatContext *s)
pa_threaded_mainloop_wait(pd->mainloop);
}
- if (!(pd->stream = pa_stream_new(pd->context, pd->stream_name, &ss, NULL))) {
+ if (!(pd->stream = pa_stream_new(pd->context, pd->stream_name, &ss, &cmap))) {
ret = AVERROR(pa_context_errno(pd->context));
goto unlock_and_fail;
}
More information about the ffmpeg-cvslog
mailing list