mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-01 22:58:50 -04:00
More work on multichannel
Reorder channels to a more common default order. Only add channel layout when channels > 1 Don't try to link to a session that is still starting Small sse fixes.
This commit is contained in:
parent
5196f7f053
commit
fcd90b25d3
12 changed files with 262 additions and 124 deletions
|
|
@ -144,32 +144,35 @@ enum spa_audio_format {
|
|||
enum spa_audio_channel {
|
||||
SPA_AUDIO_CHANNEL_UNKNOWN, /**< unspecified */
|
||||
SPA_AUDIO_CHANNEL_NA, /**< N/A, silent */
|
||||
|
||||
SPA_AUDIO_CHANNEL_MONO, /**< mono stream */
|
||||
|
||||
SPA_AUDIO_CHANNEL_FL, /**< front left */
|
||||
SPA_AUDIO_CHANNEL_FR, /**< front right */
|
||||
SPA_AUDIO_CHANNEL_RL, /**< rear left */
|
||||
SPA_AUDIO_CHANNEL_RR, /**< rear right */
|
||||
SPA_AUDIO_CHANNEL_FC, /**< front center */
|
||||
SPA_AUDIO_CHANNEL_LFE, /**< LFE */
|
||||
SPA_AUDIO_CHANNEL_SL, /**< side left */
|
||||
SPA_AUDIO_CHANNEL_SR, /**< side right */
|
||||
SPA_AUDIO_CHANNEL_RC, /**< rear center */
|
||||
SPA_AUDIO_CHANNEL_RL, /**< rear left */
|
||||
SPA_AUDIO_CHANNEL_RR, /**< rear right */
|
||||
SPA_AUDIO_CHANNEL_FLC, /**< front left center */
|
||||
SPA_AUDIO_CHANNEL_FRC, /**< front right center */
|
||||
SPA_AUDIO_CHANNEL_RC, /**< rear center */
|
||||
SPA_AUDIO_CHANNEL_SL, /**< side left */
|
||||
SPA_AUDIO_CHANNEL_SR, /**< side right */
|
||||
SPA_AUDIO_CHANNEL_TC, /**< top center */
|
||||
SPA_AUDIO_CHANNEL_TFL, /**< top front left */
|
||||
SPA_AUDIO_CHANNEL_TFC, /**< top front center */
|
||||
SPA_AUDIO_CHANNEL_TFR, /**< top front right */
|
||||
SPA_AUDIO_CHANNEL_TRL, /**< top rear left */
|
||||
SPA_AUDIO_CHANNEL_TRC, /**< top rear center */
|
||||
SPA_AUDIO_CHANNEL_TRR, /**< top rear right */
|
||||
SPA_AUDIO_CHANNEL_RLC, /**< rear left center */
|
||||
SPA_AUDIO_CHANNEL_RRC, /**< rear right center */
|
||||
SPA_AUDIO_CHANNEL_FLW, /**< front left wide */
|
||||
SPA_AUDIO_CHANNEL_FRW, /**< front right wide */
|
||||
SPA_AUDIO_CHANNEL_LFE2, /**< LFE 2 */
|
||||
SPA_AUDIO_CHANNEL_FLH, /**< front left high */
|
||||
SPA_AUDIO_CHANNEL_FCH, /**< front center high */
|
||||
SPA_AUDIO_CHANNEL_FRH, /**< front right high */
|
||||
SPA_AUDIO_CHANNEL_TC, /**< top center */
|
||||
SPA_AUDIO_CHANNEL_TFL, /**< top front left */
|
||||
SPA_AUDIO_CHANNEL_TFR, /**< top front right */
|
||||
SPA_AUDIO_CHANNEL_TFC, /**< top front center */
|
||||
SPA_AUDIO_CHANNEL_TRL, /**< top rear left */
|
||||
SPA_AUDIO_CHANNEL_TRR, /**< top rear right */
|
||||
SPA_AUDIO_CHANNEL_TRC, /**< top rear center */
|
||||
SPA_AUDIO_CHANNEL_TFLC, /**< top front left center */
|
||||
SPA_AUDIO_CHANNEL_TFRC, /**< top front right center */
|
||||
SPA_AUDIO_CHANNEL_TSL, /**< top side left */
|
||||
|
|
@ -183,41 +186,6 @@ enum spa_audio_channel {
|
|||
SPA_AUDIO_CHANNEL_CUSTOM_START = 0x10000,
|
||||
};
|
||||
|
||||
#define SPA_AUDIO_CHANNEL_MASK(ch) (1LL << SPA_AUDIO_CHANNEL_ ## ch)
|
||||
|
||||
enum spa_audio_layout {
|
||||
SPA_AUDIO_LAYOUT_DEFAULT, /**< default layout for the number of channels */
|
||||
SPA_AUDIO_LAYOUT_CUSTOM, /**< custom layout, either the order of the channels is
|
||||
* non-standard or the channel position array contains
|
||||
* custom channels. */
|
||||
SPA_AUDIO_LAYOUT_MONO, /**< MONO */
|
||||
SPA_AUDIO_LAYOUT_STEREO, /**< FL FR */
|
||||
SPA_AUDIO_LAYOUT_2_1, /**< FL FR LFE */
|
||||
SPA_AUDIO_LAYOUT_2RC, /**< FL FR RC */
|
||||
SPA_AUDIO_LAYOUT_2FC, /**< FL FR FC */
|
||||
SPA_AUDIO_LAYOUT_3_1, /**< FL FR FC LFE */
|
||||
SPA_AUDIO_LAYOUT_4_0, /**< FL FR FC RC */
|
||||
SPA_AUDIO_LAYOUT_4_1, /**< FL FR FC RC LFE */
|
||||
SPA_AUDIO_LAYOUT_2_2, /**< FL FR SL SR */
|
||||
SPA_AUDIO_LAYOUT_QUAD, /**< FL FR RL RR */
|
||||
SPA_AUDIO_LAYOUT_5_0, /**< FL FR FC SL SR */
|
||||
SPA_AUDIO_LAYOUT_5_1, /**< FL FR FC SL SR LFE */
|
||||
SPA_AUDIO_LAYOUT_5_0R, /**< FL FR FC RL RR */
|
||||
SPA_AUDIO_LAYOUT_5_1R, /**< FL FR FC RL RR LFE */
|
||||
SPA_AUDIO_LAYOUT_6_0, /**< FL FR FC SL SR RC */
|
||||
SPA_AUDIO_LAYOUT_6_0F, /**< FL FR SL SR FLC FRC */
|
||||
SPA_AUDIO_LAYOUT_HEXAGONAL, /**< FL FR FC RL RR RC */
|
||||
SPA_AUDIO_LAYOUT_6_1, /**< FL FR FC SL SR LFE RC */
|
||||
SPA_AUDIO_LAYOUT_6_1R, /**< FL FR FC RL RR LFE RC */
|
||||
SPA_AUDIO_LAYOUT_6_1F, /**< FL FR SL SR FLC FRC LFE */
|
||||
SPA_AUDIO_LAYOUT_7_0, /**< FL FR FC SL SR RL RR */
|
||||
SPA_AUDIO_LAYOUT_7_0F, /**< FL FR FC SL SR FLC FRC */
|
||||
SPA_AUDIO_LAYOUT_7_1, /**< FL FR FC SL SR LFE RL RR */
|
||||
SPA_AUDIO_LAYOUT_7_1W, /**< FL FR FC SL SR LFE FLC FRC */
|
||||
SPA_AUDIO_LAYOUT_7_1WR, /**< FL FR FC RL RR LFE FLC FRC */
|
||||
SPA_AUDIO_LAYOUT_OCTAGONAL, /**< FL FR FC SL SR RL RC RR */
|
||||
};
|
||||
|
||||
/** Extra audio flags */
|
||||
#define SPA_AUDIO_FLAG_NONE (0) /*< no valid flag */
|
||||
#define SPA_AUDIO_FLAG_UNPOSITIONED (1 << 0) /*< the position array explicitly
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue