summaryrefslogtreecommitdiffstats
path: root/src/pulse
diff options
context:
space:
mode:
authorArun Raghavan <arun.raghavan@collabora.co.uk>2011-03-29 17:16:08 +0530
committerArun Raghavan <arun.raghavan@collabora.co.uk>2011-05-15 10:09:35 +0530
commit13a33abf45f31417076f283ca7da9d9f74892286 (patch)
tree3e09965e63c8c6ddd8f8d4b737f66461e112f100 /src/pulse
parent53091cc5f0a766e0bff36b59600f99cd2771bbd6 (diff)
format: Export pa_format_info_is_compatible in API
This allows clients to perform checks between formats as well.
Diffstat (limited to 'src/pulse')
-rw-r--r--src/pulse/format.c2
-rw-r--r--src/pulse/format.h9
-rw-r--r--src/pulse/internal.h1
3 files changed, 10 insertions, 2 deletions
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);