diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2005-07-18 09:02:58 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2005-07-18 09:02:58 +0000 |
commit | 8d931070fc6248ba2d7c6b55d951be36532e90cf (patch) | |
tree | 88f6b37bea097f68287b87c9aa56dfb0b5460459 | |
parent | 01f4895c682a1752bf6d138ffb0628470e16b85a (diff) | |
download | ffmpeg-8d931070fc6248ba2d7c6b55d951be36532e90cf.tar.gz |
ffserver segfault & other fatal failure fixes
Originally committed as revision 4454 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | ffserver.c | 6 | ||||
-rw-r--r-- | tests/test.conf | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/ffserver.c b/ffserver.c index 6c0707be71..913520fa4c 100644 --- a/ffserver.c +++ b/ffserver.c @@ -2000,6 +2000,7 @@ static int http_prepare_data(HTTPContext *c) AVStream *st; AVStream *src; st = av_mallocz(sizeof(AVStream)); + st->codec= avcodec_alloc_context(); c->fmt_ctx.streams[i] = st; /* if file or feed, then just take streams from FFStream struct */ if (!c->stream->feed || @@ -3138,6 +3139,7 @@ static int rtp_new_av_stream(HTTPContext *c, st = av_mallocz(sizeof(AVStream)); if (!st) goto fail; + st->codec= avcodec_alloc_context(); ctx->nb_streams = 1; ctx->streams[0] = st; @@ -3221,6 +3223,7 @@ static AVStream *add_av_stream1(FFStream *stream, AVCodecContext *codec) fst = av_mallocz(sizeof(AVStream)); if (!fst) return NULL; + fst->codec= avcodec_alloc_context(); fst->priv_data = av_mallocz(sizeof(FeedData)); memcpy(fst->codec, codec, sizeof(AVCodecContext)); fst->codec->coded_frame = &dummy_frame; @@ -3664,6 +3667,7 @@ static void add_codec(FFStream *stream, AVCodecContext *av) st = av_mallocz(sizeof(AVStream)); if (!st) return; + st->codec = avcodec_alloc_context(); stream->streams[stream->nb_streams++] = st; memcpy(st->codec, av, sizeof(AVCodecContext)); } @@ -3971,7 +3975,7 @@ static int parse_ffconfig(const char *filename) stream->stream_type = STREAM_TYPE_LIVE; /* jpeg cannot be used here, so use single frame jpeg */ if (!strcmp(arg, "jpeg")) - strcpy(arg, "singlejpeg"); + strcpy(arg, "mjpeg"); stream->fmt = guess_stream_format(arg, NULL, NULL); if (!stream->fmt) { fprintf(stderr, "%s:%d: Unknown Format: %s\n", diff --git a/tests/test.conf b/tests/test.conf index 5e58975f18..e57d524821 100644 --- a/tests/test.conf +++ b/tests/test.conf @@ -218,7 +218,7 @@ MaxTime 100 <Stream test.jpg> Feed feed1.ffm -Format singlejpeg +Format mjpeg VideoFrameRate 1 VideoSize 352x288 @@ -231,7 +231,7 @@ PreRoll 2 <Stream test_small.jpg> Feed feed1.ffm -Format singlejpeg +Format mjpeg VideoFrameRate 1 VideoSize 160x128 |