PipeWire  0.3.15
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 *
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:619
pw_pipewire::pw_init
SPA_EXPORT void pw_init(int *argc, char **argv[])
Initialize PipeWire.
Definition: pipewire.c:390
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_pipewire::pw_get_host_name
const SPA_EXPORT char * pw_get_host_name(void)
Get the host name.
Definition: pipewire.c:554
pw_log::pw_log_error
#define pw_log_error(...)
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
handle::ref
int ref
Definition: pipewire.c:62
handle::handle
struct spa_handle handle
Definition: pipewire.c:63
plugin::enum_func
spa_handle_factory_enum_func_t enum_func
Definition: pipewire.c:53
module.h
pw_get_library_version
const SPA_EXPORT char * pw_get_library_version(void)
Get the currently running version.
Definition: pipewire.c:608
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:566
type.h
pw_log::pw_log_info
#define pw_log_info(...)
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:487
permission.h
utils.h
pw_pipewire::pw_get_application_name
const SPA_EXPORT char * pw_get_application_name(void)
Get the application name.
Definition: pipewire.c:503
pw_pipewire::pw_get_client_name
const SPA_EXPORT char * pw_get_client_name(void)
Get the client name.
Definition: pipewire.c:578
node.h
pw_pipewire::pw_get_user_name
const SPA_EXPORT char * pw_get_user_name(void)
Get the user name.
Definition: pipewire.c:542
plugin
Definition: pipewire.c:49
pw_log::pw_log_debug
#define pw_log_debug(...)
pw_log::pw_log_warn
#define pw_log_warn(...)
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:566
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:455
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_pipewire::pw_get_prgname
const SPA_EXPORT char * pw_get_prgname(void)
Get the program name.
Definition: pipewire.c:511
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:597
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:455