mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-07 13:30:09 -05:00
avb: implement streams
Add in input/output stream, setup the talker/listeners. Implement IEC61883 audio packets, send and receive data. Implement talker encoding. With this, audio can be sent and received from MOTU M64.
This commit is contained in:
parent
460cedbc86
commit
e0d6b2bb4f
15 changed files with 1083 additions and 94 deletions
|
|
@ -100,41 +100,4 @@ struct avb_packet_aaf {
|
|||
uint8_t payload[0];
|
||||
} __attribute__ ((__packed__));
|
||||
|
||||
#define AVB_PACKET_AAF_SET_SUBTYPE(p,v) ((p)->subtype = (v))
|
||||
#define AVB_PACKET_AAF_SET_SV(p,v) ((p)->sv = (v))
|
||||
#define AVB_PACKET_AAF_SET_VERSION(p,v) ((p)->version = (v))
|
||||
#define AVB_PACKET_AAF_SET_MR(p,v) ((p)->mr = (v))
|
||||
#define AVB_PACKET_AAF_SET_GV(p,v) ((p)->gv = (v))
|
||||
#define AVB_PACKET_AAF_SET_TV(p,v) ((p)->tv = (v))
|
||||
#define AVB_PACKET_AAF_SET_SEQ_NUM(p,v) ((p)->seq_num = (v))
|
||||
#define AVB_PACKET_AAF_SET_TU(p,v) ((p)->tu = (v))
|
||||
#define AVB_PACKET_AAF_SET_STREAM_ID(p,v) ((p)->stream_id = htobe64(v))
|
||||
#define AVB_PACKET_AAF_SET_TIMESTAMP(p,v) ((p)->timestamp = htonl(v))
|
||||
#define AVB_PACKET_AAF_SET_DATA_LEN(p,v) ((p)->data_len = htons(v))
|
||||
#define AVB_PACKET_AAF_SET_FORMAT(p,v) ((p)->format = (v))
|
||||
#define AVB_PACKET_AAF_SET_NSR(p,v) ((p)->nsr = (v))
|
||||
#define AVB_PACKET_AAF_SET_CHAN_PER_FRAME(p,v) ((p)->chan_per_frame = (v))
|
||||
#define AVB_PACKET_AAF_SET_BIT_DEPTH(p,v) ((p)->bit_depth = (v))
|
||||
#define AVB_PACKET_AAF_SET_SP(p,v) ((p)->sp = (v))
|
||||
#define AVB_PACKET_AAF_SET_EVENT(p,v) ((p)->event = (v))
|
||||
|
||||
#define AVB_PACKET_AAF_GET_SUBTYPE(p) ((p)->subtype)
|
||||
#define AVB_PACKET_AAF_GET_SV(p) ((p)->sv)
|
||||
#define AVB_PACKET_AAF_GET_VERSION(p) ((p)->version)
|
||||
#define AVB_PACKET_AAF_GET_MR(p) ((p)->mr)
|
||||
#define AVB_PACKET_AAF_GET_GV(p) ((p)->gv)
|
||||
#define AVB_PACKET_AAF_GET_TV(p) ((p)->tv)
|
||||
#define AVB_PACKET_AAF_GET_SEQ_NUM(p) ((p)->seq_num)
|
||||
#define AVB_PACKET_AAF_GET_TU(p) ((p)->tu)
|
||||
#define AVB_PACKET_AAF_GET_STREAM_ID(p) be64toh((p)->stream_id)
|
||||
#define AVB_PACKET_AAF_GET_TIMESTAMP(p) ntohl((p)->timestamp)
|
||||
#define AVB_PACKET_AAF_GET_DATA_LEN(p) ntohs((p)->data_len)
|
||||
#define AVB_PACKET_AAF_GET_FORMAT(p) ((p)->format)
|
||||
#define AVB_PACKET_AAF_GET_NSR(p) ((p)->nsr)
|
||||
#define AVB_PACKET_AAF_GET_CHAN_PER_FRAME(p) ((p)->chan_per_frame)
|
||||
#define AVB_PACKET_AAF_GET_BIT_DEPTH(p) ((p)->bit_depth)
|
||||
#define AVB_PACKET_AAF_GET_SP(p) ((p)->sp)
|
||||
#define AVB_PACKET_AAF_GET_EVENT(p) ((p)->event)
|
||||
|
||||
|
||||
#endif /* AVB_AAF_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue