X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Frtpdec_svq3.c;h=a4fad1cc132e3e9851381e45035814bb2ae80011;hb=863c471638fa667e6e5c5df059b67af263e1cd40;hp=d0c298fb591043e31e83693b4b8af493ab49e840;hpb=b9f9e59afc4e32a326ad6b117166f0c82fd1cbac;p=ffmpeg diff --git a/libavformat/rtpdec_svq3.c b/libavformat/rtpdec_svq3.c index d0c298fb591..a4fad1cc132 100644 --- a/libavformat/rtpdec_svq3.c +++ b/libavformat/rtpdec_svq3.c @@ -33,9 +33,8 @@ #include "rtpdec_formats.h" struct PayloadContext { - ByteIOContext *pktbuf; + AVIOContext *pktbuf; int64_t timestamp; - int is_keyframe; }; /** return 0 on packet, <0 on partial packet or error... */ @@ -90,19 +89,17 @@ static int svq3_parse_packet (AVFormatContext *s, PayloadContext *sv, if ((res = url_open_dyn_buf(&sv->pktbuf)) < 0) return res; sv->timestamp = *timestamp; - sv->is_keyframe = flags & RTP_FLAG_KEY; } if (!sv->pktbuf) return AVERROR_INVALIDDATA; - put_buffer(sv->pktbuf, buf, len); + avio_write(sv->pktbuf, buf, len); if (end_packet) { av_init_packet(pkt); pkt->stream_index = st->index; *timestamp = sv->timestamp; - pkt->flags = sv->is_keyframe ? AV_PKT_FLAG_KEY : 0; pkt->size = url_close_dyn_buf(sv->pktbuf, &pkt->data); pkt->destruct = av_destruct_packet; sv->pktbuf = NULL; @@ -128,11 +125,10 @@ static void svq3_extradata_free(PayloadContext *sv) } RTPDynamicProtocolHandler ff_svq3_dynamic_handler = { - "X-SV3V-ES", - AVMEDIA_TYPE_VIDEO, - CODEC_ID_NONE, // see if (config_packet) above - NULL, // parse sdp line - svq3_extradata_new, - svq3_extradata_free, - svq3_parse_packet, + .enc_name = "X-SV3V-ES", + .codec_type = AVMEDIA_TYPE_VIDEO, + .codec_id = CODEC_ID_NONE, // see if (config_packet) above + .open = svq3_extradata_new, + .close = svq3_extradata_free, + .parse_packet = svq3_parse_packet, };