/*****************************************************************************
* libvlc-module.c: Options for the main (libvlc itself) module
*****************************************************************************
- * Copyright (C) 1998-2009 the VideoLAN team
+ * Copyright (C) 1998-2009 VLC authors and VideoLAN
* $Id$
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Gildas Bazin <gbazin@videolan.org>
* Jean-Paul Saman <jpsaman #_at_# m2x.nl>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
// Pretend we are a builtin module
#define VERBOSE_OBJECTS_TEXT N_("Choose which objects should print debug " \
"message")
#define VERBOSE_OBJECTS_LONGTEXT N_( \
- "This is a ',' separated string, each objects should be prefixed by " \
+ "This is a ',' separated string, each object should be prefixed by " \
"a '+' or a '-' to respectively enable or disable it. The keyword " \
"'all' refers to all objects. Objects can be referred to by their " \
"type or module name. Rules applying to named objects take precedence " \
"controller after x milliseconds")
#define MOUSE_HIDE_TIMEOUT_LONGTEXT N_( \
"Hide mouse cursor and fullscreen controller after " \
- "n milliseconds, default is 3000 ms (3 sec.)")
+ "n milliseconds.")
#define DEINTERLACE_TEXT N_("Deinterlace")
#define DEINTERLACE_LONGTEXT N_(\
#define INPUT_SUBTRACK_ID_LONGTEXT N_( \
"Stream ID of the subtitle track to use.")
+#define INPUT_PREFERREDRESOLUTION_TEXT N_("Preferred video resolution")
+#define INPUT_PREFERREDRESOLUTION_LONGTEXT N_( \
+ "When several video formats are available, select one whose " \
+ "resolution is closest to (but not higher than) this setting, " \
+ "in number of lines. Use this option if you don't have enough CPU " \
+ "power or network bandwith to play higher resolutions.")
+static const int pi_prefres[] = { -1, 1080, 720, 576, 320 };
+static const char *const ppsz_prefres[] = {
+ N_("Best available"), N_("Full HD (1080p)"), N_("HD (720p)"),
+ N_("Standard Definition (576 or 480 lines)"),
+ N_("Low definition (320 lines)")
+};
+
#define INPUT_REPEAT_TEXT N_("Input repetitions")
#define INPUT_REPEAT_LONGTEXT N_( \
"Number of time the same input will be repeated")
"Default TCP connection timeout (in milliseconds). " )
#define HTTP_HOST_TEXT N_( "HTTP server address" )
-#define RTSP_HOST_TEXT N_( "RTSP server address" )
#define HOST_LONGTEXT N_( \
"By default, the server will listen on any local IP address. " \
"Specify an IP address (e.g. ::1 or 127.0.0.1) or a host name " \
"(e.g. localhost) to restrict them to a specific network interface." )
+#define RTSP_HOST_TEXT N_( "RTSP server address" )
+#define RTSP_HOST_LONGTEXT N_( \
+ "This defines the address the RTSP server will listen on, along " \
+ "with the base path of the RTSP VOD media. Syntax is address/path. " \
+ "By default, the server will listen on any local IP address. " \
+ "Specify an IP address (e.g. ::1 or 127.0.0.1) or a host name " \
+ "(e.g. localhost) to restrict them to a specific network interface." )
+
#define HTTP_PORT_TEXT N_( "HTTP server port" )
#define HTTP_PORT_LONGTEXT N_( \
"The HTTP server will listen on this TCP port. " \
#define RTSP_PORT_TEXT N_( "RTSP server port" )
#define RTSP_PORT_LONGTEXT N_( \
- "The HTTPS server will listen on this TCP port. " \
+ "The RTSP server will listen on this TCP port. " \
"The standard RTSP port number is 554. " \
"However allocation of port numbers below 1025 is usually restricted " \
"by the operating system." )
"Additional path for VLC to look for its modules. You can add " \
"several paths by concatenating them using \" PATH_SEP \" as separator")
-#define DATA_PATH_TEXT N_("Data search path")
-#define DATA_PATH_LONGTEXT N_( \
- "Override the default data/share search path.")
-
#define VLM_CONF_TEXT N_("VLM configuration file")
#define VLM_CONF_LONGTEXT N_( \
"Read a VLM configuration file as soon as VLM is started." )
#define TOGGLE_FULLSCREEN_KEY_TEXT N_("Fullscreen")
#define TOGGLE_FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to swap fullscreen state.")
-#define LEAVE_FULLSCREEN_KEY_TEXT N_("Leave fullscreen")
-#define LEAVE_FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to leave fullscreen state.")
+#define LEAVE_FULLSCREEN_KEY_TEXT N_("Exit fullscreen")
+#define LEAVE_FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to exit fullscreen state.")
#define PLAY_PAUSE_KEY_TEXT N_("Play/Pause")
#define PLAY_PAUSE_KEY_LONGTEXT N_("Select the hotkey to use to swap paused state.")
#define PAUSE_KEY_TEXT N_("Pause only")
#define SCALE_DOWN_KEY_LONGTEXT N_("Decrease scale factor.")
#define DEINTERLACE_KEY_TEXT N_("Cycle deinterlace modes")
#define DEINTERLACE_KEY_LONGTEXT N_("Cycle through deinterlace modes.")
+#define INTF_TOGGLE_FSC_KEY_TEXT N_("Show controller in fullscreen")
#define INTF_SHOW_KEY_TEXT N_("Show interface")
#define INTF_SHOW_KEY_LONGTEXT N_("Raise the interface above all other windows.")
#define INTF_HIDE_KEY_TEXT N_("Hide interface")
#define INTF_HIDE_KEY_LONGTEXT N_("Lower the interface below all other windows.")
+#define INTF_BOSS_KEY_TEXT N_("Boss key")
+#define INTF_BOSS_KEY_LONGTEXT N_("Hide the interface and pause playback.")
#define SNAP_KEY_TEXT N_("Take video snapshot")
#define SNAP_KEY_LONGTEXT N_("Takes a video snapshot and writes it to disk.")
add_integer_with_range( "volume-step", AOUT_VOLUME_STEP, 0,
AOUT_VOLUME_MAX, VOLUME_STEP_TEXT,
VOLUME_STEP_LONGTEXT, true )
- add_obsolete_integer( "aout-rate" ) /* since 1.2.0 */
+ add_obsolete_integer( "aout-rate" ) /* since 2.0.0 */
#if HAVE_FPU && !defined( __APPLE__ )
add_bool( "hq-resampling", 1, AOUT_RESAMP_TEXT,
AOUT_RESAMP_LONGTEXT, true )
change_safe ()
add_bool( "embedded-video", 1, EMBEDDED_TEXT, EMBEDDED_LONGTEXT,
true )
-#ifdef __APPLE__
- add_deprecated_alias( "macosx-embedded" ) /*deprecated since 0.9.0 */
-#endif
add_bool( "xlib", true, "", "", true )
change_private ()
add_bool( "drop-late-frames", 1, DROP_LATE_FRAMES_TEXT,
VIDEO_ON_TOP_LONGTEXT, false )
add_bool( "video-wallpaper", false, WALLPAPER_TEXT,
WALLPAPER_LONGTEXT, false )
-#ifdef WIN32
- add_deprecated_alias( "directx-wallpaper" )
-#endif
add_bool( "disable-screensaver", true, SS_TEXT, SS_LONGTEXT,
true )
VIDEO_TITLE_POSITION_LONGTEXT, false )
change_safe()
change_integer_list( pi_pos_values, ppsz_pos_descriptions )
- // autohide after 1.5s
- add_integer( "mouse-hide-timeout", 1500, MOUSE_HIDE_TIMEOUT_TEXT,
+ // autohide after 1 second
+ add_integer( "mouse-hide-timeout", 1000, MOUSE_HIDE_TIMEOUT_TEXT,
MOUSE_HIDE_TIMEOUT_LONGTEXT, false )
set_section( N_("Snapshot") , NULL )
add_directory( "snapshot-path", NULL, SNAP_PATH_TEXT,
VIDEO_FILTER_TEXT, VIDEO_FILTER_LONGTEXT, false )
add_module_list_cat( "video-splitter", SUBCAT_VIDEO_VFILTER, NULL,
VIDEO_SPLITTER_TEXT, VIDEO_SPLITTER_LONGTEXT, false )
- add_deprecated_alias( "vout-filter" )
+ add_obsolete_string( "vout-filter" ) /* since 2.0.0 */
#if 0
add_string( "pixel-ratio", "1", PIXEL_RATIO_TEXT, PIXEL_RATIO_TEXT )
#endif
add_integer( "sub-track-id", -1,
INPUT_SUBTRACK_ID_TEXT, INPUT_SUBTRACK_ID_LONGTEXT, true )
change_safe ()
+ add_integer( "preferred-resolution", -1, INPUT_PREFERREDRESOLUTION_TEXT,
+ INPUT_PREFERREDRESOLUTION_LONGTEXT, false )
+ change_safe ()
+ change_integer_list( pi_prefres, ppsz_prefres )
set_section( N_( "Playback control" ) , NULL)
add_integer( "input-repeat", 0,
set_section( N_( "Network settings" ), NULL )
add_integer( "mtu", MTU_DEFAULT, MTU_TEXT, MTU_LONGTEXT, true )
- add_obsolete_bool( "ipv6" ) /* since 1.2.0 */
- add_obsolete_bool( "ipv4" ) /* since 1.2.0 */
+ add_obsolete_bool( "ipv6" ) /* since 2.0.0 */
+ add_obsolete_bool( "ipv4" ) /* since 2.0.0 */
add_integer( "ipv4-timeout", 5 * 1000, TIMEOUT_TEXT,
TIMEOUT_LONGTEXT, true )
change_integer_range( 1, 65535 )
add_integer( "https-port", 8443, HTTPS_PORT_TEXT, HTTPS_PORT_LONGTEXT, true )
change_integer_range( 1, 65535 )
- add_string( "rtsp-host", NULL, RTSP_HOST_TEXT, HOST_LONGTEXT, true )
- add_integer( "rtsp-port", 8554, RTSP_PORT_TEXT, RTSP_PORT_LONGTEXT, true )
+ add_string( "rtsp-host", NULL, RTSP_HOST_TEXT, RTSP_HOST_LONGTEXT, true )
+ add_integer( "rtsp-port", 554, RTSP_PORT_TEXT, RTSP_PORT_LONGTEXT, true )
change_integer_range( 1, 65535 )
add_loadfile( "http-cert", NULL, HTTP_CERT_TEXT, CERT_LONGTEXT, true )
- add_deprecated_alias( "sout-http-cert" ) /* since 1.2.0 */
+ add_obsolete_string( "sout-http-cert" ) /* since 2.0.0 */
add_loadfile( "http-key", NULL, HTTP_KEY_TEXT, KEY_LONGTEXT, true )
- add_deprecated_alias( "sout-http-key" ) /* since 1.2.0 */
+ add_obsolete_string( "sout-http-key" ) /* since 2.0.0 */
add_loadfile( "http-ca", NULL, HTTP_CA_TEXT, CA_LONGTEXT, true )
- add_deprecated_alias( "sout-http-ca" ) /* since 1.2.0 */
+ add_obsolete_string( "sout-http-ca" ) /* since 2.0.0 */
add_loadfile( "http-crl", NULL, HTTP_CRL_TEXT, CRL_LONGTEXT, true )
- add_deprecated_alias( "sout-http-crl" ) /* since 1.2.0 */
+ add_obsolete_string( "sout-http-crl" ) /* since 2.0.0 */
set_section( N_( "Socks proxy") , NULL )
add_string( "socks", NULL,
CACHING_TEXT, CACHING_LONGTEXT, true )
change_integer_range( 0, 60000 )
change_safe()
+ add_obsolete_integer( "vdr-caching" ) /* 2.0.0 */
add_integer( "live-caching", DEFAULT_PTS_DELAY / 1000,
CAPTURE_CACHING_TEXT, CAPTURE_CACHING_LONGTEXT, true )
change_integer_range( 0, 60000 )
change_safe()
-#if defined (__linux__)
- add_deprecated_alias( "v4l2-caching" ) /* 1.2.0 */
-#elif defined (WIN32)
- add_deprecated_alias( "dshow-caching" ) /* 1.2.0 */
-#endif
+ add_obsolete_integer( "alsa-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "dshow-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "dv-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "dvb-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "eyetv-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "gnomevfs-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "jack-input-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "linsys-hdsdi-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "linsys-sdi-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "oss-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "pvr-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "screen-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "v4l2-caching" ) /* 2.0.0 */
add_integer( "disc-caching", DEFAULT_PTS_DELAY / 1000,
DISC_CACHING_TEXT, DISC_CACHING_LONGTEXT, true )
change_integer_range( 0, 60000 )
change_safe()
- add_deprecated_alias( "dvdnav-caching" ) /* 1.2.0 */
+ add_obsolete_integer( "bd-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "bluray-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "cdda-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "dvdnav-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "dvdread-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "vcd-caching" ) /* 2.0.0 */
add_integer( "network-caching", CLOCK_FREQ / 1000,
NETWORK_CACHING_TEXT, NETWORK_CACHING_LONGTEXT, true )
change_integer_range( 0, 60000 )
change_safe()
- add_deprecated_alias( "http-caching" ) /* 1.2.0 */
+ add_obsolete_integer( "ftp-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "http-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "mms-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "realrtsp-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "rtp-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "rtsp-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "sftp-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "smb-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "tcp-caching" ) /* 2.0.0 */
+ add_obsolete_integer( "udp-caching" ) /* 2.0.0 */
add_integer( "cr-average", 40, CR_AVERAGE_TEXT,
CR_AVERAGE_LONGTEXT, true )
ACCESS_OUTPUT_TEXT, ACCESS_OUTPUT_LONGTEXT, true )
add_integer( "ttl", -1, TTL_TEXT, TTL_LONGTEXT, true )
add_string( "miface", NULL, MIFACE_TEXT, MIFACE_LONGTEXT, true )
- add_obsolete_string( "miface-addr" )
+ add_obsolete_string( "miface-addr" ) /* since 2.0.0 */
add_integer( "dscp", 0, DSCP_TEXT, DSCP_LONGTEXT, true )
set_subcategory( SUBCAT_SOUT_PACKETIZER )
add_category_hint( N_("CPU"), CPU_CAT_LONGTEXT, true )
add_obsolete_bool( "fpu" )
#if defined( __i386__ ) || defined( __x86_64__ )
- add_obsolete_bool( "mmx" ) /* since 1.2.0 */
- add_obsolete_bool( "3dn" ) /* since 1.2.0 */
- add_obsolete_bool( "mmxext" ) /* since 1.2.0 */
- add_obsolete_bool( "sse" ) /* since 1.2.0 */
- add_obsolete_bool( "sse2" ) /* since 1.2.0 */
- add_obsolete_bool( "sse3" ) /* since 1.2.0 */
- add_obsolete_bool( "ssse3" ) /* since 1.2.0 */
- add_obsolete_bool( "sse41" ) /* since 1.2.0 */
- add_obsolete_bool( "sse42" ) /* since 1.2.0 */
+ add_obsolete_bool( "mmx" ) /* since 2.0.0 */
+ add_obsolete_bool( "3dn" ) /* since 2.0.0 */
+ add_obsolete_bool( "mmxext" ) /* since 2.0.0 */
+ add_obsolete_bool( "sse" ) /* since 2.0.0 */
+ add_obsolete_bool( "sse2" ) /* since 2.0.0 */
+ add_obsolete_bool( "sse3" ) /* since 2.0.0 */
+ add_obsolete_bool( "ssse3" ) /* since 2.0.0 */
+ add_obsolete_bool( "sse41" ) /* since 2.0.0 */
+ add_obsolete_bool( "sse42" ) /* since 2.0.0 */
#endif
#if defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc64__ )
- add_obsolete_bool( "altivec" ) /* since 1.2.0 */
+ add_obsolete_bool( "altivec" ) /* since 2.0.0 */
#endif
/* Misc options */
set_section( N_("Plugins" ), NULL )
add_bool( "plugins-cache", true, PLUGINS_CACHE_TEXT,
PLUGINS_CACHE_LONGTEXT, true )
- add_obsolete_string( "plugin-path" )
- add_directory( "data-path", NULL, DATA_PATH_TEXT,
- DATA_PATH_LONGTEXT, true )
+ add_obsolete_string( "plugin-path" ) /* since 2.0.0 */
+ add_obsolete_string( "data-path" ) /* since 2.1.0 */
set_section( N_("Performance options"), NULL )
PLAYLISTENQUEUE_LONGTEXT, true )
#endif
-#if defined(WIN32)
+#if defined(WIN32) || defined(__OS2__)
add_bool( "high-priority", 0, HPRIORITY_TEXT,
HPRIORITY_LONGTEXT, false )
#endif
add_bool( "quiet", 0, QUIET_TEXT, QUIET_LONGTEXT, false )
change_short('q')
-#if !defined(WIN32)
+#if !defined(WIN32) && !defined(__OS2__)
add_bool( "daemon", 0, DAEMON_TEXT, DAEMON_LONGTEXT, true )
change_short('d')
# define KEY_SCALE_UP "Alt+o"
# define KEY_SCALE_DOWN "Shift+Alt+o"
# define KEY_DEINTERLACE "d"
-# define KEY_INTF_SHOW "i"
-# define KEY_INTF_HIDE "Shift+i"
+# define KEY_INTF_TOGGLE_FSC "i"
+# define KEY_INTF_BOSS NULL
# define KEY_DISC_MENU "Ctrl+m"
# define KEY_TITLE_PREV "Ctrl+p"
# define KEY_TITLE_NEXT "Ctrl+n"
# define KEY_SCALE_UP "Alt+o"
# define KEY_SCALE_DOWN "Alt+Shift+o"
# define KEY_DEINTERLACE "d"
-# define KEY_INTF_SHOW "i"
-# define KEY_INTF_HIDE "Shift+i"
+# define KEY_INTF_TOGGLE_FSC "i"
+# define KEY_INTF_BOSS NULL
# define KEY_DISC_MENU "Shift+m"
# define KEY_TITLE_PREV "Shift+o"
# define KEY_TITLE_NEXT "Shift+b"
add_key( "key-toggle-fullscreen", KEY_TOGGLE_FULLSCREEN, TOGGLE_FULLSCREEN_KEY_TEXT,
TOGGLE_FULLSCREEN_KEY_LONGTEXT, false )
- add_deprecated_alias( "key-fullscreen" ) /*deprecated since 0.9.0 */
add_key( "key-leave-fullscreen", KEY_LEAVE_FULLSCREEN, LEAVE_FULLSCREEN_KEY_TEXT,
LEAVE_FULLSCREEN_KEY_LONGTEXT, false )
add_key( "key-play-pause", KEY_PLAY_PAUSE, PLAY_PAUSE_KEY_TEXT,
SCALE_DOWN_KEY_TEXT, SCALE_DOWN_KEY_LONGTEXT, false )
add_key( "key-deinterlace", KEY_DEINTERLACE,
DEINTERLACE_KEY_TEXT, DEINTERLACE_KEY_LONGTEXT, false )
- add_key( "key-intf-show", KEY_INTF_SHOW,
- INTF_SHOW_KEY_TEXT, INTF_SHOW_KEY_LONGTEXT, true )
- add_key( "key-intf-hide", KEY_INTF_HIDE,
- INTF_HIDE_KEY_TEXT, INTF_HIDE_KEY_LONGTEXT, true )
+ add_key( "key-intf-show", KEY_INTF_TOGGLE_FSC,
+ INTF_TOGGLE_FSC_KEY_TEXT, INTF_TOGGLE_FSC_KEY_TEXT, false )
+ add_obsolete_inner( "key-intf-hide", CONFIG_ITEM_KEY )
+
+ add_key( "key-intf-boss", KEY_INTF_BOSS,
+ INTF_BOSS_KEY_TEXT, INTF_BOSS_KEY_LONGTEXT, true )
add_key( "key-snapshot", KEY_SNAPSHOT,
SNAP_KEY_TEXT, SNAP_KEY_LONGTEXT, true )
add_key( "key-record", KEY_RECORD,