a33ffcfbe27499a5f6205af4a704a9c02bd99867
[vlc.git] / modules / demux / avformat / avformat.c
1 /*****************************************************************************
2  * avformat.c: demuxer and muxer using libavformat library
3  *****************************************************************************
4  * Copyright (C) 1999-2008 VLC authors and VideoLAN
5  *
6  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
7  *          Gildas Bazin <gbazin@videolan.org>
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23
24 #ifndef MERGE_FFMPEG
25 #ifdef HAVE_CONFIG_H
26 # include "config.h"
27 #endif
28
29 #include <vlc_common.h>
30 #include <vlc_plugin.h>
31 #include <vlc_demux.h>
32
33 #include "avformat.h"
34 #include "../../codec/avcodec/avcommon.h"
35
36 vlc_module_begin ()
37 #endif /* MERGE_FFMPEG */
38     add_shortcut( "ffmpeg", "avformat" )
39     add_file_extension("rm")
40     set_category( CAT_INPUT )
41     set_subcategory( SUBCAT_INPUT_DEMUX )
42     set_description( N_("Avformat demuxer" ) )
43     set_shortname( N_("Avformat") )
44     set_capability( "demux", 2 )
45     set_callbacks( avformat_OpenDemux, avformat_CloseDemux )
46     set_section( N_("Demuxer"), NULL )
47     add_string( "avformat-format", NULL, FORMAT_TEXT, FORMAT_LONGTEXT, true )
48     add_obsolete_string("ffmpeg-format") /* removed since 2.1.0 */
49     add_string( "avformat-options", NULL, AV_OPTIONS_TEXT, AV_OPTIONS_LONGTEXT, true )
50
51 #ifdef ENABLE_SOUT
52     /* mux submodule */
53     add_submodule ()
54     add_shortcut( "ffmpeg", "avformat" )
55     set_description( N_("Avformat muxer" ) )
56     set_capability( "sout mux", 2 )
57     set_section( N_("Muxer"), NULL )
58     add_string( "sout-avformat-mux", NULL, MUX_TEXT, MUX_LONGTEXT, true )
59     add_obsolete_string("ffmpeg-mux") /* removed since 2.1.0 */
60     add_string( "sout-avformat-options", NULL, AV_OPTIONS_TEXT, AV_OPTIONS_LONGTEXT, true )
61     add_bool( "sout-avformat-reset-ts", false, AV_RESET_TS_TEXT, AV_RESET_TS_LONGTEXT, true )
62     set_callbacks( avformat_OpenMux, avformat_CloseMux )
63 #endif
64 #ifndef MERGE_FFMPEG
65 vlc_module_end ()
66 #endif