direction: Add a couple of direction helper functions

This commit is contained in:
Tanu Kaskinen 2014-03-26 11:52:33 +02:00
parent 5621b7898b
commit b9147fad0f
6 changed files with 91 additions and 2 deletions

View file

@ -671,6 +671,7 @@ WARN_LOGFILE =
INPUT = @srcdir@/../src/pulse/channelmap.h \
@srcdir@/../src/pulse/context.h \
@srcdir@/../src/pulse/def.h \
@srcdir@/../src/pulse/direction.h \
@srcdir@/../src/pulse/error.h \
@srcdir@/../src/pulse/ext-stream-restore.h \
@srcdir@/../src/pulse/ext-device-manager.h \

View file

@ -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 \

View 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;

46
src/pulse/direction.c Normal file
View file

@ -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");
}

37
src/pulse/direction.h Normal file
View file

@ -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

View file

@ -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,