From 13a33abf45f31417076f283ca7da9d9f74892286 Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Tue, 29 Mar 2011 17:16:08 +0530 Subject: format: Export pa_format_info_is_compatible in API This allows clients to perform checks between formats as well. --- src/pulse/format.c | 2 +- src/pulse/format.h | 9 +++++++++ src/pulse/internal.h | 1 - 3 files changed, 10 insertions(+), 2 deletions(-) (limited to 'src/pulse') diff --git a/src/pulse/format.c b/src/pulse/format.c index e601d902..a634b27b 100644 --- a/src/pulse/format.c +++ b/src/pulse/format.c @@ -115,7 +115,7 @@ char *pa_format_info_snprint(char *s, size_t l, const pa_format_info *f) { return s; } -pa_bool_t pa_format_info_is_compatible(pa_format_info *first, pa_format_info *second) { +int pa_format_info_is_compatible(pa_format_info *first, pa_format_info *second) { const char *key; void *state = NULL; diff --git a/src/pulse/format.h b/src/pulse/format.h index bd32ba92..b0efe502 100644 --- a/src/pulse/format.h +++ b/src/pulse/format.h @@ -83,6 +83,15 @@ int pa_format_info_valid(const pa_format_info *f); /** Returns non-zero when the format info structure represents a PCM (i.e. uncompressed data) format */ int pa_format_info_is_pcm(const pa_format_info *f); +/** Returns non-zero if the format represented \a first is a subset of + * the format represented by \second. This means that \a second must + * have all the fields that \a first does, but the reverse need not + * be true. This is typically expected to be used to check if a + * stream's format is compatible with a given sink. In such a case, + * \a first would be the sink's format and \a second would be the + * stream's.*/ +int pa_format_info_is_compatible(pa_format_info *first, pa_format_info *second); + /** Maximum required string length for * pa_format_info_snprint(). Please note that this value can change * with any release without warning and without being considered API diff --git a/src/pulse/internal.h b/src/pulse/internal.h index 351aeec9..a659576a 100644 --- a/src/pulse/internal.h +++ b/src/pulse/internal.h @@ -297,7 +297,6 @@ void pa_ext_device_manager_command(pa_context *c, uint32_t tag, pa_tagstruct *t) void pa_ext_stream_restore_command(pa_context *c, uint32_t tag, pa_tagstruct *t); void pa_format_info_free2(pa_format_info *f, void *userdata); -pa_bool_t pa_format_info_is_compatible(pa_format_info *first, pa_format_info *second); pa_format_info* pa_format_info_from_sample_spec(pa_sample_spec *ss, pa_channel_map *map); pa_bool_t pa_format_info_to_sample_spec(pa_format_info *f, pa_sample_spec *ss, pa_channel_map *map); pa_bool_t pa_format_info_to_sample_spec_fake(pa_format_info *f, pa_sample_spec *ss); -- cgit