]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/rtpdec_svq3.c
libavformat: Add av_pkt_dump{, _log}2, taking an AVStream parameter
[ffmpeg] / libavformat / rtpdec_svq3.c
index d0c298fb591043e31e83693b4b8af493ab49e840..a4fad1cc132e3e9851381e45035814bb2ae80011 100644 (file)
@@ -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,
 };