Browse Source

MT#63317 annotate rtp_padding

Change-Id: I47107efbc4114c1e40dd600607a5cc028a84855b
pull/2008/head
Richard Fuchs 5 months ago
parent
commit
f4724b2eae
3 changed files with 9 additions and 8 deletions
  1. +6
    -6
      lib/rtplib.c
  2. +2
    -1
      lib/rtplib.h
  3. +1
    -1
      recording-daemon/packet.c

+ 6
- 6
lib/rtplib.c View File

@ -103,18 +103,18 @@ error:
}
int rtp_padding(const struct rtp_header *header, str *payload) {
bool rtp_padding(const struct rtp_header *header, str *payload) {
if (!header || !payload->s)
return 0;
return true;
if (!(header->v_p_x_cc & 0x20))
return 0; // no padding
return true; // no padding
if (payload->len == 0)
return -1;
return false;
unsigned int padding = (unsigned char) payload->s[payload->len - 1];
if (payload->len < padding)
return -1;
return false;
payload->len -= padding;
return 0;
return true;
}


+ 2
- 1
lib/rtplib.h View File

@ -129,7 +129,8 @@ extern const int num_rfc_rtp_payload_types;
__attribute__((nonnull(2)))
struct rtp_header *rtp_payload(str *p, const str *s);
int rtp_padding(const struct rtp_header *header, str *payload);
__attribute__((nonnull(2)))
bool rtp_padding(const struct rtp_header *header, str *payload);
const struct rtp_payload_type *rtp_get_rfc_payload_type(unsigned int type);
const struct rtp_payload_type *rtp_get_rfc_codec(const str *codec);


+ 1
- 1
recording-daemon/packet.c View File

@ -186,7 +186,7 @@ void packet_process(stream_t *stream, unsigned char *buf, unsigned len) {
if (!(packet->rtp = rtp_payload(&packet->payload, &bufstr)))
goto err;
if (rtp_padding(packet->rtp, &packet->payload))
if (!rtp_padding(packet->rtp, &packet->payload))
goto err;
packet->p.seq = ntohs(packet->rtp->seq_num);


Loading…
Cancel
Save