[FFmpeg-cvslog] lavf/rtpenc: Add support for 24 bit pcm encoding as defined by RFC 3190.
Carl Eugen Hoyos
git at videolan.org
Sun Oct 29 16:30:10 EET 2017
ffmpeg | branch: master | Carl Eugen Hoyos <ceffmpeg at gmail.com> | Tue Oct 24 23:03:02 2017 +0200| [75bd01090f5b93eb1d2b4543d1c01031281879a4] | committer: Carl Eugen Hoyos
lavf/rtpenc: Add support for 24 bit pcm encoding as defined by RFC 3190.
Fixes ticket #6770.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=75bd01090f5b93eb1d2b4543d1c01031281879a4
---
libavformat/rtpenc.c | 3 +++
libavformat/sdp.c | 6 ++++++
libavformat/version.h | 2 +-
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c
index 573593fa66..63047beccc 100644
--- a/libavformat/rtpenc.c
+++ b/libavformat/rtpenc.c
@@ -66,6 +66,7 @@ static int is_supported(enum AVCodecID id)
case AV_CODEC_ID_PCM_S8:
case AV_CODEC_ID_PCM_S16BE:
case AV_CODEC_ID_PCM_S16LE:
+ case AV_CODEC_ID_PCM_S24BE:
case AV_CODEC_ID_PCM_U16BE:
case AV_CODEC_ID_PCM_U16LE:
case AV_CODEC_ID_PCM_U8:
@@ -544,6 +545,8 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt)
case AV_CODEC_ID_PCM_S16BE:
case AV_CODEC_ID_PCM_S16LE:
return rtp_send_samples(s1, pkt->data, size, 16 * st->codecpar->channels);
+ case AV_CODEC_ID_PCM_S24BE:
+ return rtp_send_samples(s1, pkt->data, size, 24 * st->codecpar->channels);
case AV_CODEC_ID_ADPCM_G722:
/* The actual sample size is half a byte per sample, but since the
* stream clock rate is 8000 Hz while the sample rate is 16000 Hz,
diff --git a/libavformat/sdp.c b/libavformat/sdp.c
index 0242ca379c..e7149167a1 100644
--- a/libavformat/sdp.c
+++ b/libavformat/sdp.c
@@ -584,6 +584,12 @@ static char *sdp_write_media_attributes(char *buff, int size, AVStream *st, int
payload_type,
p->sample_rate, p->channels);
break;
+ case AV_CODEC_ID_PCM_S24BE:
+ if (payload_type >= RTP_PT_PRIVATE)
+ av_strlcatf(buff, size, "a=rtpmap:%d L24/%d/%d\r\n",
+ payload_type,
+ p->sample_rate, p->channels);
+ break;
case AV_CODEC_ID_PCM_MULAW:
if (payload_type >= RTP_PT_PRIVATE)
av_strlcatf(buff, size, "a=rtpmap:%d PCMU/%d/%d\r\n",
diff --git a/libavformat/version.h b/libavformat/version.h
index 06d54834a9..4598d86ff1 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -33,7 +33,7 @@
// Also please add any ticket numbers that you believe might be affected here
#define LIBAVFORMAT_VERSION_MAJOR 58
#define LIBAVFORMAT_VERSION_MINOR 0
-#define LIBAVFORMAT_VERSION_MICRO 101
+#define LIBAVFORMAT_VERSION_MICRO 102
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \
More information about the ffmpeg-cvslog
mailing list