aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2005-07-18 09:02:58 +0000
committerMichael Niedermayer <michaelni@gmx.at>2005-07-18 09:02:58 +0000
commit8d931070fc6248ba2d7c6b55d951be36532e90cf (patch)
tree88f6b37bea097f68287b87c9aa56dfb0b5460459
parent01f4895c682a1752bf6d138ffb0628470e16b85a (diff)
downloadffmpeg-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.c6
-rw-r--r--tests/test.conf4
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