X-Git-Url: https://code.delx.au/pulseaudio/blobdiff_plain/32a1ef311effac8cf792fc7d536f6e1e85dec805..e11b699d45fa3dca2cde8a976cbf25490f5501a4:/src/pulse/channelmap.c diff --git a/src/pulse/channelmap.c b/src/pulse/channelmap.c index 18053ec2..72e4130e 100644 --- a/src/pulse/channelmap.c +++ b/src/pulse/channelmap.c @@ -29,8 +29,8 @@ #include #include -#include +#include #include #include #include @@ -112,7 +112,7 @@ const char *const pretty_table[PA_CHANNEL_POSITION_MAX] = { [PA_CHANNEL_POSITION_REAR_LEFT] = N_("Rear Left"), [PA_CHANNEL_POSITION_REAR_RIGHT] = N_("Rear Right"), - [PA_CHANNEL_POSITION_LFE] = N_("Low Frequency Emmiter"), + [PA_CHANNEL_POSITION_LFE] = N_("Subwoofer"), [PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER] = N_("Front Left-of-center"), [PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER] = N_("Front Right-of-center"), @@ -199,8 +199,7 @@ pa_channel_map* pa_channel_map_init_stereo(pa_channel_map *m) { pa_channel_map* pa_channel_map_init_auto(pa_channel_map *m, unsigned channels, pa_channel_map_def_t def) { pa_assert(m); - pa_assert(channels > 0); - pa_assert(channels <= PA_CHANNELS_MAX); + pa_assert(pa_channels_valid(channels)); pa_assert(def < PA_CHANNEL_MAP_DEF_MAX); pa_channel_map_init(m); @@ -299,6 +298,8 @@ pa_channel_map* pa_channel_map_init_auto(pa_channel_map *m, unsigned channels, p case PA_CHANNEL_MAP_WAVEEX: + /* Following http://www.microsoft.com/whdc/device/audio/multichaud.mspx#EKLAC */ + switch (channels) { case 1: m->map[0] = PA_CHANNEL_POSITION_MONO; @@ -390,7 +391,6 @@ pa_channel_map* pa_channel_map_init_auto(pa_channel_map *m, unsigned channels, p return NULL; } - default: pa_assert_not_reached(); } @@ -400,8 +400,7 @@ pa_channel_map* pa_channel_map_init_extend(pa_channel_map *m, unsigned channels, unsigned c; pa_assert(m); - pa_assert(channels > 0); - pa_assert(channels <= PA_CHANNELS_MAX); + pa_assert(pa_channels_valid(channels)); pa_assert(def < PA_CHANNEL_MAP_DEF_MAX); pa_channel_map_init(m); @@ -451,6 +450,10 @@ int pa_channel_map_equal(const pa_channel_map *a, const pa_channel_map *b) { pa_assert(b); pa_return_val_if_fail(pa_channel_map_valid(a), 0); + + if (PA_UNLIKELY(a == b)) + return 1; + pa_return_val_if_fail(pa_channel_map_valid(b), 0); if (a->channels != b->channels) @@ -465,7 +468,7 @@ int pa_channel_map_equal(const pa_channel_map *a, const pa_channel_map *b) { char* pa_channel_map_snprint(char *s, size_t l, const pa_channel_map *map) { unsigned channel; - pa_bool_t first = TRUE; + bool first = true; char *e; pa_assert(s); @@ -487,7 +490,7 @@ char* pa_channel_map_snprint(char *s, size_t l, const pa_channel_map *map) { pa_channel_position_to_string(map->map[channel])); e = strchr(e, 0); - first = FALSE; + first = false; } return s; @@ -612,7 +615,7 @@ int pa_channel_map_valid(const pa_channel_map *map) { pa_assert(map); - if (map->channels <= 0 || map->channels > PA_CHANNELS_MAX) + if (!pa_channels_valid(map->channels)) return 0; for (c = 0; c < map->channels; c++) @@ -639,6 +642,10 @@ int pa_channel_map_superset(const pa_channel_map *a, const pa_channel_map *b) { pa_assert(b); pa_return_val_if_fail(pa_channel_map_valid(a), 0); + + if (PA_UNLIKELY(a == b)) + return 1; + pa_return_val_if_fail(pa_channel_map_valid(b), 0); am = pa_channel_map_mask(a); @@ -684,7 +691,7 @@ const char* pa_channel_map_to_name(const pa_channel_map *map) { memset(in_map, 0, sizeof(in_map)); for (c = 0; c < map->channels; c++) - pa_bitset_set(in_map, map->map[c], TRUE); + pa_bitset_set(in_map, map->map[c], true); if (pa_bitset_equals(in_map, PA_CHANNEL_POSITION_MAX, PA_CHANNEL_POSITION_MONO, -1)) @@ -738,7 +745,7 @@ const char* pa_channel_map_to_pretty_name(const pa_channel_map *map) { memset(in_map, 0, sizeof(in_map)); for (c = 0; c < map->channels; c++) - pa_bitset_set(in_map, map->map[c], TRUE); + pa_bitset_set(in_map, map->map[c], true); pa_init_i18n();