Am So., 26. Jan. 2020 um 21:44 Uhr schrieb Federico Simoncelli <federico.simonce...@gmail.com>: > > On Sun, Jan 26, 2020 at 8:27 PM Carl Eugen Hoyos <ceffm...@gmail.com> wrote: > > > > Am So., 26. Jan. 2020 um 18:13 Uhr schrieb Federico Simoncelli > > <federico.simonce...@gmail.com>: > > > > > > This patch adds the attempt to identify the pulseaudio channel map and > > > when possible set the relevant channel_layout parameter of the codec. > > > > > > The result is an improvement over the current behavior of guessing the > > > layout based on the number of channels (for more information see > > > guess_layout_max). > > > --- > > > libavdevice/pulse_audio_dec.c | 40 +++++++++++++++++++++++++++++++---- > > > 1 file changed, 36 insertions(+), 4 deletions(-) > > > > > > diff --git a/libavdevice/pulse_audio_dec.c b/libavdevice/pulse_audio_dec.c > > > index 50a3c971ae..12f2d15680 100644 > > > --- a/libavdevice/pulse_audio_dec.c > > > +++ b/libavdevice/pulse_audio_dec.c > > > @@ -135,6 +135,37 @@ static av_cold int pulse_close(AVFormatContext *s) > > > return 0; > > > } > > > > > > +static int pulse_map_to_layout(pa_channel_map *cmap) > > > +{ > > > + const char *map_name = pa_channel_map_to_name(cmap); > > > + > > > + if (map_name == NULL) > > > + return 0; > > > + > > > + if (strcmp(map_name, "mono") == 0) > > > + return AV_CH_LAYOUT_MONO; > > > + > > > + if (strcmp(map_name, "stereo") == 0) > > > + return AV_CH_LAYOUT_STEREO; > > > + > > > + if (strcmp(map_name, "surround-40") == 0) > > > + return AV_CH_LAYOUT_4POINT0; > > > + > > > + if (strcmp(map_name, "surround-41") == 0) > > > + return AV_CH_LAYOUT_4POINT1; > > > + > > > + if (strcmp(map_name, "surround-50") == 0) > > > + return AV_CH_LAYOUT_5POINT0; > > > + > > > + if (strcmp(map_name, "surround-51") == 0) > > > + return AV_CH_LAYOUT_5POINT1; > > > + > > > + if (strcmp(map_name, "surround-71") == 0) > > > + return AV_CH_LAYOUT_7POINT1; > > > > Let me repeat my question: > > Am I correct that without your question, it is possible to set the > > channel_layout from the command line? > > AFAIK from the command line you cannot set the layout (before and > after the patch), you can only set the number of channels. > You can then apply filters to modify and set a layout (also here no > effect from my patch).
The command line input option channel_layout does not work with pulse input? Could you do me a favour and provide a command line using pulse? I may be able to reproduce but don't remember how pulse is supposed to work... Carl Eugen _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".