From: Siegfried L. <si...@us...> - 2003-07-27 23:39:05
|
Update of /cvsroot/xine/xine-lib/src/xine-engine In directory sc8-pr-cvs1:/tmp/cvs-serv16470/src/xine-engine Modified Files: load_plugins.c Log Message: priority reset mechanism Index: load_plugins.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/xine-engine/load_plugins.c,v retrieving revision 1.155 retrieving revision 1.156 diff -u -r1.155 -r1.156 --- load_plugins.c 27 Jul 2003 12:47:23 -0000 1.155 +++ load_plugins.c 27 Jul 2003 23:39:02 -0000 1.156 @@ -97,6 +97,7 @@ char str[80]; int result; + int reset; sprintf (str, "decoder.%s_priority", id); @@ -108,7 +109,14 @@ "can be handled by more than one decoder.\n" "A priority of 0 enables the decoder's default priority.", 20, NULL, NULL /*FIXME: implement callback*/); - + /* check for priority reset */ + reset = this->config->lookup_entry(this->config, + "decoder.reset_priorities")->num_value; + if (reset){ + result = 0; + this->config->update_num(this->config, str, 0); + } + return result ? result : default_priority; } @@ -962,6 +970,19 @@ } #endif + (void) this->config + ->register_bool(this->config, + "decoder.reset_priorities", + 1, + "if 'true', reset default decoder priorities", + "This will restore all decoder priorities by\n" + " setting them to 0. (= \"use default priority\")\n" + "while dropping user changes, this ensures that\n" + "a sane set of decoders will be used.\n" + "This option is only evaluated once, next time xine is\n" + "started. After that, it resets to 'false'.", + 20, NULL, NULL); + homedir = xine_get_homedir(); this->plugin_catalog = _new_catalog(); load_cached_catalog (this); @@ -1001,6 +1022,8 @@ load_required_plugins (this); map_decoders (this); + + this->config->update_num(this->config, "decoder.reset_priorities", 0); } /* |