From 668fb1cb6a4ebdbf367881ca0f1b4dfd1fdafce8 Mon Sep 17 00:00:00 2001 From: Thomas Volkert Date: Mon, 30 May 2016 16:31:52 +0200 Subject: rtpenc: packetizer for VP9 RTP payload format (draft v2) --- libavformat/rtpenc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libavformat/rtpenc.c') diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c index f477650a87..db1ec81219 100644 --- a/libavformat/rtpenc.c +++ b/libavformat/rtpenc.c @@ -75,6 +75,7 @@ static int is_supported(enum AVCodecID id) case AV_CODEC_ID_VORBIS: case AV_CODEC_ID_THEORA: case AV_CODEC_ID_VP8: + case AV_CODEC_ID_VP9: case AV_CODEC_ID_ADPCM_G722: case AV_CODEC_ID_ADPCM_G726: case AV_CODEC_ID_ILBC: @@ -211,6 +212,16 @@ static int rtp_write_header(AVFormatContext *s1) s->nal_length_size = (st->codecpar->extradata[21] & 0x03) + 1; } break; + case AV_CODEC_ID_VP9: + if (s1->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) { + av_log(s, AV_LOG_ERROR, + "Packetizing VP9 is experimental and its specification is " + "still in draft state. " + "Please set -strict experimental in order to enable it.\n"); + ret = AVERROR_EXPERIMENTAL; + goto fail; + } + break; case AV_CODEC_ID_VORBIS: case AV_CODEC_ID_THEORA: s->max_frames_per_packet = 15; @@ -594,6 +605,9 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt) case AV_CODEC_ID_VP8: ff_rtp_send_vp8(s1, pkt->data, size); break; + case AV_CODEC_ID_VP9: + ff_rtp_send_vp9(s1, pkt->data, size); + break; case AV_CODEC_ID_ILBC: rtp_send_ilbc(s1, pkt->data, size); break; -- cgit v1.2.3