PipeWire: pipewire.h Source File

PipeWire 0.3.12

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
34 #include <pipewire/array.h>
35 #include <pipewire/client.h>
36 #include <pipewire/context.h>
37 #include <pipewire/device.h>
38 #include <pipewire/buffers.h>
39 #include <pipewire/core.h>
40 #include <pipewire/factory.h>
41 #include <pipewire/keys.h>
42 #include <pipewire/log.h>
43 #include <pipewire/loop.h>
44 #include <pipewire/link.h>
45 #include <pipewire/main-loop.h>
46 #include <pipewire/map.h>
47 #include <pipewire/mem.h>
48 #include <pipewire/module.h>
49 #include <pipewire/node.h>
50 #include <pipewire/properties.h>
51 #include <pipewire/proxy.h>
52 #include <pipewire/permission.h>
53 #include <pipewire/protocol.h>
54 #include <pipewire/port.h>
55 #include <pipewire/stream.h>
56 #include <pipewire/filter.h>
57 #include <pipewire/thread-loop.h>
58 #include <pipewire/data-loop.h>
59 #include <pipewire/type.h>
60 #include <pipewire/utils.h>
61 #include <pipewire/version.h>
62
116 void
117 pw_init(int *argc, char **argv[]);
118
119 void pw_deinit(void);
120
121 bool
122 pw_debug_is_category_enabled(const char *name);
123
124 const char *
125 pw_get_application_name(void);
126
127 const char *
128 pw_get_prgname(void);
129
130 const char *
131 pw_get_user_name(void);
132
133 const char *
134 pw_get_host_name(void);
135
136 const char *
137 pw_get_client_name(void);
138
139 bool pw_in_valgrind(void);
140
141 enum pw_direction
142 pw_direction_reverse(enum pw_direction direction);
143
144 uint32_t pw_get_support(struct spa_support *support, uint32_t max_support);
145
146 struct spa_handle *pw_load_spa_handle(const char *lib,
147 const char *factory_name,
148 const struct spa_dict *info,
149 uint32_t n_support,
150 const struct spa_support support[]);
151
152 int pw_unload_spa_handle(struct spa_handle *handle);
153
154 #ifdef __cplusplus
155 }
156 #endif
157
158 #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:582
pw_pipewire::pw_init
SPA_EXPORT void pw_init(int *argc, char **argv[])
Initialize PipeWire.
Definition: pipewire.c:356
SUPPORTLIB
#define SUPPORTLIB
Definition: pipewire.c:47
handle::factory_name
char * factory_name
Definition: pipewire.c:61
filter.h
data-loop.h
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:45
keys.h
plugin::handles
struct spa_list handles
Definition: pipewire.c:54
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:55
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:505
handle::ref
int ref
Definition: pipewire.c:62
handle::handle
struct spa_handle handle
Definition: pipewire.c:63
link.h
pw_get_library_version
SPA_EXPORT const char * pw_get_library_version(void)
Get the currently running version.
Definition: pipewire.c:571
plugin::enum_func
spa_handle_factory_enum_func_t enum_func
Definition: pipewire.c:53
module.h
pw_direction
#define pw_direction
Definition: port.h:47
device.h
handle
Definition: pipewire.c:58
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:529
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:517
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:450
permission.h
pw_pipewire::pw_get_prgname
SPA_EXPORT const char * pw_get_prgname(void)
Get the program name.
Definition: pipewire.c:474
pw_pipewire::pw_get_application_name
SPA_EXPORT const char * pw_get_application_name(void)
Get the application name.
Definition: pipewire.c:466
pw_pipewire::pw_get_client_name
SPA_EXPORT const char * pw_get_client_name(void)
Get the client name.
Definition: pipewire.c:541
utils.h
node.h
plugin
Definition: pipewire.c:49
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:73
pw_get_support
uint32_t pw_get_support(struct spa_support *support, uint32_t max_support)
Definition: pipewire.c:220
stream.h
pw_unload_spa_handle
SPA_EXPORT int pw_unload_spa_handle(struct spa_handle *handle)
Definition: pipewire.c:308
buffers.h
support::support
struct spa_support support[MAX_SUPPORT]
Definition: pipewire.c:75
pw_in_valgrind
bool pw_in_valgrind(void)
Definition: pipewire.c:529
map.h
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:76
support::registry
struct registry * registry
Definition: pipewire.c:74
pw_log::pw_log_get
SPA_EXPORT struct spa_log * pw_log_get(void)
Get the global log interface.
Definition: log.c:65
registry::plugins
struct spa_list plugins
Definition: pipewire.c:67
support::in_valgrind
unsigned int in_valgrind
Definition: pipewire.c:77
log.h
plugin::hnd
void * hnd
Definition: pipewire.c:52
pw_deinit
void pw_deinit(void)
Definition: pipewire.c:415
main-loop.h
pw_get_support
SPA_EXPORT uint32_t pw_get_support(struct spa_support *support, uint32_t max_support)
Definition: pipewire.c:220
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:59
registry
Definition: pipewire.c:66
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:229
context.h
plugin::link
struct spa_list link
Definition: pipewire.c:50
support::plugin_dir
const char * plugin_dir
Definition: pipewire.c:72
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_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:229
handle::plugin
struct plugin * plugin
Definition: pipewire.c:60
pw_pipewire::pw_direction_reverse
SPA_EXPORT enum pw_direction pw_direction_reverse(enum pw_direction direction)
Reverse the direction.
Definition: pipewire.c:560
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:308
plugin::filename
char * filename
Definition: pipewire.c:51
support
Definition: pipewire.c:70
support::categories
char ** categories
Definition: pipewire.c:71
pw_deinit
SPA_EXPORT void pw_deinit(void)
Definition: pipewire.c:415