>From 415c31cccd7951fa9678bb52a5e61c658971739e Mon Sep 17 00:00:00 2001
From: Antoine Cellerier <dionoea@videolan.org>
Date: Mon, 22 Sep 2008 22:20:44 +0200
Subject: [PATCH] Tag most access options as safe.

---
 modules/access/bda/bda.c       |   28 ++++++++++++++++++++++++++
 modules/access/cdda/cdda.c     |   14 +++++++++++++
 modules/access/directory.c     |    2 +
 modules/access/dv.c            |    2 +
 modules/access/dvb/access.c    |   23 +++++++++++++++++++++
 modules/access/dvdnav.c        |    3 ++
 modules/access/dvdread.c       |    3 ++
 modules/access/fake.c          |    4 +++
 modules/access/file.c          |    1 +
 modules/access/ftp.c           |    4 +++
 modules/access/gnomevfs.c      |    1 +
 modules/access/http.c          |    6 +++++
 modules/access/jack.c          |    3 ++
 modules/access/mmap.c          |    1 +
 modules/access/mms/mms.c       |    5 ++++
 modules/access/pvr.c           |   18 ++++++++++++++++-
 modules/access/rtmp/access.c   |    1 +
 modules/access/rtsp/access.c   |    1 +
 modules/access/screen/screen.c |    9 ++++++++
 modules/access/smb.c           |    4 +++
 modules/access/tcp.c           |    1 +
 modules/access/udp.c           |    1 +
 modules/access/v4l.c           |   21 ++++++++++++++++++++
 modules/access/v4l2/v4l2.c     |   42 ++++++++++++++++++++++++++++++++++++++++
 modules/access/vcd/vcd.c       |    1 +
 modules/access/vcdx/vcd.c      |    6 +++++
 26 files changed, 204 insertions(+), 1 deletions(-)

diff --git a/modules/access/bda/bda.c b/modules/access/bda/bda.c
index 8773162..94f7cc3 100644
--- a/modules/access/bda/bda.c
+++ b/modules/access/bda/bda.c
@@ -176,80 +176,108 @@ vlc_module_begin();
 
     add_integer( "dvb-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
                  CACHING_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-frequency", 11954000, NULL, FREQ_TEXT, FREQ_LONGTEXT,
                  false );
+        change_safe();
 #   if defined(WIN32) || defined(WINCE)
 #   else
         add_integer( "dvb-adapter", 0, NULL, ADAPTER_TEXT, ADAPTER_LONGTEXT,
                      false );
+            change_safe();
         add_integer( "dvb-device", 0, NULL, DEVICE_TEXT, DEVICE_LONGTEXT,
                      true );
+            change_safe();
         add_bool( "dvb-probe", 1, NULL, PROBE_TEXT, PROBE_LONGTEXT, true );
+            change_safe();
         add_bool( "dvb-budget-mode", 0, NULL, BUDGET_TEXT, BUDGET_LONGTEXT,
                   true );
+            change_safe();
 #   endif
 
     /* DVB-S (satellite) */
     add_integer( "dvb-inversion", 2, NULL, INVERSION_TEXT,
         INVERSION_LONGTEXT, true );
         change_integer_list( i_inversion_list, ppsz_inversion_text, NULL );
+        change_safe();
 #   if defined(WIN32) || defined(WINCE)
         add_string( "dvb-polarisation", NULL, NULL, POLARISATION_TEXT,
             POLARISATION_LONGTEXT, true );
             change_string_list( ppsz_polar_list, ppsz_polar_text, 0 );
+            change_safe();
         add_integer( "dvb-network-id", 0, NULL, NETID_TEXT, NETID_LONGTEXT,
             true );
+            change_safe();
         add_integer( "dvb-azimuth", 0, NULL, AZIMUTH_TEXT, AZIMUTH_LONGTEXT,
             true );
+            change_safe();
         add_integer( "dvb-elevation", 0, NULL, ELEVATION_TEXT,
             ELEVATION_LONGTEXT, true );
+            change_safe();
         add_integer( "dvb-longitude", 0, NULL, LONGITUDE_TEXT,
             LONGITUDE_LONGTEXT, true );
             /* Note: Polaristion H = voltage 18; V = voltage 13; */
+            change_safe();
 #   else
         add_integer( "dvb-satno", 0, NULL, SATNO_TEXT, SATNO_LONGTEXT,
             true );
+            change_safe();
         add_integer( "dvb-voltage", 13, NULL, VOLTAGE_TEXT, VOLTAGE_LONGTEXT,
             true );
+            change_safe();
         add_bool( "dvb-high-voltage", 0, NULL, HIGH_VOLTAGE_TEXT,
             HIGH_VOLTAGE_LONGTEXT, true );
+            change_safe();
         add_integer( "dvb-tone", -1, NULL, TONE_TEXT, TONE_LONGTEXT,
             true );
+            change_safe();
 #   endif
     add_integer( "dvb-lnb-lof1", 0, NULL, LNB_LOF1_TEXT,
         LNB_LOF1_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-lnb-lof2", 0, NULL, LNB_LOF2_TEXT,
         LNB_LOF2_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-lnb-slof", 0, NULL, LNB_SLOF_TEXT,
         LNB_SLOF_LONGTEXT, true );
+        change_safe();
 
     add_integer( "dvb-fec", 9, NULL, FEC_TEXT, FEC_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-srate", 27500000, NULL, SRATE_TEXT, SRATE_LONGTEXT,
         false );
+        change_safe();
 
     /* DVB-C (cable) */
     add_integer( "dvb-modulation", -1, NULL, MODULATION_TEXT,
         MODULATION_LONGTEXT, true );
         change_integer_list( i_qam_list, ppsz_qam_text, NULL );
+        change_safe();
 
     /* DVB-T (terrestrial) */
     add_integer( "dvb-code-rate-hp", -1, NULL, CODE_RATE_HP_TEXT,
         CODE_RATE_HP_LONGTEXT, true );
         change_integer_list( i_hp_fec_list, ppsz_hp_fec_text, NULL );
+        change_safe();
     add_integer( "dvb-code-rate-lp", -1, NULL, CODE_RATE_LP_TEXT,
         CODE_RATE_LP_LONGTEXT, true );
         change_integer_list( i_lp_fec_list, ppsz_lp_fec_text, NULL );
+        change_safe();
     add_integer( "dvb-bandwidth", 0, NULL, BANDWIDTH_TEXT, BANDWIDTH_LONGTEXT,
         true );
         change_integer_list( i_band_list, ppsz_band_text, NULL );
+        change_safe();
     add_integer( "dvb-guard", -1, NULL, GUARD_TEXT, GUARD_LONGTEXT, true );
         change_integer_list( i_guard_list, ppsz_guard_text, NULL );
+        change_safe();
     add_integer( "dvb-transmission", -1, NULL, TRANSMISSION_TEXT,
         TRANSMISSION_LONGTEXT, true );
         change_integer_list( i_transmission_list, ppsz_transmission_text, NULL );
+        change_safe();
     add_integer( "dvb-hierarchy", -1, NULL, HIERARCHY_TEXT, HIERARCHY_LONGTEXT,
         true );
         change_integer_list( i_hierarchy_list, ppsz_hierarchy_text, NULL );
+        change_safe();
 
     set_capability( "access", 0 );
     add_shortcut( "dvb" );      /* Generic name */
diff --git a/modules/access/cdda/cdda.c b/modules/access/cdda/cdda.c
index 9bbcc29..b1f1bc3 100644
--- a/modules/access/cdda/cdda.c
+++ b/modules/access/cdda/cdda.c
@@ -129,16 +129,19 @@ vlc_module_begin();
                  DEFAULT_PTS_DELAY / MILLISECONDS_PER_SEC, NULL,
                  N_("Caching value in microseconds"),
                  CACHING_LONGTEXT, true );
+        change_safe();
 
     add_integer( MODULE_STRING "-blocks-per-read",
                  DEFAULT_BLOCKS_PER_READ, CDDABlocksPerReadCB,
                  N_("Number of blocks per CD read"),
                  BLOCKS_PER_READ_LONGTEXT, true );
+        change_safe();
 
     add_string( MODULE_STRING "-title-format",
                 "Track %T. %t", NULL,
                 N_("Format to use in playlist \"title\" field when no CDDB"),
                 TITLE_FMT_LONGTEXT, true );
+        change_safe();
 
 #if LIBCDIO_VERSION_NUM >= 73
     add_bool( MODULE_STRING "-analog-output", false, NULL,
@@ -151,6 +154,7 @@ vlc_module_begin();
               N_("Do CD-Text lookups?"),
               N_("If set, get CD-Text information"),
               false );
+        change_safe();
 
     add_bool( MODULE_STRING "-navigation-mode", true,
 #if FIXED
@@ -162,6 +166,7 @@ vlc_module_begin();
               N_("Tracks are navigated via Navagation rather than "
          "a playlist entries"),
               false );
+        change_safe();
 
 #if LIBCDIO_VERSION_NUM >= 72
       add_string( MODULE_STRING "-paranoia", NULL, NULL,
@@ -169,6 +174,7 @@ vlc_module_begin();
         PARANOIA_LONGTEXT,
         false );
       change_string_list( psz_paranoia_list, psz_paranoia_list_text, 0 );
+        change_safe();
 #endif /* LIBCDIO_VERSION_NUM >= 72 */
 
 #ifdef HAVE_LIBCDDB
@@ -177,27 +183,32 @@ vlc_module_begin();
                 "Track %T. %t - %p %A", NULL,
                 N_("Format to use in playlist \"title\" field when using CDDB"),
                 CDDB_TITLE_FMT_LONGTEXT, true );
+        change_safe();
 
     add_bool( MODULE_STRING "-cddb-enabled", true, CDDBEnabledCB,
               N_("CDDB lookups"),
               N_("If set, lookup CD-DA track information using the CDDB "
                  "protocol"),
               false );
+        change_safe();
 
     add_string( MODULE_STRING "-cddb-server", "freedb.freedb.org", NULL,
                 N_("CDDB server"),
                 N_( "Contact this CDDB server look up CD-DA information"),
         true );
+        change_safe();
 
     add_integer( MODULE_STRING "-cddb-port", 8880, NULL,
                  N_("CDDB server port"),
                  N_("CDDB server uses this port number to communicate on"),
                  true );
+        change_safe();
 
     add_string( MODULE_STRING "-cddb-email", "me@home", NULL,
                 N_("email address reported to CDDB server"),
                 N_("email address reported to CDDB server"),
         true );
+        change_safe();
 
     add_bool( MODULE_STRING "-cddb-enable-cache", true, NULL,
               N_("Cache CDDB lookups?"),
@@ -209,12 +220,14 @@ vlc_module_begin();
               N_("If set, the CDDB server gets information via the CDDB HTTP "
                  "protocol"),
               true );
+        change_safe();
 
     add_integer( MODULE_STRING "-cddb-timeout", 10, NULL,
                  N_("CDDB server timeout"),
                  N_("Time (in seconds) to wait for a response from the "
                     "CDDB server"),
                  false );
+        change_safe();
 
     add_string( MODULE_STRING "-cddb-cachedir", "~/.cddbslave", NULL,
                 N_("Directory to cache CDDB requests"),
@@ -226,6 +239,7 @@ vlc_module_begin();
               N_("If set, CD-Text information will be preferred "
          "to CDDB information when both are available"),
               false );
+        change_safe();
 #endif /*HAVE_LIBCDDB*/
 
 vlc_module_end();
diff --git a/modules/access/directory.c b/modules/access/directory.c
index c625e1b..251f93e 100644
--- a/modules/access/directory.c
+++ b/modules/access/directory.c
@@ -104,8 +104,10 @@ vlc_module_begin();
     add_string( "recursive", "expand" , NULL, RECURSIVE_TEXT,
                 RECURSIVE_LONGTEXT, false );
       change_string_list( psz_recursive_list, psz_recursive_list_text, 0 );
+      change_safe();
     add_string( "ignore-filetypes", "m3u,db,nfo,jpg,gif,sfv,txt,sub,idx,srt,cue",
                 NULL, IGNORE_TEXT, IGNORE_LONGTEXT, false );
+        change_safe();
     set_callbacks( Open, Close );
 
     add_submodule();
diff --git a/modules/access/dv.c b/modules/access/dv.c
index 057a5ee..c898fa1 100644
--- a/modules/access/dv.c
+++ b/modules/access/dv.c
@@ -79,6 +79,8 @@ vlc_module_begin();
     set_category( CAT_INPUT );
     set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "dv-caching", 60000 / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
+
     set_capability( "access", 0 );
     add_shortcut( "dv" );
     add_shortcut( "dv1394" );
diff --git a/modules/access/dvb/access.c b/modules/access/dvb/access.c
index a3e482a..58acb61 100644
--- a/modules/access/dvb/access.c
+++ b/modules/access/dvb/access.c
@@ -196,50 +196,73 @@ vlc_module_begin();
 
     add_integer( "dvb-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
                  CACHING_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-adapter", 0, NULL, ADAPTER_TEXT, ADAPTER_LONGTEXT,
                  false );
+        change_safe();
     add_integer( "dvb-device", 0, NULL, DEVICE_TEXT, DEVICE_LONGTEXT,
                  true );
+        change_safe();
     add_integer( "dvb-frequency", 0, NULL, FREQ_TEXT, FREQ_LONGTEXT,
                  false );
+        change_safe();
     add_integer( "dvb-inversion", 2, NULL, INVERSION_TEXT, INVERSION_LONGTEXT,
                  true );
+        change_safe();
     add_bool( "dvb-probe", 1, NULL, PROBE_TEXT, PROBE_LONGTEXT, true );
+        change_safe();
     add_bool( "dvb-budget-mode", 0, NULL, BUDGET_TEXT, BUDGET_LONGTEXT,
               true );
+        change_safe();
     /* DVB-S (satellite) */
     add_integer( "dvb-satno", 0, NULL, SATNO_TEXT, SATNO_LONGTEXT,
                  true );
+        change_safe();
     add_integer( "dvb-voltage", 13, NULL, VOLTAGE_TEXT, VOLTAGE_LONGTEXT,
                  true );
+        change_safe();
     add_bool( "dvb-high-voltage", 0, NULL, HIGH_VOLTAGE_TEXT,
               HIGH_VOLTAGE_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-tone", -1, NULL, TONE_TEXT, TONE_LONGTEXT,
                  true );
+        change_safe();
     add_integer( "dvb-fec", 9, NULL, FEC_TEXT, FEC_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-srate", 27500000, NULL, SRATE_TEXT, SRATE_LONGTEXT,
                  false );
+        change_safe();
     add_integer( "dvb-lnb-lof1", 0, NULL, LNB_LOF1_TEXT,
                  LNB_LOF1_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-lnb-lof2", 0, NULL, LNB_LOF2_TEXT,
                  LNB_LOF2_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-lnb-slof", 0, NULL, LNB_SLOF_TEXT,
                  LNB_SLOF_LONGTEXT, true );
+        change_safe();
     /* DVB-C (cable) */
     add_integer( "dvb-modulation", 0, NULL, MODULATION_TEXT,
                  MODULATION_LONGTEXT, true );
+        change_safe();
     /* DVB-T (terrestrial) */
     add_integer( "dvb-code-rate-hp", 9, NULL, CODE_RATE_HP_TEXT,
                  CODE_RATE_HP_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-code-rate-lp", 9, NULL, CODE_RATE_LP_TEXT,
                  CODE_RATE_LP_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-bandwidth", 0, NULL, BANDWIDTH_TEXT, BANDWIDTH_LONGTEXT,
                  true );
+        change_safe();
     add_integer( "dvb-guard", 0, NULL, GUARD_TEXT, GUARD_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-transmission", 0, NULL, TRANSMISSION_TEXT,
                  TRANSMISSION_LONGTEXT, true );
+        change_safe();
     add_integer( "dvb-hierarchy", 0, NULL, HIERARCHY_TEXT, HIERARCHY_LONGTEXT,
                  true );
+        change_safe();
 #ifdef ENABLE_HTTPD
     /* MMI HTTP interface */
     set_section( N_("HTTP server" ), 0 );
