lavf/rtpdec_g726: Map mime type G726 to g726le.
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Sat, 22 Oct 2016 01:53:38 +0000 (03:53 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Sat, 22 Oct 2016 01:53:38 +0000 (03:53 +0200)
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.

Changelog
libavformat/rtpdec.c
libavformat/rtpdec_formats.h
libavformat/rtpdec_g726.c
libavformat/version.h

index c319388..e05b1af 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -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:
index f73cb41..51feeea 100644 (file)
@@ -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);
index cf251a5..3292a3d 100644 (file)
@@ -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;
index 172a4b3..2de09ac 100644 (file)
@@ -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);
index a0747a3..88b69e9 100644 (file)
@@ -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, \