PipeWire  0.3.26
pipewire.h
Go to the documentation of this file.
1 /* PipeWire
2  *
3  * Copyright © 2018 Wim Taymans
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 
25 #ifndef PIPEWIRE_H
26 #define PIPEWIRE_H
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #include <spa/support/plugin.h>
33 #include <spa/support/i18n.h>
34 
35 #include <pipewire/array.h>
36 #include <pipewire/client.h>
37 #include <pipewire/context.h>
38 #include <pipewire/device.h>
39 #include <pipewire/buffers.h>
40 #include <pipewire/core.h>
41 #include <pipewire/factory.h>
42 #include <pipewire/keys.h>
43 #include <pipewire/log.h>
44 #include <pipewire/loop.h>
45 #include <pipewire/link.h>
46 #include <pipewire/main-loop.h>
47 #include <pipewire/map.h>
48 #include <pipewire/mem.h>
49 #include <pipewire/module.h>
50 #include <pipewire/node.h>
51 #include <pipewire/properties.h>
52 #include <pipewire/proxy.h>
53 #include <pipewire/permission.h>
54 #include <pipewire/protocol.h>
55 #include <pipewire/port.h>
56 #include <pipewire/stream.h>
57 #include <pipewire/filter.h>
58 #include <pipewire/thread-loop.h>
59 #include <pipewire/data-loop.h>
60 #include <pipewire/type.h>
61 #include <pipewire/utils.h>
62 #include <pipewire/version.h>
63 
117 void
118 pw_init(int *argc, char **argv[]);
119 
120 void pw_deinit(void);
121 
122 bool
124 
125 const char *
127 
128 const char *
130 
131 const char *
133 
134 const char *
136 
137 const char *
139 
140 bool pw_in_valgrind(void);
141 
142 enum pw_direction
143 pw_direction_reverse(enum pw_direction direction);
144 
145 int pw_set_domain(const char *domain);
146 const char *pw_get_domain(void);
147 
148 uint32_t pw_get_support(struct spa_support *support, uint32_t max_support);
149 
150 struct spa_handle *pw_load_spa_handle(const char *lib,
151  const char *factory_name,
152  const struct spa_dict *info,
153  uint32_t n_support,
154  const struct spa_support support[]);
155 
156 int pw_unload_spa_handle(struct spa_handle *handle);
157 
158 const char *pw_gettext(const char *msgid);
159 const char *pw_ngettext(const char *msgid, const char *msgid_plural, unsigned long int n);
160 
161 #define _(String) (pw_gettext(String))
162 #define N_(String) (String)
163 
164 #ifdef __cplusplus
165 }
166 #endif
167 
168 #endif /* PIPEWIRE_H */
res
static uint32_t int int res
Definition: core.h:326
pw_type_info
SPA_EXPORT const struct spa_type_info * pw_type_info(void)
Definition: pipewire.c:718
pw_pipewire::pw_init
SPA_EXPORT void pw_init(int *argc, char **argv[])
Initialize PipeWire.
Definition: pipewire.c:478
SUPPORTLIB
#define SUPPORTLIB
Definition: pipewire.c:51
handle::factory_name
char * factory_name
Definition: pipewire.c:67
filter.h
data-loop.h
pw_ngettext
const char * pw_ngettext(const char *msgid, const char *msgid_plural, unsigned long int n)
Definition: pipewire.c:419
port.h
pw_log::pw_log_error
#define pw_log_error(...)
Log an error message.
factory.h
MAX_SUPPORT
#define MAX_SUPPORT
Definition: pipewire.c:49
keys.h
plugin::handles
struct spa_list handles
Definition: pipewire.c:60
pw_utils::pw_split_strv
SPA_EXPORT char ** pw_split_strv(const char *str, const char *delimiter, int max_tokens, int *n_tokens)
Split a string based on delimiters.
Definition: utils.c:71
plugin::ref
int ref
Definition: pipewire.c:61
pw_log_level
enum spa_log_level pw_log_level
The global log level.
Definition: log.c:40
pw_pipewire::pw_get_user_name
SPA_EXPORT const char * pw_get_user_name(void)
Get the user name.
Definition: pipewire.c:642
handle::ref
int ref
Definition: pipewire.c:68
pw_gettext
const char * pw_gettext(const char *msgid)
Definition: pipewire.c:414
pw_get_library_version
SPA_EXPORT const char * pw_get_library_version(void)
Get the currently running version.
Definition: pipewire.c:707
plugin::enum_func
spa_handle_factory_enum_func_t enum_func
Definition: pipewire.c:59
module.h
pw_direction
#define pw_direction
Definition: port.h:47
device.h
handle
Definition: pipewire.c:64
array.h
PW_DIRECTION_INPUT
#define PW_DIRECTION_INPUT
Definition: port.h:48
pw_in_valgrind
SPA_EXPORT bool pw_in_valgrind(void)
Definition: pipewire.c:666
type.h
pw_log::pw_log_info
#define pw_log_info(...)
Log an info message.
pw_pipewire::pw_get_host_name
SPA_EXPORT const char * pw_get_host_name(void)
Get the host name.
Definition: pipewire.c:654
protocol.h
pw_pipewire::pw_debug_is_category_enabled
SPA_EXPORT bool pw_debug_is_category_enabled(const char *name)
Check if a debug category is enabled.
Definition: pipewire.c:587
permission.h
pw_pipewire::pw_get_prgname
SPA_EXPORT const char * pw_get_prgname(void)
Get the program name.
Definition: pipewire.c:611
pw_pipewire::pw_get_application_name
SPA_EXPORT const char * pw_get_application_name(void)
Get the application name.
Definition: pipewire.c:603
pw_pipewire::pw_get_client_name
SPA_EXPORT const char * pw_get_client_name(void)
Get the client name.
Definition: pipewire.c:678
utils.h
node.h
plugin
Definition: pipewire.c:55
pw_log::pw_log_debug
#define pw_log_debug(...)
Log a debug message.
pw_log::pw_log_warn
#define pw_log_warn(...)
Log a warning message.
support::support_lib
const char * support_lib
Definition: pipewire.c:79
pw_set_domain
int pw_set_domain(const char *domain)
Definition: pipewire.c:352
pw_get_support
uint32_t pw_get_support(struct spa_support *support, uint32_t max_support)
Definition: pipewire.c:228
stream.h
pw_unload_spa_handle
SPA_EXPORT int pw_unload_spa_handle(struct spa_handle *handle)
Definition: pipewire.c:316
support::i18n_domain
char * i18n_domain
Definition: pipewire.c:81
pw_ngettext
SPA_EXPORT const char * pw_ngettext(const char *msgid, const char *msgid_plural, unsigned long int n)
Definition: pipewire.c:419
buffers.h
support::support
struct spa_support support[MAX_SUPPORT]
Definition: pipewire.c:83
pw_in_valgrind
bool pw_in_valgrind(void)
Definition: pipewire.c:666
handle::SPA_ALIGNED
struct spa_handle handle SPA_ALIGNED(8)
map.h
pw_get_domain
SPA_EXPORT const char * pw_get_domain(void)
Definition: pipewire.c:363
pw_log::pw_log_set_level
SPA_EXPORT void pw_log_set_level(enum spa_log_level level)
Set the global log level.
Definition: log.c:75
proxy.h
thread-loop.h
support::n_support
uint32_t n_support
Definition: pipewire.c:84
support::registry
struct registry * registry
Definition: pipewire.c:80
pw_log::pw_log_get
SPA_EXPORT struct spa_log * pw_log_get(void)
Get the global log interface.
Definition: log.c:65
support::i18n_iface
struct spa_interface i18n_iface
Definition: pipewire.c:82
registry::plugins
struct spa_list plugins
Definition: pipewire.c:73
support::in_valgrind
unsigned int in_valgrind
Definition: pipewire.c:85
log.h
plugin::hnd
void * hnd
Definition: pipewire.c:58
pw_gettext
SPA_EXPORT const char * pw_gettext(const char *msgid)
Definition: pipewire.c:414
pw_deinit
void pw_deinit(void)
Definition: pipewire.c:554
main-loop.h
pw_get_support
SPA_EXPORT uint32_t pw_get_support(struct spa_support *support, uint32_t max_support)
Definition: pipewire.c:228
loop.h
pw_log_is_default
bool pw_log_is_default(void)
Definition: log.c:55
handle::link
struct spa_list link
Definition: pipewire.c:65
registry
Definition: pipewire.c:72
core.h
pw_load_spa_handle
struct spa_handle * pw_load_spa_handle(const char *lib, const char *factory_name, const struct spa_dict *info, uint32_t n_support, const struct spa_support support[])
Definition: pipewire.c:237
context.h
plugin::link
struct spa_list link
Definition: pipewire.c:56
support::plugin_dir
const char * plugin_dir
Definition: pipewire.c:78
pw_set_domain
SPA_EXPORT int pw_set_domain(const char *domain)
Definition: pipewire.c:352
pipewire.h
mem.h
properties.h
pw_utils::pw_free_strv
SPA_EXPORT void pw_free_strv(char **str)
Free a NULL terminated array of strings.
Definition: utils.c:105
PW_DIRECTION_OUTPUT
#define PW_DIRECTION_OUTPUT
Definition: port.h:49
pw_get_domain
const char * pw_get_domain(void)
Definition: pipewire.c:363
pw_load_spa_handle
SPA_EXPORT struct spa_handle * pw_load_spa_handle(const char *lib, const char *factory_name, const struct spa_dict *info, uint32_t n_support, const struct spa_support support[])
Definition: pipewire.c:237
handle::plugin
struct plugin * plugin
Definition: pipewire.c:66
pw_pipewire::pw_direction_reverse
SPA_EXPORT enum pw_direction pw_direction_reverse(enum pw_direction direction)
Reverse the direction.
Definition: pipewire.c:696
pw_log::pw_log_set
SPA_EXPORT void pw_log_set(struct spa_log *log)
Set the global log interface.
Definition: log.c:49
client.h
pw_unload_spa_handle
int pw_unload_spa_handle(struct spa_handle *handle)
Definition: pipewire.c:316
plugin::filename
char * filename
Definition: pipewire.c:57
support
Definition: pipewire.c:76
support::categories
char ** categories
Definition: pipewire.c:77
pw_deinit
SPA_EXPORT void pw_deinit(void)
Definition: pipewire.c:554