lavf/rtpdec_g726: Map mime type G726 to g726le.

Add new mime types AAL2-G726 for g726 as suggested in rfc 3551.

This patch will break interaction with applications that incorrectly
use big-endian G.726 with mime type G726 but we know of at least one
device (DVTel camera) that correctly implements the rfc, so do the same.

Fixes ticket #5890.
pull/240/head
Carl Eugen Hoyos 8 years ago
parent 41da4f8cb3
commit 6969bed12c
  1. 1
      Changelog
  2. 4
      libavformat/rtpdec.c
  3. 4
      libavformat/rtpdec_formats.h
  4. 8
      libavformat/rtpdec_g726.c
  5. 2
      libavformat/version.h

@ -37,6 +37,7 @@ version <next>:
- libfaac encoder removed
- Matroska muxer now writes CRC32 elements by default in all Level 1 elements
- sidedata video and asidedata audio filter
- Changed mapping of rtp MIME type G726 to codec g726le.
version 3.1:

@ -81,6 +81,10 @@ void ff_register_rtp_dynamic_payload_handlers(void)
ff_register_dynamic_payload_handler(&ff_g726_24_dynamic_handler);
ff_register_dynamic_payload_handler(&ff_g726_32_dynamic_handler);
ff_register_dynamic_payload_handler(&ff_g726_40_dynamic_handler);
ff_register_dynamic_payload_handler(&ff_g726le_16_dynamic_handler);
ff_register_dynamic_payload_handler(&ff_g726le_24_dynamic_handler);
ff_register_dynamic_payload_handler(&ff_g726le_32_dynamic_handler);
ff_register_dynamic_payload_handler(&ff_g726le_40_dynamic_handler);
ff_register_dynamic_payload_handler(&ff_h261_dynamic_handler);
ff_register_dynamic_payload_handler(&ff_h263_1998_dynamic_handler);
ff_register_dynamic_payload_handler(&ff_h263_2000_dynamic_handler);

@ -55,6 +55,10 @@ extern RTPDynamicProtocolHandler ff_g726_16_dynamic_handler;
extern RTPDynamicProtocolHandler ff_g726_24_dynamic_handler;
extern RTPDynamicProtocolHandler ff_g726_32_dynamic_handler;
extern RTPDynamicProtocolHandler ff_g726_40_dynamic_handler;
extern RTPDynamicProtocolHandler ff_g726le_16_dynamic_handler;
extern RTPDynamicProtocolHandler ff_g726le_24_dynamic_handler;
extern RTPDynamicProtocolHandler ff_g726le_32_dynamic_handler;
extern RTPDynamicProtocolHandler ff_g726le_40_dynamic_handler;
extern RTPDynamicProtocolHandler ff_h261_dynamic_handler;
extern RTPDynamicProtocolHandler ff_h263_1998_dynamic_handler;
extern RTPDynamicProtocolHandler ff_h263_2000_dynamic_handler;

@ -36,10 +36,16 @@ static av_cold int g726_ ## bitrate ##_init(AVFormatContext *s, int st_index, \
} \
\
RTPDynamicProtocolHandler ff_g726_ ## bitrate ## _dynamic_handler = { \
.enc_name = "G726-" #bitrate, \
.enc_name = "AAL2-G726-" #bitrate, \
.codec_type = AVMEDIA_TYPE_AUDIO, \
.codec_id = AV_CODEC_ID_ADPCM_G726, \
.init = g726_ ## bitrate ## _init, \
}; \
RTPDynamicProtocolHandler ff_g726le_ ## bitrate ## _dynamic_handler = { \
.enc_name = "G726-" #bitrate, \
.codec_type = AVMEDIA_TYPE_AUDIO, \
.codec_id = AV_CODEC_ID_ADPCM_G726LE, \
.init = g726_ ## bitrate ## _init, \
}
RTP_G726_HANDLER(16);

@ -32,7 +32,7 @@
// Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
// Also please add any ticket numbers that you believe might be affected here
#define LIBAVFORMAT_VERSION_MAJOR 57
#define LIBAVFORMAT_VERSION_MINOR 52
#define LIBAVFORMAT_VERSION_MINOR 53
#define LIBAVFORMAT_VERSION_MICRO 100
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \

Loading…
Cancel
Save