PipeWire  0.3.66
impl-link.h
Go to the documentation of this file.
1 /* PipeWire */
2 /* SPDX-FileCopyrightText: Copyright © 2018 Wim Taymans */
3 /* SPDX-License-Identifier: MIT */
4 
5 #ifndef PIPEWIRE_IMPL_LINK_H
6 #define PIPEWIRE_IMPL_LINK_H
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
21 struct pw_impl_link;
22 struct pw_impl_port;
23 
24 #include <pipewire/impl.h>
25 
27 struct pw_impl_link_events {
28 #define PW_VERSION_IMPL_LINK_EVENTS 0
29  uint32_t version;
30 
32  void (*destroy) (void *data);
33 
35  void (*free) (void *data);
36 
38  void (*initialized) (void *data);
39 
41  void (*info_changed) (void *data, const struct pw_link_info *info);
42 
45  void (*state_changed) (void *data, enum pw_link_state old,
46  enum pw_link_state state, const char *error);
47 
49  void (*port_unlinked) (void *data, struct pw_impl_port *port);
50 };
51 
52 
55 struct pw_impl_link *
57  struct pw_impl_port *output,
58  struct pw_impl_port *input,
59  struct spa_pod *format_filter,
60  struct pw_properties *properties ,
61  size_t user_data_size );
62 
64 void pw_impl_link_destroy(struct pw_impl_link *link);
65 
67 void pw_impl_link_add_listener(struct pw_impl_link *link,
68  struct spa_hook *listener,
69  const struct pw_impl_link_events *events,
70  void *data);
71 
73 int pw_impl_link_register(struct pw_impl_link *link,
74  struct pw_properties *properties );
75 
78 
81 void *pw_impl_link_get_user_data(struct pw_impl_link *link);
82 
84 const struct pw_link_info *pw_impl_link_get_info(struct pw_impl_link *link);
85 
87 struct pw_global *pw_impl_link_get_global(struct pw_impl_link *link);
88 
91 
94 
96 struct pw_impl_link *pw_impl_link_find(struct pw_impl_port *output, struct pw_impl_port *input);
97 
102 #ifdef __cplusplus
103 }
104 #endif
105 
106 #endif /* PIPEWIRE_IMPL_LINK_H */
pipewire/impl.h
Definition: src/pipewire/context.h:47
Definition: impl.h:27
Definition: properties.h:33
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:331
Definition: pod/pod.h:43