ffserver deallocate ctx->streams on closing patch by (Mark Hills <mark at pogo dot...
authorMark Hills <mark@pogo.org.uk>
Wed, 26 Mar 2003 10:30:08 +0000 (10:30 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 26 Mar 2003 10:30:08 +0000 (10:30 +0000)
Originally committed as revision 1704 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffserver.c
libavformat/aviobuf.c

index 73e61e5..173ae84 100644 (file)
@@ -744,8 +744,12 @@ static void close_connection(HTTPContext *c)
         }
     }
 
+    ctx = &c->fmt_ctx;
+
+    for(i=0; i<ctx->nb_streams; i++) 
+        av_free(ctx->streams[i]) ; 
+
     if (!c->last_packet_sent) {
-        ctx = &c->fmt_ctx;
         if (ctx->oformat) {
             /* prepare header */
             if (url_open_dyn_buf(&ctx->pb) >= 0) {
index fc1ae2c..11d00f2 100644 (file)
@@ -569,12 +569,9 @@ static void dyn_buf_write(void *opaque, uint8_t *buf, int buf_size)
     }
     
     if (new_allocated_size > d->allocated_size) {
-        new_buffer = av_malloc(new_allocated_size);
-        if (!new_buffer)
-            return;
-        memcpy(new_buffer, d->buffer, d->size);
-        av_free(d->buffer);
-        d->buffer = new_buffer;
+        d->buffer = av_realloc(d->buffer, new_allocated_size);
+        if(d->buffer == NULL)
+             return ;
         d->allocated_size = new_allocated_size;
     }
     memcpy(d->buffer + d->pos, buf, buf_size);