summaryrefslogtreecommitdiffstats
path: root/libmpdemux/muxer_lavf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmpdemux/muxer_lavf.c')
-rw-r--r--libmpdemux/muxer_lavf.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/libmpdemux/muxer_lavf.c b/libmpdemux/muxer_lavf.c
index b10ea65147..58059597d7 100644
--- a/libmpdemux/muxer_lavf.c
+++ b/libmpdemux/muxer_lavf.c
@@ -322,6 +322,13 @@ static void write_trailer(muxer_t *muxer)
av_free(priv->oc);
}
+static void list_formats(void) {
+ AVOutputFormat *fmt;
+ mp_msg(MSGT_DEMUX, MSGL_INFO, "Available lavf output formats:\n");
+ for (fmt = first_oformat; fmt; fmt = fmt->next)
+ mp_msg(MSGT_DEMUX, MSGL_INFO, "%15s : %s\n", fmt->name, fmt->long_name);
+}
+
extern char *out_filename;
int muxer_init_muxer_lavf(muxer_t *muxer)
{
@@ -329,6 +336,13 @@ int muxer_init_muxer_lavf(muxer_t *muxer)
AVOutputFormat *fmt = NULL;
char mp_filename[256] = "menc://stream.dummy";
+ av_register_all();
+
+ if (strcmp(conf_format, "help") == 0) {
+ list_formats();
+ return 0;
+ }
+
mp_msg(MSGT_MUXER, MSGL_WARN, "** MUXER_LAVF *****************************************************************\n");
if (!conf_allow_lavf) {
mp_msg(MSGT_MUXER, MSGL_FATAL,
@@ -351,8 +365,6 @@ int muxer_init_muxer_lavf(muxer_t *muxer)
if(priv == NULL)
return 0;
- av_register_all();
-
priv->oc = av_alloc_format_context();
if(!priv->oc)
{