diff options
author | Carl Eugen Hoyos <ceffmpeg@gmail.com> | 2017-10-24 23:03:02 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <ceffmpeg@gmail.com> | 2017-10-29 15:30:02 +0100 |
commit | 75bd01090f5b93eb1d2b4543d1c01031281879a4 (patch) | |
tree | 566fd84f6fe51d8a73e8411c1edd96964527be83 | |
parent | e9930883a26c77261c19ea9ad9b930b065c6f579 (diff) |
lavf/rtpenc: Add support for 24 bit pcm encoding as defined by RFC 3190.
Fixes ticket #6770.
-rw-r--r-- | libavformat/rtpenc.c | 3 | ||||
-rw-r--r-- | libavformat/sdp.c | 6 | ||||
-rw-r--r-- | libavformat/version.h | 2 |
3 files changed, 10 insertions, 1 deletions
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, \ |