On Thu, Nov 09, 2017 at 09:37:33PM +0100, pkv.stream wrote: > Hi Michael, > > >> ffmpeg_opt.c | 11 ++++++++++- > >> 1 file changed, 10 insertions(+), 1 deletion(-) > >>2af07f4366efdfaf1018bb2ea29be672befe0823 > >>0001-ffmpeg-fix-channel_layout-bug-on-non-default-layout.patch > >> From 4ec55dc88923108132307b41300a1abddf32e6f7 Mon Sep 17 00:00:00 2001 > >>From: pkviet <pkv.str...@gmail.com> > >>Date: Mon, 2 Oct 2017 11:14:31 +0200 > >>Subject: [PATCH] ffmpeg: fix channel_layout bug on non-default layout > >> > >>Fix for ticket 6706. > >>The -channel_layout option was not working when the channel layout was not > >>a default one (ex: for 4 channels, quad was interpreted as 4.0 which is > >>the default layout for 4 channels; or octagonal interpreted as 7.1). > >>This led to the spurious auto-insertion of an auto-resampler filter > >>remapping the channels even if input and output had identical channel > >>layouts. > >>The fix operates by directly calling the channel layout if defined in > >>options. If the layout is undefined, the default layout is selected as > >>before the fix. > >>--- > >> ffmpeg_opt.c | 11 ++++++++++- > >> 1 file changed, 10 insertions(+), 1 deletion(-) > >> > >>diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c > >>index 100fa76..cf5a63c 100644 > >>--- a/ffmpeg_opt.c > >>+++ b/ffmpeg_opt.c > >>@@ -1804,6 +1804,12 @@ static OutputStream *new_audio_stream(OptionsContext > >>*o, AVFormatContext *oc, in > >> MATCH_PER_STREAM_OPT(audio_channels, i, audio_enc->channels, oc, > >> st); > >>+ AVDictionaryEntry *output_layout = av_dict_get(o->g->codec_opts, > >>+ "channel_layout", > >>+ NULL, > >>AV_DICT_MATCH_CASE); > >This doesnt look right > > > >not an issue of the patch as such but > >why is the channel_layout option per file and not per stream? > > > just my ignorance; do you mean this is not the right way to retrieve > the channel_layout option from an audio stream ?
I think there is more buggy with how the channel_layout is handled try this: ./ffmpeg -i ~/videos/matrixbench_mpeg2.mpg -channel_layout 5 test.wav and this: ./ffmpeg -i ~/videos/matrixbench_mpeg2.mpg -channel_layout:a 5 test.wav while it may appear that the are both working this is deceiving. I think only the channel number gets actually used in the 2nd case Look at what your code with av_dict_get() reads. It does not obtain the 5 in the 2nd case [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Never trust a computer, one day, it may think you are the virus. -- Compn
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel