]> git.sesse.net Git - vlc/blobdiff - src/libvlc-module.c
Do not set sout-keep by default.
[vlc] / src / libvlc-module.c
index abc6fa9aaeeffa93f6b71e5bff407dabd34faeb3..0089d725e75d2f08fd0663599a34d5e29158a703 100644 (file)
@@ -34,7 +34,7 @@
 # include "config.h"
 #endif
 
-#include <vlc/vlc.h>
+#include <vlc_common.h>
 #include <vlc_plugin.h>
 #include "libvlc.h"
 
@@ -50,6 +50,7 @@ static const char *const ppsz_language[] =
     "ar",
     "pt_BR",
     "en_GB",
+    "bg",
     "ca",
     "zh_TW",
     "cs",
@@ -69,9 +70,12 @@ static const char *const ppsz_language[] =
     "oc",
     "fa",
     "pl",
+    "pt_PT",
+    "pa",
     "ro",
     "ru",
     "zh_CN",
+    "sr",
     "sk",
     "sl",
     "es",
@@ -86,6 +90,7 @@ static const char *const ppsz_language_text[] =
     N_("Arabic"),
     N_("Brazilian Portuguese"),
     N_("British English"),
+    N_("Bulgarian"),
     N_("Catalan"),
     N_("Chinese Traditional"),
     N_("Czech"),
@@ -105,9 +110,12 @@ static const char *const ppsz_language_text[] =
     N_("Occitan"),
     N_("Persian"),
     N_("Polish"),
+    N_("Portuguese"),
+    N_("Punjabi"),
     N_("Romanian"),
     N_("Russian"),
     N_("Simplified Chinese"),
+    N_("Serbian"),
     N_("Slovak"),
     N_("Slovenian"),
     N_("Spanish"),
@@ -158,6 +166,16 @@ static const char *const ppsz_snap_formats[] =
     "This is the verbosity level (0=only errors and " \
     "standard messages, 1=warnings, 2=debug).")
 
+#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 " \
+    "a '+' or a '-' to respectively enable or disable it. The keyword " \
+    "'all' refers to all objects. Objects can be refered to by their " \
+    "type or module name. Rules applying to named objects take precendence " \
+    "over rules applying to object types. Note that you still need to " \
+    "use -vvv to actually display debug message.")
+
 #define QUIET_TEXT N_("Be quiet")
 #define QUIET_LONGTEXT N_( \
     "Turn off all warning and information messages.")
@@ -305,6 +323,13 @@ static const char *const ppsz_force_dolby_descriptions[] = {
 #define AUDIO_REPLAY_GAIN_PEAK_PROTECTION_LONGTEXT N_( \
     "Protect against sound clipping" )
 
+#define AUDIO_TIME_STRETCH_TEXT N_( \
+    "Enable time streching audio" )
+#define AUDIO_TIME_STRETCH_LONGTEXT N_( \
+    "This allows to play audio at lower or higher speed without" \
+    "affecting the audio pitch" )
+
+
 static const char *const ppsz_replay_gain_mode[] = {
     "none", "track", "album" };
 static const char *const ppsz_replay_gain_mode_text[] = {
@@ -393,23 +418,23 @@ static const char *const ppsz_align_descriptions[] =
 #define VIDEO_ON_TOP_LONGTEXT N_( \
     "Always place the video window on top of other windows." )
 
-#define VIDEO_TITLE_SHOW_TEXT N_("Show media title on video.")
+#define VIDEO_TITLE_SHOW_TEXT N_("Show media title on video")
 #define VIDEO_TITLE_SHOW_LONGTEXT N_( \
     "Display the title of the video on top of the movie.")
 
-#define VIDEO_TITLE_TIMEOUT_TEXT N_("Show video title for x miliseconds.")
+#define VIDEO_TITLE_TIMEOUT_TEXT N_("Show video title for x milliseconds")
 #define VIDEO_TITLE_TIMEOUT_LONGTEXT N_( \
-    "Show the video title for n miliseconds, default is 5000 ms (5 sec.)")
+    "Show the video title for n milliseconds, default is 5000 ms (5 sec.)")
 
-#define VIDEO_TITLE_POSITION_TEXT N_("Position of video title.")
+#define VIDEO_TITLE_POSITION_TEXT N_("Position of video title")
 #define VIDEO_TITLE_POSITION_LONGTEXT N_( \
     "Place on video where to display the title (default bottom center).")
 
 #define MOUSE_HIDE_TIMEOUT_TEXT N_("Hide cursor and fullscreen " \
-                                   "controller after x miliseconds.")
+                                   "controller after x milliseconds")
 #define MOUSE_HIDE_TIMEOUT_LONGTEXT N_( \
     "Hide mouse cursor and fullscreen controller after " \
-    "n miliseconds, default is 3000 ms (3 sec.)")
+    "n milliseconds, default is 3000 ms (3 sec.)")
 
 static const int pi_pos_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 };
 static const char *const ppsz_pos_descriptions[] =
@@ -419,7 +444,7 @@ static const char *const ppsz_pos_descriptions[] =
 #define SS_TEXT N_("Disable screensaver")
 #define SS_LONGTEXT N_("Disable the screensaver during video playback." )
 
-#define INHIBIT_TEXT N_("Inhibits the power management daemon during playback.")
+#define INHIBIT_TEXT N_("Inhibit the power management daemon during playback")
 #define INHIBIT_LONGTEXT N_("Inhibits the power management daemon during any " \
     "playback, to avoid the computer being suspended because of inactivity.")
 
@@ -430,9 +455,7 @@ static const char *const ppsz_pos_descriptions[] =
 
 #define VOUT_FILTER_TEXT N_("Video output filter module")
 #define VOUT_FILTER_LONGTEXT N_( \
-    "This adds post-processing filters to enhance the " \
-    "picture quality, for instance deinterlacing, or to clone or distort " \
-    "the video window.")
+    "This adds video output filters like clone or wall" )
 
 #define VIDEO_FILTER_TEXT N_("Video filter module")
 #define VIDEO_FILTER_LONGTEXT N_( \
@@ -618,7 +641,7 @@ static const char *const ppsz_clock_descriptions[] =
 #define INPUT_SUBTRACK_LANG_TEXT N_("Subtitle language")
 #define INPUT_SUBTRACK_LANG_LONGTEXT N_( \
     "Language of the subtitle track you want to use " \
-    "(comma separated, two or tree letter country code).")
+    "(comma separated, two or three letters country code).")
 
 /// \todo Document how to find it
 #define INPUT_AUDIOTRACK_ID_TEXT N_("Audio track ID")
@@ -662,6 +685,15 @@ static const char *const ppsz_clock_descriptions[] =
     "the form \"{name=bookmark-name,time=optional-time-offset," \
     "bytes=optional-byte-offset},{...}\"")
 
+#define INPUT_RECORD_PATH_TEXT N_("Record directory or filename")
+#define INPUT_RECORD_PATH_LONGTEXT N_( \
+    "Directory or filename where the records will be stored" )
+
+#define INPUT_RECORD_NATIVE_TEXT N_("Prefer native stream recording")
+#define INPUT_RECORD_NATIVE_LONGTEXT N_( \
+    "When possible, the input stream will be recorded instead of using" \
+    "the stream output module" )
+
 // DEPRECATED
 #define SUB_CAT_LONGTEXT N_( \
     "These options allow you to modify the behavior of the subpictures " \
@@ -691,7 +723,7 @@ static const char *const ppsz_clock_descriptions[] =
 #define SUB_FILTER_TEXT N_("Subpictures filter module")
 #define SUB_FILTER_LONGTEXT N_( \
     "This adds so-called \"subpicture filters\". These filters overlay " \
-    "some images or text over the video (like a logo, arbitrary text...)." )
+    "some images or text over the video (like a logo, arbitrary text...)." )
 
 #define SUB_AUTO_TEXT N_("Autodetect subtitle files")
 #define SUB_AUTO_LONGTEXT N_( \
@@ -823,7 +855,7 @@ static const char *const ppsz_clock_descriptions[] =
     "This allows you to select a list of encoders that VLC will use in " \
     "priority.")
 
-#define SYSTEM_CODEC_TEXT N_("Prefer system plugins over vlc")
+#define SYSTEM_CODEC_TEXT N_("Prefer system plugins over VLC")
 #define SYSTEM_CODEC_LONGTEXT N_( \
     "Indicates whether VLC will prefer native plugins installed " \
     "on system over VLC owns plugins whenever a choice is available." )
@@ -991,10 +1023,21 @@ static const char *const ppsz_clock_descriptions[] =
 #define MINIMIZE_THREADS_LONGTEXT N_( \
      "This option minimizes the number of threads needed to run VLC.")
 
+#define USE_STREAM_IMMEDIATE N_("(Experimental) Don't do caching at the access level.")
+#define USE_STREAM_IMMEDIATE_LONGTEXT N_( \
+     "This option is useful if you want to lower the latency when " \
+     "reading a stream")
+
+#define AUTO_ADJUST_PTS_DELAY N_("(Experimental) Minimize latency when" \
+     "reading live stream.")
+#define AUTO_ADJUST_PTS_DELAY_LONGTEXT N_( \
+     "This option is useful if you want to lower the latency when " \
+     "reading a stream")
+
 #define PLUGIN_PATH_TEXT N_("Modules search path")
 #define PLUGIN_PATH_LONGTEXT N_( \
     "Additional path for VLC to look for its modules. You can add " \
-    "several paths by concatenating them using " PATH_SEP " as separator")
+    "several paths by concatenating them using \" PATH_SEP \" as separator")
 
 #define VLM_CONF_TEXT N_("VLM configuration file")
 #define VLM_CONF_LONGTEXT N_( \
@@ -1039,7 +1082,7 @@ static const char *const ppsz_clock_descriptions[] =
     "don't want a new instance of VLC to be opened each time you " \
     "open a file in your file manager. This option will allow you " \
     "to play the file with the already running instance or enqueue it. " \
-    "This option require the D-Bus session daemon to be active " \
+    "This option requires the D-Bus session daemon to be active " \
     "and the running instance of VLC to use D-Bus control interface.")
 
 #define STARTEDFROMFILE_TEXT N_("VLC is started from file association")
@@ -1337,9 +1380,9 @@ static const char *const ppsz_albumart_descriptions[] =
     "video output for the time being." )
 
 #define MENU_ON_KEY_TEXT N_("Display OSD menu on top of video output")
-#define MENU_ON_KEY_LONGTEXT N_("Display OSDmenu on top of video output")
+#define MENU_ON_KEY_LONGTEXT N_("Display OSD menu on top of video output")
 #define MENU_OFF_KEY_TEXT N_("Do not display OSD menu on video output")
-#define MENU_OFF_KEY_LONGTEXT N_("Do not display OSDmenu on top of video output")
+#define MENU_OFF_KEY_LONGTEXT N_("Do not display OSD menu on top of video output")
 #define MENU_RIGHT_KEY_TEXT N_("Highlight widget on the right")
 #define MENU_RIGHT_KEY_LONGTEXT N_( \
         "Move OSD menu highlight to the widget on the right")
@@ -1414,6 +1457,7 @@ vlc_module_begin();
     add_category_hint( N_("Audio"), AOUT_CAT_LONGTEXT , false );
 
     add_bool( "audio", 1, NULL, AUDIO_TEXT, AUDIO_LONGTEXT, false );
+        change_safe();
     add_integer_with_range( "volume", AOUT_VOLUME_DEFAULT, AOUT_VOLUME_MIN,
                             AOUT_VOLUME_MAX, NULL, VOLUME_TEXT,
                             VOLUME_LONGTEXT, false );
@@ -1429,9 +1473,10 @@ vlc_module_begin();
     add_bool( "spdif", 0, NULL, SPDIF_TEXT, SPDIF_LONGTEXT, false );
     add_integer( "force-dolby-surround", 0, NULL, FORCE_DOLBY_TEXT,
                  FORCE_DOLBY_LONGTEXT, false );
-        change_integer_list( pi_force_dolby_values, ppsz_force_dolby_descriptions, 0 );
+        change_integer_list( pi_force_dolby_values, ppsz_force_dolby_descriptions, NULL );
     add_integer( "audio-desync", 0, NULL, DESYNC_TEXT,
                  DESYNC_LONGTEXT, true );
+        change_safe();
 
     /* FIXME TODO create a subcat replay gain ? */
     add_string( "audio-replay-gain-mode", ppsz_replay_gain_mode[0], NULL, AUDIO_REPLAY_GAIN_MODE_TEXT,
@@ -1444,6 +1489,9 @@ vlc_module_begin();
     add_bool( "audio-replay-gain-peak-protection", true, NULL,
               AUDIO_REPLAY_GAIN_PEAK_PROTECTION_TEXT, AUDIO_REPLAY_GAIN_PEAK_PROTECTION_LONGTEXT, true );
 
+    add_bool( "audio-time-stretch", true, NULL,
+              AUDIO_TIME_STRETCH_TEXT, AUDIO_TIME_STRETCH_LONGTEXT, false );
+
     set_subcategory( SUBCAT_AUDIO_AOUT );
     add_module( "aout", "audio output", NULL, NULL, AOUT_TEXT, AOUT_LONGTEXT,
                 true );
@@ -1462,11 +1510,13 @@ vlc_module_begin();
     add_category_hint( N_("Video"), VOUT_CAT_LONGTEXT , false );
 
     add_bool( "video", 1, NULL, VIDEO_TEXT, VIDEO_LONGTEXT, true );
+        change_safe();
     add_bool( "grayscale", 0, NULL, GRAYSCALE_TEXT,
               GRAYSCALE_LONGTEXT, true );
     add_bool( "fullscreen", 0, NULL, FULLSCREEN_TEXT,
               FULLSCREEN_LONGTEXT, false );
         change_short('f');
+        change_safe();
     add_bool( "embedded-video", 1, NULL, EMBEDDED_TEXT, EMBEDDED_LONGTEXT,
               true );
 #ifdef __APPLE__
@@ -1493,11 +1543,10 @@ vlc_module_begin();
                  VIDEO_TITLE_TIMEOUT_LONGTEXT, false );
     add_integer( "video-title-position", 8, NULL, VIDEO_TITLE_POSITION_TEXT,
                  VIDEO_TITLE_POSITION_LONGTEXT, false );
-    // autohide after 3s
-    add_integer( "mouse-hide-timeout", 3000, NULL, MOUSE_HIDE_TIMEOUT_TEXT,
+        change_integer_list( pi_pos_values, ppsz_pos_descriptions, NULL );
+    // autohide after 1.5s
+    add_integer( "mouse-hide-timeout", 1500, NULL, MOUSE_HIDE_TIMEOUT_TEXT,
                  MOUSE_HIDE_TIMEOUT_LONGTEXT, false );
-        change_integer_list( pi_pos_values, ppsz_pos_descriptions, 0 );
-
     set_section( N_("Snapshot") , NULL );
     add_directory( "snapshot-path", NULL, NULL, SNAP_PATH_TEXT,
                    SNAP_PATH_LONGTEXT, false );
@@ -1518,14 +1567,20 @@ vlc_module_begin();
 
     set_section( N_("Window properties" ), NULL );
     add_integer( "width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, true );
+        change_safe();
     add_integer( "height", -1, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT, true );
+        change_safe();
     add_integer( "video-x", -1, NULL, VIDEOX_TEXT, VIDEOX_LONGTEXT, true );
+        change_safe();
     add_integer( "video-y", -1, NULL, VIDEOY_TEXT, VIDEOY_LONGTEXT, true );
+        change_safe();
     add_string( "crop", NULL, NULL, CROP_TEXT, CROP_LONGTEXT, false );
+        change_safe();
     add_string( "custom-crop-ratios", NULL, NULL, CUSTOM_CROP_RATIOS_TEXT,
                 CUSTOM_CROP_RATIOS_LONGTEXT, false );
     add_string( "aspect-ratio", NULL, NULL,
                 ASPECT_RATIO_TEXT, ASPECT_RATIO_LONGTEXT, false );
+        change_safe();
     add_string( "monitor-par", NULL, NULL,
                 MASPECT_RATIO_TEXT, MASPECT_RATIO_LONGTEXT, true );
     add_string( "custom-aspect-ratios", NULL, NULL, CUSTOM_ASPECT_RATIOS_TEXT,
@@ -1536,7 +1591,7 @@ vlc_module_begin();
     add_string( "video-title", NULL, NULL, VIDEO_TITLE_TEXT,
                  VIDEO_TITLE_LONGTEXT, true );
     add_integer( "align", 0, NULL, ALIGN_TEXT, ALIGN_LONGTEXT, true );
-        change_integer_list( pi_align_values, ppsz_align_descriptions, 0 );
+        change_integer_list( pi_align_values, ppsz_align_descriptions, NULL );
     add_float( "zoom", 1, NULL, ZOOM_TEXT, ZOOM_LONGTEXT, true );
 
 
@@ -1549,9 +1604,8 @@ vlc_module_begin();
     add_module_list_cat( "video-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL,
                 VIDEO_FILTER_TEXT, VIDEO_FILTER_LONGTEXT, false );
        add_deprecated_alias( "filter" ); /*deprecated since 0.8.2 */
-//       add_deprecated_alias( "vout-filter" ); /* deprecated since 0.8.6 *// While the "video-filter" chain isn't parsed for both vfilter and vfilter2, keep both options
     add_module_list_cat( "vout-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL,
-                        NULL, NULL, false );
+                        VOUT_FILTER_TEXT, VOUT_FILTER_LONGTEXT, false );
 #if 0
     add_string( "pixel-ratio", "1", NULL, PIXEL_RATIO_TEXT, PIXEL_RATIO_TEXT );
 #endif
@@ -1562,6 +1616,7 @@ vlc_module_begin();
     add_category_hint( N_("Subpictures"), SUB_CAT_LONGTEXT , false );
 
     add_bool( "spu", 1, NULL, SPU_TEXT, SPU_LONGTEXT, true );
+        change_safe();
     add_bool( "osd", 1, NULL, OSD_TEXT, OSD_LONGTEXT, false );
     add_module( "text-renderer", "text renderer", NULL, NULL, TEXTRENDERER_TEXT,
                 TEXTRENDERER_LONGTEXT, true );
@@ -1594,34 +1649,46 @@ vlc_module_begin();
     set_section( N_( "Track settings" ), NULL );
     add_integer( "program", 0, NULL,
                  INPUT_PROGRAM_TEXT, INPUT_PROGRAM_LONGTEXT, true );
+        change_safe();
     add_string( "programs", "", NULL,
                 INPUT_PROGRAMS_TEXT, INPUT_PROGRAMS_LONGTEXT, true );
+        change_safe();
     add_integer( "audio-track", -1, NULL,
                  INPUT_AUDIOTRACK_TEXT, INPUT_AUDIOTRACK_LONGTEXT, true );
-       add_deprecated_alias( "audio-channel" ); /*deprecated since 0.8.2 */
+        change_safe();
+        add_deprecated_alias( "audio-channel" ); /*deprecated since 0.8.2 */
     add_integer( "sub-track", -1, NULL,
                  INPUT_SUBTRACK_TEXT, INPUT_SUBTRACK_LONGTEXT, true );
-       add_deprecated_alias("spu-channel" ); /*deprecated since 0.8.2*/
+        change_safe();
+        add_deprecated_alias("spu-channel" ); /*deprecated since 0.8.2*/
     add_string( "audio-language", "", NULL,
                  INPUT_AUDIOTRACK_LANG_TEXT, INPUT_AUDIOTRACK_LANG_LONGTEXT,
                   false );
+        change_safe();
     add_string( "sub-language", "", NULL,
                  INPUT_SUBTRACK_LANG_TEXT, INPUT_SUBTRACK_LANG_LONGTEXT,
                   false );
+        change_safe();
     add_integer( "audio-track-id", -1, NULL, INPUT_AUDIOTRACK_ID_TEXT,
                  INPUT_AUDIOTRACK_ID_LONGTEXT, true );
+        change_safe();
     add_integer( "sub-track-id", -1, NULL,
                  INPUT_SUBTRACK_ID_TEXT, INPUT_SUBTRACK_ID_LONGTEXT, true );
+        change_safe();
 
     set_section( N_( "Playback control" ) , NULL);
     add_integer( "input-repeat", 0, NULL,
                  INPUT_REPEAT_TEXT, INPUT_REPEAT_LONGTEXT, false );
+        change_safe();
     add_integer( "start-time", 0, NULL,
                  START_TIME_TEXT, START_TIME_LONGTEXT, true );
+        change_safe();
     add_integer( "stop-time", 0, NULL,
                  STOP_TIME_TEXT, STOP_TIME_LONGTEXT, true );
+        change_safe();
     add_integer( "run-time", 0, NULL,
                  RUN_TIME_TEXT, RUN_TIME_LONGTEXT, true );
+        change_safe();
     add_string( "input-list", NULL, NULL,
                  INPUT_LIST_TEXT, INPUT_LIST_LONGTEXT, true );
     add_string( "input-slave", NULL, NULL,
@@ -1684,11 +1751,16 @@ vlc_module_begin();
                  CR_AVERAGE_LONGTEXT, true );
     add_integer( "clock-synchro", -1, NULL, CLOCK_SYNCHRO_TEXT,
                  CLOCK_SYNCHRO_LONGTEXT, true );
-        change_integer_list( pi_clock_values, ppsz_clock_descriptions, 0 );
+        change_integer_list( pi_clock_values, ppsz_clock_descriptions, NULL );
 
     add_bool( "network-synchronisation", false, NULL, NETSYNC_TEXT,
               NETSYNC_LONGTEXT, true );
 
+    add_string( "input-record-path", NULL, NULL, INPUT_RECORD_PATH_TEXT,
+                INPUT_RECORD_PATH_LONGTEXT, true );
+    add_bool( "input-record-native", true, NULL, INPUT_RECORD_NATIVE_TEXT,
+              INPUT_RECORD_NATIVE_LONGTEXT, true );
+
 /* Decoder options */
     add_category_hint( N_("Decoders"), CODEC_CAT_LONGTEXT , true );
     add_string( "codec", NULL, NULL, CODEC_TEXT,
@@ -1724,7 +1796,7 @@ vlc_module_begin();
     add_string( "sout", NULL, NULL, SOUT_TEXT, SOUT_LONGTEXT, true );
     add_bool( "sout-display", false, NULL, SOUT_DISPLAY_TEXT,
                                 SOUT_DISPLAY_LONGTEXT, true );
-    add_bool( "sout-keep", true, NULL, SOUT_KEEP_TEXT,
+    add_bool( "sout-keep", false, NULL, SOUT_KEEP_TEXT,
                                 SOUT_KEEP_LONGTEXT, true );
     add_bool( "sout-all", 0, NULL, SOUT_ALL_TEXT,
                                 SOUT_ALL_LONGTEXT, true );
@@ -1812,6 +1884,12 @@ vlc_module_begin();
               MINIMIZE_THREADS_LONGTEXT, true );
         change_need_restart();
 
+    add_bool( "use-stream-immediate", false, NULL,
+               USE_STREAM_IMMEDIATE, USE_STREAM_IMMEDIATE_LONGTEXT, true );
+
+    add_bool( "auto-adjust-pts-delay", false, NULL,
+              AUTO_ADJUST_PTS_DELAY, AUTO_ADJUST_PTS_DELAY_LONGTEXT, true );
+
 #if !defined(__APPLE__) && !defined(SYS_BEOS) && defined(LIBVLC_USE_PTHREAD)
     add_bool( "rt-priority", false, NULL, RT_PRIORITY_TEXT,
               RT_PRIORITY_LONGTEXT, true );
@@ -1824,7 +1902,7 @@ vlc_module_begin();
         change_need_restart();
 #endif
 
-#if defined(HAVE_DBUS_3)
+#if defined(HAVE_DBUS)
     add_bool( "one-instance", 0, NULL, ONEINSTANCE_DBUS_TEXT,
               ONEINSTANCE_DBUS_LONGTEXT, true );
     add_bool( "playlist-enqueue", 0, NULL, PLAYLISTENQUEUE_TEXT,
@@ -1890,6 +1968,8 @@ vlc_module_begin();
     add_integer( "verbose", 0, NULL, VERBOSE_TEXT, VERBOSE_LONGTEXT,
                  false );
         change_short('v');
+    add_string( "verbose-objects", 0, NULL, VERBOSE_OBJECTS_TEXT, VERBOSE_OBJECTS_LONGTEXT,
+                 false );
     add_bool( "quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, true );
         change_short('q');
 
@@ -1967,6 +2047,7 @@ vlc_module_begin();
  *  open                          KEY_MODIFIER_COMMAND|'o'
  *  open disk                     KEY_MODIFIER_COMMAND|'d'
  *  open network                  KEY_MODIFIER_COMMAND|'n'
+ *  open capture                  KEY_MODIFIER_COMMAND|'r'
  *  save playlist                 KEY_MODIFIER_COMMAND|'s'
  *  playlist random               KEY_MODIFIER_COMMAND|'z'
  *  playlist repeat all           KEY_MODIFIER_COMMAND|'l'
@@ -2028,7 +2109,7 @@ vlc_module_begin();
 #   define KEY_CROP               'c'
 #   define KEY_DEINTERLACE        'd'
 #   define KEY_INTF_SHOW          'i'
-#   define KEY_INTF_HIDE          'I'
+#   define KEY_INTF_HIDE          KEY_MODIFIER_SHIFT|'i'
 #   define KEY_DISC_MENU          KEY_MODIFIER_CTRL|'m'
 #   define KEY_TITLE_PREV         KEY_MODIFIER_CTRL|'p'
 #   define KEY_TITLE_NEXT         KEY_MODIFIER_CTRL|'n'
@@ -2131,7 +2212,7 @@ vlc_module_begin();
 #   define KEY_CROP               'c'
 #   define KEY_DEINTERLACE        'd'
 #   define KEY_INTF_SHOW          'i'
-#   define KEY_INTF_HIDE          'I'
+#   define KEY_INTF_HIDE          KEY_MODIFIER_SHIFT|'i'
 #   define KEY_DISC_MENU          KEY_MODIFIER_ALT|'r'
 #   define KEY_TITLE_PREV         KEY_MODIFIER_ALT|'o'
 #   define KEY_TITLE_NEXT         KEY_MODIFIER_ALT|'b'
@@ -2426,6 +2507,8 @@ vlc_module_begin();
 #define HELP_TEXT \
     N_("print help for VLC (can be combined with --advanced and " \
        "--help-verbose)")
+#define FULL_HELP_TEXT \
+    N_("Exhaustive help for VLC and its modules")
 #define LONGHELP_TEXT \
     N_("print help for VLC and all its modules (can be combined with " \
        "--advanced and --help-verbose)")
@@ -2437,7 +2520,8 @@ vlc_module_begin();
     N_("print a list of available modules with extra detail")
 #define MODULE_TEXT \
     N_("print help on a specific module (can be combined with --advanced " \
-       "and --help-verbose)")
+       "and --help-verbose). Prefix the module name with = for strict" \
+       "matches.")
 #define IGNORE_CONFIG_TEXT \
     N_("no configuration option will be loaded nor saved to config file")
 #define SAVE_CONFIG_TEXT \
@@ -2455,10 +2539,13 @@ vlc_module_begin();
         change_short( 'h' );
         change_internal();
         change_unsaveable();
-    add_bool( "longhelp", false, NULL, LONGHELP_TEXT, "", false );
+    add_bool( "full-help", false, NULL, FULL_HELP_TEXT, "", false );
         change_short( 'H' );
         change_internal();
         change_unsaveable();
+    add_bool( "longhelp", false, NULL, LONGHELP_TEXT, "", false );
+        change_internal();
+        change_unsaveable();
     add_bool( "help-verbose", false, NULL, HELP_VERBOSE_TEXT, "",
               false );
         change_internal();
@@ -2483,7 +2570,7 @@ vlc_module_begin();
               false );
         change_internal();
         change_unsaveable();
-    add_bool( "reset-config", false, NULL, MODULE_TEXT, "", false );
+    add_bool( "reset-config", false, NULL, RESET_CONFIG_TEXT, "", false );
         change_internal();
         change_unsaveable();
     add_bool( "reset-plugins-cache", false, NULL,