Browse Source

MT#63317 support sending mixed rtpext

Change-Id: Ic504cfd9dea09eeccfc07e524aad14f87ca72692
pull/2008/head
Richard Fuchs 3 months ago
parent
commit
ab8c7a82cb
3 changed files with 9 additions and 1 deletions
  1. +1
    -1
      daemon/call.c
  2. +6
    -0
      daemon/media_socket.c
  3. +2
    -0
      include/call.h

+ 1
- 1
daemon/call.c View File

@ -674,7 +674,7 @@ static const struct extmap_ops extmap_ops_short = {
.header = extmap_header_short,
.print = extmap_print_short,
};
static const struct extmap_ops extmap_ops_long = {
const struct extmap_ops extmap_ops_long = {
.lookup = call_media_ext_lookup_ht,
.length = extmap_length_long,
.header = extmap_header_long,


+ 6
- 0
daemon/media_socket.c View File

@ -2185,6 +2185,12 @@ size_t extmap_length_short(const struct media_packet *mp) {
continue;
if (!extmap_short_is_valid(ext)) {
if (mp->media_out && !MEDIA_ISSET(mp->media_out, EXTMAP_SHORT)) {
// attempt in long form
ilog(LOG_DEBUG, "Switching RTP header extension format to long form");
mp->media_out->extmap_ops = &extmap_ops_long;
return extmap_ops_long.length(mp);
}
ilog(LOG_WARN | LOG_FLAG_LIMIT, "RTP extension with id %d length %zu not valid "
"for short form", ext->ext->id, ext->content.len);
continue;


+ 2
- 0
include/call.h View File

@ -475,6 +475,8 @@ struct extmap_ops {
size_t (*print)(void *dst, const struct rtp_extension_data *);
};
extern const struct extmap_ops extmap_ops_long;
/**
* Protected by call->master_lock, except the RO elements.


Loading…
Cancel
Save