Closed eclipseo closed 4 months ago
This breaks the a52 encoder profile for me:
ALSA device open 'plug:SLAVE='a52:0'' playback: 0x5610a26b99d0
[ac3_fixed @ 0x5610a26af040] Specified channel layout '6 channels' is not supported by the ac3_fixed encoder
[ac3_fixed @ 0x5610a26af040] Supported channel layouts:
[ac3_fixed @ 0x5610a26af040] mono
[ac3_fixed @ 0x5610a26af040] stereo
[ac3_fixed @ 0x5610a26af040] 3.0(back)
[ac3_fixed @ 0x5610a26af040] 3.0
[ac3_fixed @ 0x5610a26af040] quad(side)
[ac3_fixed @ 0x5610a26af040] quad
[ac3_fixed @ 0x5610a26af040] 4.0
[ac3_fixed @ 0x5610a26af040] 5.0(side)
[ac3_fixed @ 0x5610a26af040] 5.0
[ac3_fixed @ 0x5610a26af040] 2 channels (FC+LFE)
[ac3_fixed @ 0x5610a26af040] 2.1
[ac3_fixed @ 0x5610a26af040] 4 channels (FL+FR+LFE+BC)
[ac3_fixed @ 0x5610a26af040] 3.1
[ac3_fixed @ 0x5610a26af040] 4.1
[ac3_fixed @ 0x5610a26af040] 5.1(side)
[ac3_fixed @ 0x5610a26af040] 5.1
@fhloston This seems unrelated to this patch, ac3_fixed has always only supported this.
https://github.com/FFmpeg/FFmpeg/commit/65ddc74988245a01421a63c5cffa4d900c47117c
/**
* List of supported channel layouts.
*/
const AVChannelLayout ff_ac3_ch_layouts[19] = {
AV_CHANNEL_LAYOUT_MONO,
AV_CHANNEL_LAYOUT_STEREO,
AV_CHANNEL_LAYOUT_2_1,
AV_CHANNEL_LAYOUT_SURROUND,
AV_CHANNEL_LAYOUT_2_2,
AV_CHANNEL_LAYOUT_QUAD,
AV_CHANNEL_LAYOUT_4POINT0,
AV_CHANNEL_LAYOUT_5POINT0,
AV_CHANNEL_LAYOUT_5POINT0_BACK,
{
.nb_channels = 2,
.order = AV_CHANNEL_ORDER_NATIVE,
.u.mask = AV_CH_LAYOUT_MONO | AV_CH_LOW_FREQUENCY,
},
{
.nb_channels = 3,
.order = AV_CHANNEL_ORDER_NATIVE,
.u.mask = AV_CH_LAYOUT_STEREO | AV_CH_LOW_FREQUENCY,
},
{
.nb_channels = 4,
.order = AV_CHANNEL_ORDER_NATIVE,
.u.mask = AV_CH_LAYOUT_2_1 | AV_CH_LOW_FREQUENCY,
},
{
.nb_channels = 4,
.order = AV_CHANNEL_ORDER_NATIVE,
.u.mask = AV_CH_LAYOUT_SURROUND | AV_CH_LOW_FREQUENCY,
},
{
.nb_channels = 5,
.order = AV_CHANNEL_ORDER_NATIVE,
.u.mask = AV_CH_LAYOUT_4POINT0 | AV_CH_LOW_FREQUENCY,
},
AV_CHANNEL_LAYOUT_5POINT1,
AV_CHANNEL_LAYOUT_5POINT1_BACK,
{ 0 },
};
Though it should probably use the avcodec codec, but nothing I have changed should impact this.
I cannot tell... previous version with ffmpeg6 just works though.
I cannot tell... previous version with ffmpeg6 just works though.
Could you try with last push? Maybe it is an issue with mapping the channels with the new layout.
That seems to have done the trick!
I have a working a52 profile.
:tada:
channel_layout has been replace with ch_layout
avcodec_close has been deprecated in favor of avcodec_free_context
Fix #57