[FFmpeg-cvslog] ffserver: dont just crash

Mike William git at videolan.org
Sat May 21 04:57:01 CEST 2011


ffmpeg | branch: master | Mike William <mike at mikebwilliams.com> | Sat May 21 04:50:59 2011 +0200| [840238b8706ea2ca740cf4b49bffd8ae196352f9] | committer: Michael Niedermayer

ffserver: dont just crash

With changes from ubitux.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=840238b8706ea2ca740cf4b49bffd8ae196352f9
---

 ffmpeg.c   |    2 ++
 ffserver.c |    9 ++++-----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 38297cc..4d519c7 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -713,6 +713,8 @@ static int read_ffserver_streams(AVFormatContext *s, const char *filename)
         // FIXME: a more elegant solution is needed
         st = av_mallocz(sizeof(AVStream));
         memcpy(st, ic->streams[i], sizeof(AVStream));
+        st->info = av_malloc(sizeof(*st->info));
+        memcpy(st->info, ic->streams[i]->info, sizeof(*st->info));
         st->codec = avcodec_alloc_context();
         if (!st->codec) {
             print_error(filename, AVERROR(ENOMEM));
diff --git a/ffserver.c b/ffserver.c
index 517cb6f..4c2c5cf 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3386,6 +3386,9 @@ static int rtp_new_av_stream(HTTPContext *c,
     if (!st)
         goto fail;
     ctx->nb_streams = 1;
+    ctx->streams = av_mallocz(sizeof(*ctx->streams) * ctx->nb_streams);
+    if (!ctx->streams)
+        goto fail;
     ctx->streams[0] = st;
 
     if (!c->stream->feed ||
@@ -3766,11 +3769,7 @@ static void build_feed_streams(void)
             }
             s->oformat = feed->fmt;
             s->nb_streams = feed->nb_streams;
-            for(i=0;i<s->nb_streams;i++) {
-                AVStream *st;
-                st = feed->streams[i];
-                s->streams[i] = st;
-            }
+            s->streams = feed->streams;
             av_set_parameters(s, NULL);
             if (av_write_header(s) < 0) {
                 http_log("Container doesn't supports the required parameters\n");



More information about the ffmpeg-cvslog mailing list