/*
- * Multiple format streaming server
* Copyright (c) 2000, 2001, 2002 Fabrice Bellard
*
* This file is part of FFmpeg.
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+/**
+ * @file
+ * multiple format streaming server based on the FFmpeg libraries
+ */
+
#include "config.h"
#if !HAVE_CLOSESOCKET
#define closesocket close
}
/* This is needed to make relative pathnames work */
- chdir(my_program_dir);
+ if (chdir(my_program_dir) < 0) {
+ http_log("chdir failed\n");
+ exit(1);
+ }
signal(SIGPIPE, SIG_DFL);
c->buffer_end = c->pb_buffer + len;
}
-/* check if the parser needs to be opened for stream i */
-static void open_parser(AVFormatContext *s, int i)
-{
- AVStream *st = s->streams[i];
- AVCodec *codec;
-
- if (!st->codec->codec) {
- codec = avcodec_find_decoder(st->codec->codec_id);
- if (codec && (codec->capabilities & CODEC_CAP_PARSE_ONLY)) {
- st->codec->parse_only = 1;
- if (avcodec_open2(st->codec, codec, NULL) < 0)
- st->codec->parse_only = 0;
- }
- }
-}
-
static int open_input_stream(HTTPContext *c, const char *info)
{
char buf[128];
return -1;
}
- /* open each parser */
- for(i=0;i<s->nb_streams;i++)
- open_parser(s, i);
-
/* choose stream as clock source (we favorize video stream if
present) for packet sending */
c->pts_stream_index = 0;
av_register_all();
avformat_network_init();
- show_banner();
+ show_banner(argc, argv, options);
my_program_name = argv[0];
my_program_dir = getcwd(0, 0);