* Try and fix the crashes in ffserver associated with the coded_frame stuff.

This code is wrong, but it is not obvious what the right code is.
* Make sure that we reset SIGPIPE before execing ffmpeg.

Originally committed as revision 1330 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Philip Gladstone 2002-12-11 03:16:51 +00:00
parent 4cb3ca724d
commit a4d70941cd
1 changed files with 9 additions and 0 deletions

View File

@ -148,6 +148,8 @@ typedef struct HTTPContext {
seconds max) */
} HTTPContext;
static AVFrame dummy_frame;
/* each generated stream is described here */
enum StreamType {
STREAM_TYPE_LIVE,
@ -402,6 +404,8 @@ static void start_children(FFStream *feed)
/* This is needed to make relative pathnames work */
chdir(my_program_dir);
signal(SIGPIPE, SIG_DFL);
execvp(pathname, feed->child_argv);
_exit(1);
@ -2090,6 +2094,10 @@ static int http_prepare_data(HTTPContext *c)
sizeof(AVStream));
st->codec.frame_number = 0; /* XXX: should be done in
AVStream, not in codec */
/* I'm pretty sure that this is not correct...
* However, without it, we crash
*/
st->codec.coded_frame = &dummy_frame;
}
c->got_key_frame = 0;
@ -3156,6 +3164,7 @@ AVStream *add_av_stream1(FFStream *stream, AVCodecContext *codec)
return NULL;
fst->priv_data = av_mallocz(sizeof(FeedData));
memcpy(&fst->codec, codec, sizeof(AVCodecContext));
fst->codec.coded_frame = &dummy_frame;
stream->streams[stream->nb_streams++] = fst;
return fst;
}