From ef91f5aad83e6f017cbfa37339ae037d9f845800 Mon Sep 17 00:00:00 2001 From: reimar Date: Sat, 14 Apr 2007 10:03:42 +0000 Subject: Add lavf_preferred demuxer for lavf formats we want to be probed before our native demuxers and remove some now unneeded file-extension hacks. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22989 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_lavf.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'libmpdemux/demux_lavf.c') diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c index 8cee30b154..943739d323 100644 --- a/libmpdemux/demux_lavf.c +++ b/libmpdemux/demux_lavf.c @@ -210,6 +210,29 @@ static int lavf_check_file(demuxer_t *demuxer){ return DEMUXER_TYPE_LAVF; } + +static const char *preferred_list[] = { + "dxa", + "wv", + "nuv", + "nut", + "gxf", + "mxf", + NULL +}; + +static int lavf_check_preferred_file(demuxer_t *demuxer){ + if (lavf_check_file(demuxer)) { + char **p = preferred_list; + lavf_priv_t *priv = demuxer->priv; + while (*p) { + if (strcmp(*p, priv->avif->name) == 0) + return DEMUXER_TYPE_LAVF_PREFERRED; + p++; + } + } + return 0; +} static demuxer_t* demux_open_lavf(demuxer_t *demuxer){ AVFormatContext *avfc; @@ -609,3 +632,18 @@ demuxer_desc_t demuxer_desc_lavf = { demux_lavf_control }; +demuxer_desc_t demuxer_desc_lavf_preferred = { + "libavformat preferred demuxer", + "lavfpref", + "libavformat", + "Michael Niedermayer", + "supports many formats, requires libavformat", + DEMUXER_TYPE_LAVF_PREFERRED, + 0, // Check after other demuxer + lavf_check_preferred_file, + demux_lavf_fill_buffer, + demux_open_lavf, + demux_close_lavf, + demux_seek_lavf, + demux_lavf_control +}; -- cgit v1.2.3