summaryrefslogtreecommitdiff
path: root/src/pulse
diff options
context:
space:
mode:
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>2014-03-26 11:52:33 +0200
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>2014-03-27 10:02:57 +0200
commitb9147fad0fc33acf8c90a8c05f49cbae427fd33a (patch)
treee7263794d5c2efff50b7fdac225fd4a8b7b0d677 /src/pulse
parent5621b7898b3074ea9bcb189ee7c9f82b0cd52c2f (diff)
direction: Add a couple of direction helper functions
Diffstat (limited to 'src/pulse')
-rw-r--r--src/pulse/direction.c46
-rw-r--r--src/pulse/direction.h37
-rw-r--r--src/pulse/pulseaudio.h5
3 files changed, 86 insertions, 2 deletions
diff --git a/src/pulse/direction.c b/src/pulse/direction.c
new file mode 100644
index 000000000..95f5e00cc
--- /dev/null
+++ b/src/pulse/direction.c
@@ -0,0 +1,46 @@
+/***
+ This file is part of PulseAudio.
+
+ Copyright 2014 Intel Corporation
+
+ PulseAudio is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License,
+ or (at your option) any later version.
+
+ PulseAudio is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with PulseAudio; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA.
+***/
+
+#include "direction.h"
+
+#include <pulsecore/i18n.h>
+
+int pa_direction_valid(pa_direction_t direction) {
+ if (direction != PA_DIRECTION_INPUT
+ && direction != PA_DIRECTION_OUTPUT
+ && direction != (PA_DIRECTION_INPUT | PA_DIRECTION_OUTPUT))
+ return 0;
+
+ return 1;
+}
+
+const char *pa_direction_to_string(pa_direction_t direction) {
+ pa_init_i18n();
+
+ if (direction == PA_DIRECTION_INPUT)
+ return _("input");
+ if (direction == PA_DIRECTION_OUTPUT)
+ return _("output");
+ if (direction == (PA_DIRECTION_INPUT | PA_DIRECTION_OUTPUT))
+ return _("bidirectional");
+
+ return _("invalid");
+}
diff --git a/src/pulse/direction.h b/src/pulse/direction.h
new file mode 100644
index 000000000..127f07af9
--- /dev/null
+++ b/src/pulse/direction.h
@@ -0,0 +1,37 @@
+#ifndef foodirectionhfoo
+#define foodirectionhfoo
+
+/***
+ This file is part of PulseAudio.
+
+ Copyright 2014 Intel Corporation
+
+ PulseAudio is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License,
+ or (at your option) any later version.
+
+ PulseAudio is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with PulseAudio; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA.
+***/
+
+#include <pulse/def.h>
+
+/** \file
+ * Utility functions for \ref pa_direction_t. */
+
+/** Return non-zero if the given value is a valid direction (either input,
+ * output or bidirectional). \since 6.0 */
+int pa_direction_valid(pa_direction_t direction) PA_GCC_CONST;
+
+/** Return a textual representation of the direction. \since 6.0 */
+const char *pa_direction_to_string(pa_direction_t direction);
+
+#endif
diff --git a/src/pulse/pulseaudio.h b/src/pulse/pulseaudio.h
index 21b7213f8..2e270ddc7 100644
--- a/src/pulse/pulseaudio.h
+++ b/src/pulse/pulseaudio.h
@@ -23,6 +23,7 @@
USA.
***/
+#include <pulse/direction.h>
#include <pulse/mainloop-api.h>
#include <pulse/sample.h>
#include <pulse/format.h>
@@ -49,8 +50,8 @@
/** \file
* Include all libpulse header files at once. The following files are
- * included: \ref mainloop-api.h, \ref sample.h, \ref def.h, \ref
- * context.h, \ref stream.h, \ref introspect.h, \ref subscribe.h, \ref
+ * included: \ref direction.h, \ref mainloop-api.h, \ref sample.h, \ref def.h,
+ * \ref context.h, \ref stream.h, \ref introspect.h, \ref subscribe.h, \ref
* scache.h, \ref version.h, \ref error.h, \ref channelmap.h, \ref
* operation.h,\ref volume.h, \ref xmalloc.h, \ref utf8.h, \ref
* thread-mainloop.h, \ref mainloop.h, \ref util.h, \ref proplist.h,