[pulseaudio-discuss] [PATCH 1/2] direction: Add a couple of direction helper functions
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Wed Mar 26 01:50:45 PDT 2014
---
src/Makefile.am | 2 ++
src/map-file | 2 ++
src/pulse/direction.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
src/pulse/direction.h | 37 +++++++++++++++++++++++++++++++++++++
4 files changed, 87 insertions(+)
create mode 100644 src/pulse/direction.c
create mode 100644 src/pulse/direction.h
diff --git a/src/Makefile.am b/src/Makefile.am
index 99d76ce..5c2d5bc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -746,6 +746,7 @@ pulseinclude_HEADERS = \
pulse/channelmap.h \
pulse/context.h \
pulse/def.h \
+ pulse/direction.h \
pulse/error.h \
pulse/ext-device-manager.h \
pulse/ext-device-restore.h \
@@ -791,6 +792,7 @@ libpulse_la_SOURCES = \
pulse/channelmap.c pulse/channelmap.h \
pulse/context.c pulse/context.h \
pulse/def.h \
+ pulse/direction.c pulse/direction.h \
pulse/error.c pulse/error.h \
pulse/ext-device-manager.c pulse/ext-device-manager.h \
pulse/ext-device-restore.c pulse/ext-device-restore.h \
diff --git a/src/map-file b/src/map-file
index fbad1a4..dc36fdc 100644
--- a/src/map-file
+++ b/src/map-file
@@ -146,6 +146,8 @@ pa_cvolume_set_position;
pa_cvolume_snprint;
pa_cvolume_snprint_verbose;
pa_cvolume_valid;
+pa_direction_to_string;
+pa_direction_valid;
pa_encoding_to_string;
pa_ext_device_manager_delete;
pa_ext_device_manager_enable_role_device_priority_routing;
diff --git a/src/pulse/direction.c b/src/pulse/direction.c
new file mode 100644
index 0000000..95f5e00
--- /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 0000000..1d8e4b1
--- /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) PA_GCC_PURE;
+
+#endif
--
1.8.3.1
More information about the pulseaudio-discuss
mailing list