RTP Over QUIC (RoQ) stack (headers) More...


Go to the source code of this file.
Data Structures | |
| struct | imquic_roq_endpoint |
| RoQ endpoint instance. More... | |
| struct | imquic_roq_stream |
| RoQ stream (when using the same stream for multiple packets) More... | |
| struct | imquic_roq_callbacks |
| RoQ public callbacks. More... | |
Macros | |
| #define | IMQUIC_ROQ 7499633 |
Typedefs | |
| typedef struct imquic_roq_endpoint | imquic_roq_endpoint |
| RoQ endpoint instance. | |
| typedef struct imquic_roq_stream | imquic_roq_stream |
| RoQ stream (when using the same stream for multiple packets) | |
| typedef struct imquic_roq_callbacks | imquic_roq_callbacks |
| RoQ public callbacks. | |
Functions | |
| void | imquic_roq_init (void) |
| Initialize the native RoQ stack at startup. | |
| void | imquic_roq_deinit (void) |
| Uninitialize the native RoQ stack. | |
Internal callbacks for RoQ endpoints | |
| void | imquic_roq_new_connection (imquic_connection *conn, void *user_data) |
| Callback the core invokes when a new QUIC connection using RoQ is available. | |
| void | imquic_roq_stream_incoming (imquic_connection *conn, uint64_t stream_id, uint8_t *bytes, uint64_t offset, uint64_t length, gboolean complete) |
Callback the core invokes when there's new incoming data on a STREAM. | |
| void | imquic_roq_datagram_incoming (imquic_connection *conn, uint8_t *bytes, uint64_t length) |
Callback the core invokes when there's new incoming data on a DATAGRAM. | |
| void | imquic_roq_connection_gone (imquic_connection *conn) |
| Callback the core invokes when an existing RoQ connection is not available anymore. | |
QLOG events tracing for RoQ | |
| void | imquic_roq_qlog_add_rtp_packet (json_t *data, uint64_t flow_id, uint64_t length) |
| Helper to add fields for RtpPacket to an event. | |
| void | imquic_roq_qlog_stream_opened (imquic_qlog *qlog, uint64_t stream_id, uint64_t flow_id) |
Add a stream_opened event. | |
| void | imquic_roq_qlog_stream_packet_created (imquic_qlog *qlog, uint64_t stream_id, uint64_t flow_id, uint64_t length) |
Add a stream_packet_created event. | |
| void | imquic_roq_qlog_stream_packet_parsed (imquic_qlog *qlog, uint64_t stream_id, uint64_t flow_id, uint64_t length) |
Add a stream_packet_parsed event. | |
| void | imquic_roq_qlog_datagram_packet_created (imquic_qlog *qlog, uint64_t flow_id, uint64_t length) |
Add a datagram_packet_created event. | |
| void | imquic_roq_qlog_datagram_packet_parsed (imquic_qlog *qlog, uint64_t flow_id, uint64_t length) |
Add a datagram_packet_parsed event. | |
RTP Over QUIC (RoQ) stack (headers)
Implementation of the RTP Over QUIC (RoQ) stack as part of the library itself. At the time of writing, this implements (most of) version -10 of the protocol.
| #define IMQUIC_ROQ 7499633 |
| typedef struct imquic_roq_callbacks imquic_roq_callbacks |
RoQ public callbacks.
| typedef struct imquic_roq_endpoint imquic_roq_endpoint |
RoQ endpoint instance.
| typedef struct imquic_roq_stream imquic_roq_stream |
RoQ stream (when using the same stream for multiple packets)
| void imquic_roq_connection_gone | ( | imquic_connection * | conn | ) |
Callback the core invokes when an existing RoQ connection is not available anymore.
| conn | The imquic_connection instance that is now gone |
| void imquic_roq_datagram_incoming | ( | imquic_connection * | conn, |
| uint8_t * | bytes, | ||
| uint64_t | length ) |
Callback the core invokes when there's new incoming data on a DATAGRAM.
| conn | The imquic_connection instance for which new DATAGRAM data is available |
| bytes | The new data that is available |
| length | Size of the new data |
| void imquic_roq_deinit | ( | void | ) |
Uninitialize the native RoQ stack.
| void imquic_roq_init | ( | void | ) |
Initialize the native RoQ stack at startup.
| void imquic_roq_new_connection | ( | imquic_connection * | conn, |
| void * | user_data ) |
Callback the core invokes when a new QUIC connection using RoQ is available.
| conn | The imquic_connection instance that is now available |
| user_data | Optional user data the user/application may have associated to the endpoint this connection belongs to |
| void imquic_roq_qlog_add_rtp_packet | ( | json_t * | data, |
| uint64_t | flow_id, | ||
| uint64_t | length ) |
Helper to add fields for RtpPacket to an event.
| data | The data object to add the properties to |
| flow_id | The RoQ flow ID to add |
| length | The length of the RTP packet |
| void imquic_roq_qlog_datagram_packet_created | ( | imquic_qlog * | qlog, |
| uint64_t | flow_id, | ||
| uint64_t | length ) |
Add a datagram_packet_created event.
| qlog | The imquic_qlog instance to add the event to |
| flow_id | The RoQ flow ID used in the datagram |
| length | The length of the RTP packet |
| void imquic_roq_qlog_datagram_packet_parsed | ( | imquic_qlog * | qlog, |
| uint64_t | flow_id, | ||
| uint64_t | length ) |
Add a datagram_packet_parsed event.
| qlog | The imquic_qlog instance to add the event to |
| flow_id | The RoQ flow ID used in the datagram |
| length | The length of the RTP packet |
| void imquic_roq_qlog_stream_opened | ( | imquic_qlog * | qlog, |
| uint64_t | stream_id, | ||
| uint64_t | flow_id ) |
Add a stream_opened event.
| qlog | The imquic_qlog instance to add the event to |
| stream_id | The Stream ID that was opened |
| flow_id | The RoQ flow ID used in the stream |
| void imquic_roq_qlog_stream_packet_created | ( | imquic_qlog * | qlog, |
| uint64_t | stream_id, | ||
| uint64_t | flow_id, | ||
| uint64_t | length ) |
Add a stream_packet_created event.
| qlog | The imquic_qlog instance to add the event to |
| stream_id | The Stream ID used for the packet |
| flow_id | The RoQ flow ID used in the stream |
| length | The length of the RTP packet |
| void imquic_roq_qlog_stream_packet_parsed | ( | imquic_qlog * | qlog, |
| uint64_t | stream_id, | ||
| uint64_t | flow_id, | ||
| uint64_t | length ) |
Add a stream_packet_parsed event.
| qlog | The imquic_qlog instance to add the event to |
| stream_id | The Stream ID used for the packet |
| flow_id | The RoQ flow ID used in the stream |
| length | The length of the RTP packet |
| void imquic_roq_stream_incoming | ( | imquic_connection * | conn, |
| uint64_t | stream_id, | ||
| uint8_t * | bytes, | ||
| uint64_t | offset, | ||
| uint64_t | length, | ||
| gboolean | complete ) |
Callback the core invokes when there's new incoming data on a STREAM.
| conn | The imquic_connection instance for which new STREAM data is available |
| stream_id | The QUIC Stream ID for which new data is available |
| bytes | The new data that is available |
| offset | The offset in the stream this new data should be put in |
| length | Size of the new data |
| complete | Whether this data marks the end of this STREAM |