avutil/channel_layout: factorize parsing list of channel names

Also make use of the av_channel_from_string() function to determine the channel
id. This fixes some parse issues in av_channel_layout_from_string().

Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
Marton Balint
2024-03-09 19:10:35 +01:00
parent 0b3b8a1918
commit 95d31db82c
2 changed files with 66 additions and 122 deletions

View File

@@ -129,7 +129,7 @@ On "5.1(side)" layout with AV_CH_LAYOUT_4POINT1: 0xf
Testing av_channel_layout_from_string
With "FL+FR+FC+BL+BR+LFE": 6 channels (FL+FR+FC+BL+BR+LFE)
With "2 channels (FR+FL)": 2 channels (FR+FL)
With "2 channels (AMBI1023+FL)": fail
With "2 channels (AMBI1023+FL)": 2 channels (AMBI1023+FL)
With "3 channels (FR+FL)": fail
With "-3 channels (FR+FL)": fail
With "0 channels ()": fail
@@ -143,12 +143,12 @@ With "stereo@Boo": fail
With "": fail
With "@": fail
With "@Dummy": fail
With "@FL": 1 channels (FL)
With "@FL": fail
With "Dummy": fail
With "Dummy@FL": fail
With "FR+Dummy": fail
With "FR+Dummy@FL": 1 channels (FR)
With "FR+@FL": 2 channels (FR+FL@FL)
With "FR+Dummy@FL": fail
With "FR+@FL": fail
With "FL+@": fail
With "FR+FL@Foo+USR63@Foo": 3 channels (FR+FL@Foo+USR63@Foo)