Merge commit '25f613f8be3b51e4396b93cda131e4631ba54302'
[ffmpeg.git] / libavformat / rtpdec_svq3.c
index 4d2d6ac..bad199f 100644 (file)
@@ -28,6 +28,7 @@
 
 #include <string.h>
 #include "libavutil/intreadwrite.h"
+#include "avio_internal.h"
 #include "internal.h"
 #include "rtp.h"
 #include "rtpdec.h"
@@ -81,11 +82,7 @@ static int svq3_parse_packet (AVFormatContext *s, PayloadContext *sv,
     if (start_packet) {
         int res;
 
-        if (sv->pktbuf) {
-            uint8_t *tmp;
-            avio_close_dyn_buf(sv->pktbuf, &tmp);
-            av_free(tmp);
-        }
+        ffio_free_dyn_buf(&sv->pktbuf);
         if ((res = avio_open_dyn_buf(&sv->pktbuf)) < 0)
             return res;
         sv->timestamp   = *timestamp;
@@ -108,13 +105,9 @@ static int svq3_parse_packet (AVFormatContext *s, PayloadContext *sv,
     return AVERROR(EAGAIN);
 }
 
-static void svq3_extradata_free(PayloadContext *sv)
+static void svq3_close_context(PayloadContext *sv)
 {
-    if (sv->pktbuf) {
-        uint8_t *buf;
-        avio_close_dyn_buf(sv->pktbuf, &buf);
-        av_free(buf);
-    }
+    ffio_free_dyn_buf(&sv->pktbuf);
 }
 
 RTPDynamicProtocolHandler ff_svq3_dynamic_handler = {
@@ -122,6 +115,6 @@ RTPDynamicProtocolHandler ff_svq3_dynamic_handler = {
     .codec_type       = AVMEDIA_TYPE_VIDEO,
     .codec_id         = AV_CODEC_ID_NONE,      // see if (config_packet) above
     .priv_data_size   = sizeof(PayloadContext),
-    .free             = svq3_extradata_free,
+    .close            = svq3_close_context,
     .parse_packet     = svq3_parse_packet,
 };