diff --git a/modules/access/dvdnav.c b/modules/access/dvdnav.c
index 5a200cb..7821562 100644
--- a/modules/access/dvdnav.c
+++ b/modules/access/dvdnav.c
@@ -90,10 +90,13 @@ vlc_module_begin();
     set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "dvdnav-angle", 1, NULL, ANGLE_TEXT,
         ANGLE_LONGTEXT, false );
+        change_safe();
     add_integer( "dvdnav-caching", DEFAULT_PTS_DELAY / 1000, NULL,
         CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     add_bool( "dvdnav-menu", true, NULL,
         MENU_TEXT, MENU_LONGTEXT, false );
+        change_safe();
     set_capability( "access_demux", 5 );
     add_shortcut( "dvd" );
     add_shortcut( "dvdnav" );
diff --git a/modules/access/dvdread.c b/modules/access/dvdread.c
index 48671c5..c1cf4aa 100644
--- a/modules/access/dvdread.c
+++ b/modules/access/dvdread.c
@@ -108,11 +108,14 @@ vlc_module_begin();
     set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "dvdread-angle", 1, NULL, ANGLE_TEXT,
         ANGLE_LONGTEXT, false );
+        change_safe();
     add_integer( "dvdread-caching", DEFAULT_PTS_DELAY / 1000, NULL,
         CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     add_string( "dvdread-css-method", NULL, NULL, CSSMETHOD_TEXT,
                 CSSMETHOD_LONGTEXT, true );
         change_string_list( psz_css_list, psz_css_list_text, 0 );
+        change_safe();
     set_capability( "access_demux", 0 );
     add_shortcut( "dvd" );
     add_shortcut( "dvdread" );
diff --git a/modules/access/fake.c b/modules/access/fake.c
index b97c208..7d36604 100644
--- a/modules/access/fake.c
+++ b/modules/access/fake.c
@@ -64,10 +64,14 @@ vlc_module_begin();
 
     add_integer( "fake-caching", DEFAULT_PTS_DELAY / 1000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     add_float( "fake-fps", 25.0, NULL, FPS_TEXT, FPS_LONGTEXT, true );
+        change_safe();
     add_integer( "fake-id", 0, NULL, ID_TEXT, ID_LONGTEXT, true );
+        change_safe();
     add_integer( "fake-duration", 0, NULL, DURATION_TEXT, DURATION_LONGTEXT,
                  true );
+        change_safe();
 
     add_shortcut( "fake" );
     set_capability( "access_demux", 0 );
diff --git a/modules/access/file.c b/modules/access/file.c
index cdf51ac..e2a1f6e 100644
--- a/modules/access/file.c
+++ b/modules/access/file.c
@@ -92,6 +92,7 @@ vlc_module_begin();
     set_category( CAT_INPUT );
     set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "file-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     add_obsolete_string( "file-cat" );
     set_capability( "access", 50 );
     add_shortcut( "file" );
diff --git a/modules/access/ftp.c b/modules/access/ftp.c
index 79cf667..52c183f 100644
--- a/modules/access/ftp.c
+++ b/modules/access/ftp.c
@@ -76,12 +76,16 @@ vlc_module_begin();
     set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "ftp-caching", 2 * DEFAULT_PTS_DELAY / 1000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     add_string( "ftp-user", "anonymous", NULL, USER_TEXT, USER_LONGTEXT,
                 false );
+        change_safe();
     add_string( "ftp-pwd", "anonymous@example.com", NULL, PASS_TEXT,
                 PASS_LONGTEXT, false );
+        change_safe();
     add_string( "ftp-account", "anonymous", NULL, ACCOUNT_TEXT,
                 ACCOUNT_LONGTEXT, false );
+        change_safe();
     add_shortcut( "ftp" );
     set_callbacks( InOpen, InClose );
 
diff --git a/modules/access/gnomevfs.c b/modules/access/gnomevfs.c
index fb8f56b..685d5ab 100644
--- a/modules/access/gnomevfs.c
+++ b/modules/access/gnomevfs.c
@@ -55,6 +55,7 @@ vlc_module_begin();
     set_category( CAT_INPUT );
     set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "gnomevfs-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     set_capability( "access", 10 );
     add_shortcut( "gnomevfs" );
     set_callbacks( Open, Close );
diff --git a/modules/access/http.c b/modules/access/http.c
index 98d33b6..da0a59a 100644
--- a/modules/access/http.c
+++ b/modules/access/http.c
@@ -104,16 +104,22 @@ vlc_module_begin();
 
     add_string( "http-proxy", NULL, NULL, PROXY_TEXT, PROXY_LONGTEXT,
                 false );
+        change_safe();
     add_password( "http-proxy-pwd", NULL, NULL,
                   PROXY_PASS_TEXT, PROXY_PASS_LONGTEXT, false );
+        change_safe();
     add_integer( "http-caching", 4 * DEFAULT_PTS_DELAY / 1000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     add_string( "http-user-agent", COPYRIGHT_MESSAGE , NULL, AGENT_TEXT,
                 AGENT_LONGTEXT, true );
+        change_safe();
     add_bool( "http-reconnect", 0, NULL, RECONNECT_TEXT,
               RECONNECT_LONGTEXT, true );
+        change_safe();
     add_bool( "http-continuous", 0, NULL, CONTINUOUS_TEXT,
               CONTINUOUS_LONGTEXT, true );
+        change_safe();
     add_bool( "http-forward-cookies", true, NULL, FORWARD_COOKIES_TEXT,
               FORWARD_COOKIES_LONGTEXT, true );
     add_obsolete_string("http-user");
diff --git a/modules/access/jack.c b/modules/access/jack.c
index d5df31d..c434b67 100644
--- a/modules/access/jack.c
+++ b/modules/access/jack.c
@@ -79,10 +79,13 @@ vlc_module_begin();
 
      add_integer( "jack-input-caching", DEFAULT_PTS_DELAY / 1000, NULL,
          CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
      add_bool( "jack-input-use-vlc-pace", false, NULL,
          PACE_TEXT, PACE_LONGTEXT, true );
+        change_safe();
      add_bool( "jack-input-auto-connect", false, NULL,
          AUTO_CONNECT_TEXT, AUTO_CONNECT_LONGTEXT, true );
+        change_safe();
 
      add_shortcut( "jack" );
      set_callbacks( Open, Close );
diff --git a/modules/access/mmap.c b/modules/access/mmap.c
index e49c041..16d177f 100644
--- a/modules/access/mmap.c
+++ b/modules/access/mmap.c
@@ -61,6 +61,7 @@ vlc_module_begin();
 
     add_bool ("file-mmap", true, NULL,
               FILE_MMAP_TEXT, FILE_MMAP_LONGTEXT, true);
+        change_safe();
 vlc_module_end();
 
 static block_t *Block (access_t *);
diff --git a/modules/access/mms/mms.c b/modules/access/mms/mms.c
index fca871e..a5e7515 100644
--- a/modules/access/mms/mms.c
+++ b/modules/access/mms/mms.c
@@ -78,15 +78,20 @@ vlc_module_begin();
 
     add_integer( "mms-caching", 19 * DEFAULT_PTS_DELAY / 1000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
 
     add_integer( "mms-timeout", 5000, NULL, TIMEOUT_TEXT, TIMEOUT_LONGTEXT,
                  true );
+        change_safe();
 
     add_bool( "mms-all", 0, NULL, ALL_TEXT, ALL_LONGTEXT, true );
+        change_safe();
     add_integer( "mms-maxbitrate", 0, NULL, BITRATE_TEXT, BITRATE_LONGTEXT ,
                  false );
+        change_safe();
     add_string( "mmsh-proxy", NULL, NULL, PROXY_TEXT, PROXY_LONGTEXT,
                     false );
+        change_safe();
 
     add_shortcut( "mms" );
     add_shortcut( "mmsu" );
diff --git a/modules/access/pvr.c b/modules/access/pvr.c
index 1bd5447..bd9864d 100644
--- a/modules/access/pvr.c
+++ b/modules/access/pvr.c
@@ -134,36 +134,52 @@ vlc_module_begin();
 
     add_integer( "pvr-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
                  CACHING_LONGTEXT, true );
+        change_safe();
     add_string( "pvr-device", "/dev/video0", NULL, DEVICE_TEXT,
                  DEVICE_LONGTEXT, false );
+        change_safe();
     add_string( "pvr-radio-device", "/dev/radio0", NULL, RADIO_DEVICE_TEXT,
                  RADIO_DEVICE_LONGTEXT, false );
+        change_safe();
     add_integer( "pvr-norm", V4L2_STD_UNKNOWN , NULL, NORM_TEXT,
                  NORM_LONGTEXT, false );
-       change_integer_list( i_norm_list, psz_norm_list_text, NULL );
+        change_integer_list( i_norm_list, psz_norm_list_text, NULL );
+        change_safe();
     add_integer( "pvr-width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, true );
+        change_safe();
     add_integer( "pvr-height", -1, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT,
                  true );
+        change_safe();
     add_integer( "pvr-frequency", -1, NULL, FREQUENCY_TEXT, FREQUENCY_LONGTEXT,
                  false );
+        change_safe();
     add_integer( "pvr-framerate", -1, NULL, FRAMERATE_TEXT, FRAMERATE_LONGTEXT,
                  true );
+        change_safe();
     add_integer( "pvr-keyint", -1, NULL, KEYINT_TEXT, KEYINT_LONGTEXT,
                  true );
+        change_safe();
     add_integer( "pvr-bframes", -1, NULL, FRAMERATE_TEXT, FRAMERATE_LONGTEXT,
                  true );
+        change_safe();
     add_integer( "pvr-bitrate", -1, NULL, BITRATE_TEXT, BITRATE_LONGTEXT,
                  false );
+        change_safe();
     add_integer( "pvr-bitrate-peak", -1, NULL, BITRATE_PEAK_TEXT,
                  BITRATE_PEAK_LONGTEXT, true );
+        change_safe();
     add_integer( "pvr-bitrate-mode", -1, NULL, BITRATE_MODE_TEXT,
                  BITRATE_MODE_LONGTEXT, true );
         change_integer_list( i_bitrates, psz_bitrates_list_text, NULL );
+        change_safe();
     add_integer( "pvr-audio-bitmask", -1, NULL, BITMASK_TEXT,
                  BITMASK_LONGTEXT, true );
+        change_safe();
     add_integer( "pvr-audio-volume", -1, NULL, VOLUME_TEXT,
                  VOLUME_LONGTEXT, true );
+        change_safe();
     add_integer( "pvr-channel", -1, NULL, CHAN_TEXT, CHAN_LONGTEXT, true );
+        change_safe();
 
     set_callbacks( Open, Close );
 vlc_module_end();
diff --git a/modules/access/rtmp/access.c b/modules/access/rtmp/access.c
index 0ada7a4..314569b 100644
--- a/modules/access/rtmp/access.c
+++ b/modules/access/rtmp/access.c
@@ -56,6 +56,7 @@ vlc_module_begin();
 
     add_integer( "rtmp-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
                  CACHING_LONGTEXT, true );
+        change_safe();
 
     set_capability( "access", 0 );
     set_callbacks( Open, Close );
diff --git a/modules/access/rtsp/access.c b/modules/access/rtsp/access.c
index a1492a6..ce545a4 100644
--- a/modules/access/rtsp/access.c
+++ b/modules/access/rtsp/access.c
@@ -55,6 +55,7 @@ vlc_module_begin();
     set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "realrtsp-caching", 3000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     set_capability( "access", 10 );
     set_callbacks( Open, Close );
     add_shortcut( "realrtsp" );
diff --git a/modules/access/screen/screen.c b/modules/access/screen/screen.c
index aff35f8..e9459cb 100644
--- a/modules/access/screen/screen.c
+++ b/modules/access/screen/screen.c
@@ -98,25 +98,34 @@ vlc_module_begin();
 
     add_integer( "screen-caching", DEFAULT_PTS_DELAY / 1000, NULL,
         CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     add_float( "screen-fps", SCREEN_FPS, 0, FPS_TEXT, FPS_LONGTEXT, true );
+        change_safe();
 
 #ifdef SCREEN_SUBSCREEN
     add_integer( "screen-top", 0, NULL, TOP_TEXT, TOP_LONGTEXT, true );
+        change_safe();
     add_integer( "screen-left", 0, NULL, LEFT_TEXT, LEFT_LONGTEXT, true );
+        change_safe();
     add_integer( "screen-width", 0, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, true );
+        change_safe();
     add_integer( "screen-height", 0, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT, true );
+        change_safe();
     add_bool( "screen-follow-mouse", false, NULL, FOLLOW_MOUSE_TEXT,
               FOLLOW_MOUSE_LONGTEXT, true );
+        change_safe();
 #endif
 
 #ifdef SCREEN_MOUSE
     add_file( "screen-mouse-image", "", NULL, MOUSE_TEXT, MOUSE_LONGTEXT,
               true );
+        change_safe();
 #endif
 
 #ifdef WIN32
     add_integer( "screen-fragment-size", 0, NULL, FRAGS_TEXT,
         FRAGS_LONGTEXT, true );
+        change_safe();
 #endif
 
     set_capability( "access_demux", 0 );
diff --git a/modules/access/smb.c b/modules/access/smb.c
index b5f518b..686dbbb 100644
--- a/modules/access/smb.c
+++ b/modules/access/smb.c
@@ -83,12 +83,16 @@ vlc_module_begin();
     set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "smb-caching", 2 * DEFAULT_PTS_DELAY / 1000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     add_string( "smb-user", NULL, NULL, USER_TEXT, USER_LONGTEXT,
                 false );
+        change_safe();
     add_string( "smb-pwd", NULL, NULL, PASS_TEXT,
                 PASS_LONGTEXT, false );
+        change_safe();
     add_string( "smb-domain", NULL, NULL, DOMAIN_TEXT,
                 DOMAIN_LONGTEXT, false );
+        change_safe();
     add_shortcut( "smb" );
     set_callbacks( Open, Close );
 vlc_module_end();
diff --git a/modules/access/tcp.c b/modules/access/tcp.c
index 6b3a0a7..38050d2 100644
--- a/modules/access/tcp.c
+++ b/modules/access/tcp.c
@@ -54,6 +54,7 @@ vlc_module_begin();
 
     add_integer( "tcp-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
                  CACHING_LONGTEXT, true );
+        change_safe();
 
     set_capability( "access", 0 );
     add_shortcut( "tcp" );
diff --git a/modules/access/udp.c b/modules/access/udp.c
index 0c22b43..9f3f31f 100644
--- a/modules/access/udp.c
+++ b/modules/access/udp.c
@@ -62,6 +62,7 @@ vlc_module_begin();
 
     add_integer( "udp-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
                  CACHING_LONGTEXT, true );
+        change_safe();
     add_obsolete_integer( "rtp-late" );
     add_obsolete_bool( "udp-auto-mtu" );
 
diff --git a/modules/access/v4l.c b/modules/access/v4l.c
index eaa73b0..fe81df1 100644
--- a/modules/access/v4l.c
+++ b/modules/access/v4l.c
@@ -154,42 +154,63 @@ vlc_module_begin();
 
     add_integer( "v4l-caching", DEFAULT_PTS_DELAY / 1000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
     add_string( "v4l-vdev", "/dev/video", 0, VDEV_TEXT, VDEV_LONGTEXT,
                 false );
+        change_safe();
     add_string( "v4l-adev", "/dev/dsp", 0, ADEV_TEXT, ADEV_LONGTEXT,
                 false );
+        change_safe();
     add_string( "v4l-chroma", NULL, NULL, CHROMA_TEXT, CHROMA_LONGTEXT,
                 true );
+        change_safe();
     add_float( "v4l-fps", -1.0, NULL, FPS_TEXT, FPS_LONGTEXT, true );
+        change_safe();
     add_integer( "v4l-samplerate", 44100, NULL, SAMPLERATE_TEXT,
                 SAMPLERATE_LONGTEXT, true );
+        change_safe();
     add_integer( "v4l-channel", 0, NULL, CHANNEL_TEXT, CHANNEL_LONGTEXT,
                 true );
+        change_safe();
     add_integer( "v4l-tuner", -1, NULL, TUNER_TEXT, TUNER_LONGTEXT, true );
+        change_safe();
     add_integer( "v4l-norm", VIDEO_MODE_AUTO, NULL, NORM_TEXT, NORM_LONGTEXT,
                 false );
         change_integer_list( i_norm_list, psz_norm_list_text, NULL );
+        change_safe();
     add_integer( "v4l-frequency", -1, NULL, FREQUENCY_TEXT, FREQUENCY_LONGTEXT,
                 false );
+        change_safe();
     add_integer( "v4l-audio", -1, NULL, AUDIO_TEXT, AUDIO_LONGTEXT, true );
+        change_safe();
     add_bool( "v4l-stereo", true, NULL, STEREO_TEXT, STEREO_LONGTEXT,
             true );
+        change_safe();
     add_integer( "v4l-width", 0, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, true );
+        change_safe();
     add_integer( "v4l-height", 0, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT,
                 true );
+        change_safe();
     add_integer( "v4l-brightness", -1, NULL, BRIGHTNESS_TEXT,
                 BRIGHTNESS_LONGTEXT, true );
+        change_safe();
     add_integer( "v4l-colour", -1, NULL, COLOUR_TEXT, COLOUR_LONGTEXT,
                 true );
+        change_safe();
     add_integer( "v4l-hue", -1, NULL, HUE_TEXT, HUE_LONGTEXT, true );
+        change_safe();
     add_integer( "v4l-contrast", -1, NULL, CONTRAST_TEXT, CONTRAST_LONGTEXT,
                 true );
+        change_safe();
     add_bool( "v4l-mjpeg", false, NULL, MJPEG_TEXT, MJPEG_LONGTEXT,
             true );
+        change_safe();
     add_integer( "v4l-decimation", 1, NULL, DECIMATION_TEXT,
             DECIMATION_LONGTEXT, true );
+        change_safe();
     add_integer( "v4l-quality", 100, NULL, QUALITY_TEXT, QUALITY_LONGTEXT,
             true );
+        change_safe();
 
     add_shortcut( "v4l" );
     set_capability( "access_demux", 10 );
diff --git a/modules/access/v4l2/v4l2.c b/modules/access/v4l2/v4l2.c
index 058efd5..c2f8005 100644
--- a/modules/access/v4l2/v4l2.c
+++ b/modules/access/v4l2/v4l2.c
@@ -280,98 +280,140 @@ vlc_module_begin();
     set_section( N_( "Video input" ), NULL );
     add_string( CFG_PREFIX "dev", "/dev/video0", 0, DEV_TEXT, DEV_LONGTEXT,
                 false );
+        change_safe();
     add_integer( CFG_PREFIX "standard", 0, NULL, STANDARD_TEXT,
                  STANDARD_LONGTEXT, false );
         change_integer_list( i_standards_list, psz_standards_list_text, NULL );
+        change_safe();
     add_string( CFG_PREFIX "chroma", NULL, NULL, CHROMA_TEXT, CHROMA_LONGTEXT,
                 true );
+        change_safe();
     add_integer( CFG_PREFIX "input", 0, NULL, INPUT_TEXT, INPUT_LONGTEXT,
                 true );
+        change_safe();
     add_integer( CFG_PREFIX "audio-input", 0, NULL, AUDIO_INPUT_TEXT,
                  AUDIO_INPUT_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "io", IO_METHOD_MMAP, NULL, IOMETHOD_TEXT,
                  IOMETHOD_LONGTEXT, true );
         change_integer_list( i_iomethod_list, psz_iomethod_list_text, NULL );
+        change_safe();
     add_integer( CFG_PREFIX "width", 0, NULL, WIDTH_TEXT,
                 WIDTH_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "height", 0, NULL, HEIGHT_TEXT,
                 HEIGHT_LONGTEXT, true );
+        change_safe();
     add_float( CFG_PREFIX "fps", 0, NULL, FPS_TEXT, FPS_LONGTEXT, true );
+        change_safe();
 
     set_section( N_( "Audio input" ), NULL );
     add_string( CFG_PREFIX "adev", NULL, 0, ADEV_TEXT, ADEV_LONGTEXT,
                 false );
+        change_safe();
     add_integer( CFG_PREFIX "audio-method", AUDIO_METHOD_OSS|AUDIO_METHOD_ALSA,
                  NULL, AUDIO_METHOD_TEXT, AUDIO_METHOD_LONGTEXT, true );
+        change_safe();
     add_bool( CFG_PREFIX "stereo", true, NULL, STEREO_TEXT, STEREO_LONGTEXT,
                 true );
+        change_safe();
     add_integer( CFG_PREFIX "samplerate", 48000, NULL, SAMPLERATE_TEXT,
                 SAMPLERATE_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "caching", DEFAULT_PTS_DELAY / 1000, NULL,
                 CACHING_TEXT, CACHING_LONGTEXT, true );
+        change_safe();
 
     set_section( N_( "Tuner" ), NULL );
     add_integer( CFG_PREFIX "tuner", 0, NULL, TUNER_TEXT, TUNER_LONGTEXT,
                  true );
+        change_safe();
     add_integer( CFG_PREFIX "tuner-frequency", -1, NULL, FREQUENCY_TEXT,
                  FREQUENCY_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "tuner-audio-mode", -1, NULL, TUNER_AUDIO_MODE_TEXT,
                  TUNER_AUDIO_MODE_LONGTEXT, true );
         change_integer_list( i_tuner_audio_modes_list,
                              psz_tuner_audio_modes_list_text, 0 );
+        change_safe();
 
     set_section( N_( "Controls" ),
                  N_( "v4l2 driver controls, if supported by your v4l2 driver." ) );
     add_bool( CFG_PREFIX "controls-reset", false, NULL, CTRL_RESET_TEXT,
               CTRL_RESET_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "brightness", -1, NULL, BRIGHTNESS_TEXT,
                  BRIGHTNESS_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "contrast", -1, NULL, CONTRAST_TEXT,
                  CONTRAST_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "saturation", -1, NULL, SATURATION_TEXT,
                  SATURATION_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "hue", -1, NULL, HUE_TEXT,
                  HUE_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "black-level", -1, NULL, BLACKLEVEL_TEXT,
                  BLACKLEVEL_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "auto-white-balance", -1, NULL,
                  AUTOWHITEBALANCE_TEXT, AUTOWHITEBALANCE_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "do-white-balance", -1, NULL, DOWHITEBALANCE_TEXT,
                  DOWHITEBALANCE_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "red-balance", -1, NULL, REDBALANCE_TEXT,
                  REDBALANCE_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "blue-balance", -1, NULL, BLUEBALANCE_TEXT,
                  BLUEBALANCE_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "gamma", -1, NULL, GAMMA_TEXT,
                  GAMMA_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "exposure", -1, NULL, EXPOSURE_TEXT,
                  EXPOSURE_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "autogain", -1, NULL, AUTOGAIN_TEXT,
                  AUTOGAIN_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "gain", -1, NULL, GAIN_TEXT,
                  GAIN_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "hflip", -1, NULL, HFLIP_TEXT,
                  HFLIP_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "vflip", -1, NULL, VFLIP_TEXT,
                  VFLIP_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "hcenter", -1, NULL, HCENTER_TEXT,
                  HCENTER_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "vcenter", -1, NULL, VCENTER_TEXT,
                  VCENTER_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "audio-volume", -1, NULL, AUDIO_VOLUME_TEXT,
                 AUDIO_VOLUME_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "audio-balance", -1, NULL, AUDIO_BALANCE_TEXT,
                 AUDIO_BALANCE_LONGTEXT, true );
+        change_safe();
     add_bool( CFG_PREFIX "audio-mute", false, NULL, AUDIO_MUTE_TEXT,
               AUDIO_MUTE_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "audio-bass", -1, NULL, AUDIO_BASS_TEXT,
                 AUDIO_BASS_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "audio-treble", -1, NULL, AUDIO_TREBLE_TEXT,
                 AUDIO_TREBLE_LONGTEXT, true );
+        change_safe();
     add_integer( CFG_PREFIX "audio-loudness", -1, NULL, AUDIO_LOUDNESS_TEXT,
                 AUDIO_LOUDNESS_LONGTEXT, true );
+        change_safe();
     add_string( CFG_PREFIX "set-ctrls", NULL, NULL, S_CTRLS_TEXT,
               S_CTRLS_LONGTEXT, true );
+        change_safe();
 
     add_shortcut( "v4l2" );
     set_capability( "access_demux", 10 );
diff --git a/modules/access/vcd/vcd.c b/modules/access/vcd/vcd.c
index 575ff32..6e57f9d 100644
--- a/modules/access/vcd/vcd.c
+++ b/modules/access/vcd/vcd.c
@@ -59,6 +59,7 @@ vlc_module_begin();
     add_usage_hint( N_("[vcd:][device][@[title][,[chapter]]]") );
     add_integer( "vcd-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
                  CACHING_LONGTEXT, true );
+        change_safe();
     add_shortcut( "vcd" );
     add_shortcut( "svcd" );
 vlc_module_end();
diff --git a/modules/access/vcdx/vcd.c b/modules/access/vcdx/vcd.c
index e4d525f..d2b7a8c 100644
--- a/modules/access/vcdx/vcd.c
+++ b/modules/access/vcdx/vcd.c
@@ -117,12 +117,14 @@ vlc_module_begin();
                   N_("Number of CD blocks to get in a single read."),
                   N_("Number of CD blocks to get in a single read."),
           true );
+        change_safe();
 
     add_bool( MODULE_STRING "-PBC", 0, NULL,
               N_("Use playback control?"),
               N_("If VCD is authored with playback control, use it. "
                  "Otherwise we play by tracks."),
               false );
+        change_safe();
 
     add_bool( MODULE_STRING "-track-length", true,
           NULL,
@@ -130,24 +132,28 @@ vlc_module_begin();
               N_("If set, the length of the seek bar is the track rather than "
          "the length of an entry."),
               false );
+        change_safe();
 
     add_bool( MODULE_STRING "-extended-info", 0, NULL,
               N_("Show extended VCD info?"),
               N_("Show the maximum amount of information under Stream and "
                  "Media Info. Shows for example playback control navigation."),
               false );
+        change_safe();
 
     add_string( MODULE_STRING "-author-format",
                 "%v - %F disc %c of %C",
                 NULL,
                 N_("Format to use in the playlist's \"author\" field."),
                 VCD_TITLE_FMT_LONGTEXT, true );
+        change_safe();
 
     add_string( MODULE_STRING "-title-format",
                 "%I %N %L%S - %M %A %v - disc %c of %C %F",
                 NULL,
                 N_("Format to use in the playlist's \"title\" field."),
                 VCD_TITLE_FMT_LONGTEXT, false );
+        change_safe();
 
 vlc_module_end();
 
-- 
1.5.6.5

