PipeWire  0.3.5
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 bool
121 
122 const char *
124 
125 const char *
127 
128 const char *
130 
131 const char *
133 
134 const char *
136 
137 enum pw_direction
138 pw_direction_reverse(enum pw_direction direction);
139 
140 uint32_t pw_get_support(struct spa_support *support, uint32_t max_support);
141 
142 struct spa_handle *pw_load_spa_handle(const char *lib,
143  const char *factory_name,
144  const struct spa_dict *info,
145  uint32_t n_support,
146  const struct spa_support support[]);
147 
148 int pw_unload_spa_handle(struct spa_handle *handle);
149 
150 #ifdef __cplusplus
151 }
152 #endif
153 
154 #endif /* PIPEWIRE_H */
res
static uint32_t int int res
Definition: core.h:323
pw_type_info
SPA_EXPORT const struct spa_type_info * pw_type_info(void)
Definition: pipewire.c:534
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(...)
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:463
handle::ref
int ref
Definition: pipewire.c:62
handle::handle
struct spa_handle handle
Definition: pipewire.c:63
pw_get_library_version
SPA_EXPORT const char * pw_get_library_version(void)
Get the currently running version.
Definition: pipewire.c:523
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
type.h
pw_log::pw_log_info
#define pw_log_info(...)
pw_pipewire::pw_get_host_name
SPA_EXPORT const char * pw_get_host_name(void)
Get the host name.
Definition: pipewire.c:475
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:424
permission.h
pw_pipewire::pw_get_prgname
SPA_EXPORT const char * pw_get_prgname(void)
Get the program name.
Definition: pipewire.c:448
pw_pipewire::pw_get_application_name
SPA_EXPORT const char * pw_get_application_name(void)
Get the application name.
Definition: pipewire.c:440
pw_pipewire::pw_get_client_name
SPA_EXPORT const char * pw_get_client_name(void)
Get the client name.
Definition: pipewire.c:493
utils.h
node.h
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:218
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
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
log.h
plugin::hnd
void * hnd
Definition: pipewire.c:52
main-loop.h
pw_get_support
SPA_EXPORT uint32_t pw_get_support(struct spa_support *support, uint32_t max_support)
Definition: pipewire.c:218
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:227
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:227
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:512
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