Mercurial > libavformat.hg
comparison rtpenc.c @ 6379:0bcd6a8bc5d5 libavformat
Add RTP packetization of VP8
Patch by Josh Allmann, joshua dot allmann at gmail
author | mstorsjo |
---|---|
date | Mon, 16 Aug 2010 14:21:17 +0000 |
parents | 93c7a56fa912 |
children | 37944ce385a0 |
comparison
equal
deleted
inserted
replaced
6378:a5b3f5d68db6 | 6379:0bcd6a8bc5d5 |
---|---|
53 case CODEC_ID_MPEG2TS: | 53 case CODEC_ID_MPEG2TS: |
54 case CODEC_ID_AMR_NB: | 54 case CODEC_ID_AMR_NB: |
55 case CODEC_ID_AMR_WB: | 55 case CODEC_ID_AMR_WB: |
56 case CODEC_ID_VORBIS: | 56 case CODEC_ID_VORBIS: |
57 case CODEC_ID_THEORA: | 57 case CODEC_ID_THEORA: |
58 case CODEC_ID_VP8: | |
58 return 1; | 59 return 1; |
59 default: | 60 default: |
60 return 0; | 61 return 0; |
61 } | 62 } |
62 } | 63 } |
142 if (!s->max_frames_per_packet) s->max_frames_per_packet = 15; | 143 if (!s->max_frames_per_packet) s->max_frames_per_packet = 15; |
143 s->max_frames_per_packet = av_clip(s->max_frames_per_packet, 1, 15); | 144 s->max_frames_per_packet = av_clip(s->max_frames_per_packet, 1, 15); |
144 s->max_payload_size -= 6; // ident+frag+tdt/vdt+pkt_num+pkt_length | 145 s->max_payload_size -= 6; // ident+frag+tdt/vdt+pkt_num+pkt_length |
145 s->num_frames = 0; | 146 s->num_frames = 0; |
146 goto defaultcase; | 147 goto defaultcase; |
148 case CODEC_ID_VP8: | |
149 av_log(s1, AV_LOG_WARNING, "RTP VP8 payload is still experimental\n"); | |
150 break; | |
147 case CODEC_ID_AMR_NB: | 151 case CODEC_ID_AMR_NB: |
148 case CODEC_ID_AMR_WB: | 152 case CODEC_ID_AMR_WB: |
149 if (!s->max_frames_per_packet) | 153 if (!s->max_frames_per_packet) |
150 s->max_frames_per_packet = 12; | 154 s->max_frames_per_packet = 12; |
151 if (st->codec->codec_id == CODEC_ID_AMR_NB) | 155 if (st->codec->codec_id == CODEC_ID_AMR_NB) |
405 break; | 409 break; |
406 case CODEC_ID_VORBIS: | 410 case CODEC_ID_VORBIS: |
407 case CODEC_ID_THEORA: | 411 case CODEC_ID_THEORA: |
408 ff_rtp_send_xiph(s1, pkt->data, size); | 412 ff_rtp_send_xiph(s1, pkt->data, size); |
409 break; | 413 break; |
414 case CODEC_ID_VP8: | |
415 ff_rtp_send_vp8(s1, pkt->data, size); | |
416 break; | |
410 default: | 417 default: |
411 /* better than nothing : send the codec raw data */ | 418 /* better than nothing : send the codec raw data */ |
412 rtp_send_raw(s1, pkt->data, size); | 419 rtp_send_raw(s1, pkt->data, size); |
413 break; | 420 break; |
414 } | 421 } |