mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-22 06:59:59 -05:00
reintroduce channels
Bring back the channel object. Making a node and port on the client side was rather awkward because of the async nature of many methods. It feels better to have a specific communication channel object to interface with a server side port. Use port activate/deactivate to start/stop streams Remove links from the ports. We let other objects install a callback on the port to receive and route buffers.
This commit is contained in:
parent
eefe6aacb9
commit
e167d30296
26 changed files with 2840 additions and 675 deletions
|
|
@ -41,6 +41,7 @@ struct _PinosContextPrivate
|
|||
GList *nodes;
|
||||
GList *ports;
|
||||
GList *connections;
|
||||
GList *channels;
|
||||
};
|
||||
|
||||
void pinos_subscribe_get_proxy (PinosSubscribe *subscribe,
|
||||
|
|
@ -79,3 +80,14 @@ typedef struct {
|
|||
#define PSB_MAGIC ((gsize) 5493683301u)
|
||||
#define is_valid_buffer(b) (b != NULL && \
|
||||
PSB(b)->magic == PSB_MAGIC)
|
||||
|
||||
gboolean pinos_io_read_buffer (int fd,
|
||||
PinosBuffer *sb,
|
||||
void *data,
|
||||
size_t max_data,
|
||||
int *fds,
|
||||
size_t max_fds,
|
||||
GError **error);
|
||||
gboolean pinos_io_write_buffer (int fd,
|
||||
PinosBuffer *buffer,
|
||||
GError **error);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue