PipeWire  0.3.33
src/pipewire/thread.h
Go to the documentation of this file.
1 /* PipeWire
2  *
3  * Copyright © 2021 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_THREAD_H
26 #define PIPEWIRE_THREAD_H
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #include <string.h>
33 #include <errno.h>
34 
35 #include <spa/support/thread.h>
36 
44 
45 #define pw_thread_utils_create(...) spa_thread_utils_create(pw_thread_utils_get(), ##__VA_ARGS__)
46 #define pw_thread_utils_join(...) spa_thread_utils_join(pw_thread_utils_get(), ##__VA_ARGS__)
47 #define pw_thread_utils_get_rt_range(...) spa_thread_utils_get_rt_range(pw_thread_utils_get(), ##__VA_ARGS__)
48 #define pw_thread_utils_acquire_rt(...) spa_thread_utils_acquire_rt(pw_thread_utils_get(), ##__VA_ARGS__)
49 #define pw_thread_utils_drop_rt(...) spa_thread_utils_drop_rt(pw_thread_utils_get(), ##__VA_ARGS__)
50 
51 #ifdef __cplusplus
52 } /* extern "C" */
53 #endif
54 
55 #endif /* PIPEWIRE_THREAD_H */
utils
struct spa_thread_utils utils
Definition: thread.c:67
string.h
data
user data to add to an object
Definition: filter.c:75
SPA_EXPORT
#define SPA_EXPORT
Definition: defs.h:208
thread
Definition: module-rtkit.c:70
impl
Definition: control.c:33
spa_thread_utils
Definition: build-12775836/doc/spa/support/thread.h:52
SPA_VERSION_THREAD_UTILS_METHODS
#define SPA_VERSION_THREAD_UTILS_METHODS
Definition: build-12775836/doc/spa/support/thread.h:56
pw_thread_utils_get
struct spa_thread_utils * pw_thread_utils_get(void)
Definition: thread.c:92
spa_thread_utils_methods
thread utils
Definition: build-12775836/doc/spa/support/thread.h:55
props
const char * props
Definition: media-session.c:2382
pw_thread_utils_set
void pw_thread_utils_set(struct spa_thread_utils *impl)
Definition: thread.c:84
SPA_VERSION_THREAD_UTILS
#define SPA_VERSION_THREAD_UTILS
Definition: build-12775836/doc/spa/support/thread.h:51
start
int(* start)(struct sm_media_session *sess)
Definition: media-session.c:2381
spa_dict
Definition: utils/dict.h:48
SPA_TYPE_INTERFACE_ThreadUtils
#define SPA_TYPE_INTERFACE_ThreadUtils
Definition: build-12775836/doc/spa/support/thread.h:50
pw_thread_utils_set
void pw_thread_utils_set(struct spa_thread_utils *impl)
Definition: thread.c:84
defs.h
list.h
SPA_CALLBACKS_INIT
#define SPA_CALLBACKS_INIT(_funcs, _data)
Initialize the set of functions funcs as a spa_callbacks, together with _data.
Definition: hook.h:142
pw_thread_utils_get
struct spa_thread_utils * pw_thread_utils_get(void)
Definition: thread.c:92
thread.h
methods
struct spa_thread_utils_methods methods
Definition: thread.c:68
log.h