mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
rtp: use macros for rtp header length
This commit is contained in:
parent
779db9ec5d
commit
317077fa93
2 changed files with 12 additions and 12 deletions
|
@ -45,6 +45,7 @@ extern "C" {
|
|||
|
||||
/** The maximum length of a packet which contains rtp data. */
|
||||
#define RTP_INITIAL_BUFFER_LEN 1500
|
||||
#define RTP_PACKET_TYPE 21
|
||||
|
||||
/* Forward declarations */
|
||||
struct format_type;
|
||||
|
@ -60,8 +61,6 @@ struct rtp {
|
|||
struct format_type *format;
|
||||
struct io io;
|
||||
|
||||
struct mbuf *mb;
|
||||
|
||||
double rate; /**< Sample rate of source */
|
||||
|
||||
struct {
|
||||
|
@ -88,6 +87,7 @@ struct rtp {
|
|||
} aimd; /** AIMD state */
|
||||
|
||||
struct queue_signalled recv_queue;
|
||||
struct mbuf *send_mb;
|
||||
};
|
||||
|
||||
/** @see node_type::print */
|
||||
|
|
|
@ -326,11 +326,11 @@ int rtp_start(struct node *n)
|
|||
return ret;
|
||||
|
||||
/* Initialize memory buffer for sending */
|
||||
r->mb = mbuf_alloc(RTP_INITIAL_BUFFER_LEN + 12);
|
||||
if (!r->mb)
|
||||
r->send_mb = mbuf_alloc(RTP_INITIAL_BUFFER_LEN);
|
||||
if (!r->send_mb)
|
||||
return -1;
|
||||
|
||||
ret = mbuf_fill(r->mb, 0, 12);
|
||||
ret = mbuf_fill(r->send_mb, 0, RTP_HEADER_SIZE);
|
||||
if (ret)
|
||||
return -1;
|
||||
|
||||
|
@ -399,7 +399,7 @@ int rtp_stop(struct node *n)
|
|||
if (ret)
|
||||
warning("Problem destroying queue");
|
||||
|
||||
mem_deref(r->mb);
|
||||
mem_deref(r->send_mb);
|
||||
|
||||
return io_destroy(&r->io);
|
||||
}
|
||||
|
@ -508,24 +508,24 @@ int rtp_write(struct node *n, struct sample *smps[], unsigned cnt, unsigned *rel
|
|||
|
||||
uint32_t ts = (uint32_t) time(NULL);
|
||||
|
||||
retry: mbuf_set_pos(r->mb, 12);
|
||||
avail = mbuf_get_space(r->mb);
|
||||
cnt = io_sprint(&r->io, (char *) r->mb->buf + r->mb->pos, avail, &wbytes, smps, cnt);
|
||||
retry: mbuf_set_pos(r->send_mb, RTP_HEADER_SIZE);
|
||||
avail = mbuf_get_space(r->send_mb);
|
||||
cnt = io_sprint(&r->io, (char *) r->send_mb->buf + r->send_mb->pos, avail, &wbytes, smps, cnt);
|
||||
if (cnt < 0)
|
||||
return -1;
|
||||
|
||||
if (wbytes > avail) {
|
||||
ret = mbuf_resize(r->mb, wbytes + 12);
|
||||
ret = mbuf_resize(r->send_mb, wbytes + RTP_HEADER_SIZE);
|
||||
if (!ret)
|
||||
return -1;
|
||||
|
||||
goto retry;
|
||||
}
|
||||
else
|
||||
mbuf_set_end(r->mb, r->mb->pos + wbytes);
|
||||
mbuf_set_end(r->send_mb, r->send_mb->pos + wbytes);
|
||||
|
||||
/* Send dataset */
|
||||
ret = rtp_send(r->rs, &r->out.saddr_rtp, false, false, 21, ts, r->mb);
|
||||
ret = rtp_send(r->rs, &r->out.saddr_rtp, false, false, RTP_PACKET_TYPE, ts, r->send_mb);
|
||||
if (ret) {
|
||||
warning("Error from rtp_send, reason: %d", ret);
|
||||
cnt = ret;
|
||||
|
|
Loading…
Add table
Reference in a new issue