Get rid of av_destruct_packet_nofree and use NULL instead.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 11 Apr 2009 12:42:29 +0000 (12:42 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 11 Apr 2009 12:42:29 +0000 (12:42 +0000)
It is still used in comparisons to keep ABI compatibility.

Originally committed as revision 18431 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/avcodec.h
libavcodec/avpacket.c
libavformat/utils.c

index f500151..cb64d82 100644 (file)
@@ -2630,7 +2630,10 @@ typedef struct AVSubtitle {
 
 /* packet functions */
 
-void av_destruct_packet_nofree(AVPacket *pkt);
+/**
+ * @deprecated use NULL instead
+ */
+attribute_deprecated void av_destruct_packet_nofree(AVPacket *pkt);
 
 /**
  * Default packet destructor.
@@ -2675,8 +2678,9 @@ int av_dup_packet(AVPacket *pkt);
  */
 static inline void av_free_packet(AVPacket *pkt)
 {
-    if (pkt && pkt->destruct) {
-        pkt->destruct(pkt);
+    if (pkt) {
+        if (pkt->destruct) pkt->destruct(pkt);
+        pkt->data = NULL; pkt->size = 0;
     }
 }
 
index d91ee3a..1943247 100644 (file)
@@ -42,7 +42,7 @@ void av_init_packet(AVPacket *pkt)
     pkt->convergence_duration = 0;
     pkt->flags = 0;
     pkt->stream_index = 0;
-    pkt->destruct= av_destruct_packet_nofree;
+    pkt->destruct= NULL;
 }
 
 int av_new_packet(AVPacket *pkt, int size)
index d209fe7..535da98 100644 (file)
@@ -923,7 +923,7 @@ static int av_read_frame_internal(AVFormatContext *s, AVPacket *pkt)
                     pkt->pts = st->parser->pts;
                     pkt->dts = st->parser->dts;
                     pkt->pos = st->parser->pos;
-                    pkt->destruct = av_destruct_packet_nofree;
+                    pkt->destruct = NULL;
                     compute_pkt_fields(s, st, st->parser, pkt);
 
                     if((s->iformat->flags & AVFMT_GENERIC_INDEX) && pkt->flags & PKT_FLAG_KEY){