aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2007-09-27 06:38:40 +0000
committerBenoit Fouet <benoit.fouet@free.fr>2007-09-27 06:38:40 +0000
commit86074ed1b7d32f504a942bdcb0b40f2830d27e54 (patch)
treea3f5e61723fd58c271cfc0353c60d4b870a1ea2d
parent20693c85b2910828d424db9761ab25ea7f99f5ce (diff)
downloadffmpeg-86074ed1b7d32f504a942bdcb0b40f2830d27e54.tar.gz
Implement common show version and banner.
Patch by Stefano Sabatini [stefano sabatini-lala poste it] Originally committed as revision 10600 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--cmdutils.c26
-rw-r--r--cmdutils.h17
-rw-r--r--ffmpeg.c27
-rw-r--r--ffserver.c12
4 files changed, 53 insertions, 29 deletions
diff --git a/cmdutils.c b/cmdutils.c
index 6726c3642b..2228a7e050 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -26,6 +26,7 @@
#include "avformat.h"
#include "cmdutils.h"
#include "avstring.h"
+#include "version.h"
#undef exit
@@ -152,6 +153,31 @@ void print_error(const char *filename, int err)
}
}
+void show_banner(const char *program_name, int program_birth_year)
+{
+ fprintf(stderr, "%s version " FFMPEG_VERSION ", Copyright (c) %d-2007 Fabrice Bellard, et al.\n",
+ program_name, program_birth_year);
+ fprintf(stderr, " configuration: " FFMPEG_CONFIGURATION "\n");
+ fprintf(stderr, " libavutil version: " AV_STRINGIFY(LIBAVUTIL_VERSION) "\n");
+ fprintf(stderr, " libavcodec version: " AV_STRINGIFY(LIBAVCODEC_VERSION) "\n");
+ fprintf(stderr, " libavformat version: " AV_STRINGIFY(LIBAVFORMAT_VERSION) "\n");
+ fprintf(stderr, " built on " __DATE__ " " __TIME__);
+#ifdef __GNUC__
+ fprintf(stderr, ", gcc: " __VERSION__ "\n");
+#else
+ fprintf(stderr, ", using a non-gcc compiler\n");
+#endif
+}
+
+void show_version(const char *program_name) {
+ /* TODO: add function interface to avutil and avformat */
+ printf("%s " FFMPEG_VERSION "\n", program_name);
+ printf("libavutil %d\n"
+ "libavcodec %d\n"
+ "libavformat %d\n",
+ LIBAVUTIL_BUILD, avcodec_build(), LIBAVFORMAT_BUILD);
+}
+
void show_license(void)
{
#ifdef CONFIG_GPL
diff --git a/cmdutils.h b/cmdutils.h
index e44b6b5bd1..36734efd5e 100644
--- a/cmdutils.h
+++ b/cmdutils.h
@@ -65,6 +65,23 @@ void parse_options(int argc, char **argv, const OptionDef *options,
void print_error(const char *filename, int err);
/**
+ * Prints the banner of the program on stderr. The banner message
+ * depends on the current versions of the repository and of the libav*
+ * libraries.
+ * @param program_name Name of the program.
+ * @param program_birth_year Year of birth of the program.
+ */
+void show_banner(const char *program_name, int program_birth_year);
+
+/**
+ * Prints the version of the program on stdout. The version message
+ * depends on the current versions of the repository and of the libav*
+ * libraries.
+ * @param program_name Name of the program.
+ */
+void show_version(const char *program_name);
+
+/**
* Prints on stdout the license of the program, which depends on the license of
* the compiled libav* libraries.
*/
diff --git a/ffmpeg.c b/ffmpeg.c
index 0687780610..62d3be73d6 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -63,6 +63,9 @@
#undef exit
+static const char program_name[] = "FFmpeg";
+static const int program_birth_year = 2000;
+
/* select an input stream for an output stream */
typedef struct AVStreamMap {
int file_index;
@@ -3564,12 +3567,7 @@ static void opt_audio_bsf(const char *arg)
static void opt_show_version(void)
{
- /* TODO: add function interface to avutil and avformat */
- fprintf(stderr, "ffmpeg " FFMPEG_VERSION "\n"
- "libavutil %d\n"
- "libavcodec %d\n"
- "libavformat %d\n",
- LIBAVUTIL_BUILD, avcodec_build(), LIBAVFORMAT_BUILD);
+ show_version(program_name);
exit(0);
}
@@ -3736,21 +3734,6 @@ const OptionDef options[] = {
{ NULL, },
};
-static void show_banner(void)
-{
- fprintf(stderr, "FFmpeg version " FFMPEG_VERSION ", Copyright (c) 2000-2007 Fabrice Bellard, et al.\n");
- fprintf(stderr, " configuration: " FFMPEG_CONFIGURATION "\n");
- fprintf(stderr, " libavutil version: " AV_STRINGIFY(LIBAVUTIL_VERSION) "\n");
- fprintf(stderr, " libavcodec version: " AV_STRINGIFY(LIBAVCODEC_VERSION) "\n");
- fprintf(stderr, " libavformat version: " AV_STRINGIFY(LIBAVFORMAT_VERSION) "\n");
- fprintf(stderr, " built on " __DATE__ " " __TIME__);
-#ifdef __GNUC__
- fprintf(stderr, ", gcc: " __VERSION__ "\n");
-#else
- fprintf(stderr, ", using a non-gcc compiler\n");
-#endif
-}
-
static void opt_show_license(void)
{
show_license();
@@ -3866,7 +3849,7 @@ int main(int argc, char **argv)
avformat_opts = av_alloc_format_context();
sws_opts = sws_getContext(16,16,0, 16,16,0, sws_flags, NULL,NULL,NULL);
- show_banner();
+ show_banner(program_name, program_birth_year);
if (argc <= 1) {
show_help();
exit(1);
diff --git a/ffserver.c b/ffserver.c
index 90bc908973..ef96078766 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -53,6 +53,9 @@
#undef exit
+static const char program_name[] = "FFserver";
+static const int program_birth_year = 2000;
+
/* maximum number of simultaneous HTTP connections */
#define HTTP_MAX_CONNECTIONS 2000
@@ -4313,14 +4316,9 @@ static int parse_ffconfig(const char *filename)
return 0;
}
-static void show_banner(void)
-{
- printf("ffserver version " FFMPEG_VERSION ", Copyright (c) 2000-2006 Fabrice Bellard, et al.\n");
-}
-
static void show_help(void)
{
- show_banner();
+ show_banner(program_name, program_birth_year);
printf("usage: ffserver [-L] [-h] [-f configfile]\n"
"Hyper fast multi format Audio/Video streaming server\n"
"\n"
@@ -4375,7 +4373,7 @@ int main(int argc, char **argv)
break;
switch(c) {
case 'L':
- show_banner();
+ show_banner(program_name, program_birth_year);
show_license();
exit(0);
case '?':