summaryrefslogtreecommitdiff
path: root/src/xine-engine/configfile.c
AgeCommit message (Collapse)Author
2007-02-19Make the enum functions accept the strict parameter, const char* array ↵Diego 'Flameeyes' Pettenò
rather than char* array. CVS patchset: 8605 CVS date: 2007/02/19 23:53:40
2006-12-19Mark string-type configuration items according to whether they're plainDarren Salt
strings or names of files, device nodes or directories. This information is available to front ends (via .num_value) so that they can present file/dir-open dialogue boxes if they so choose. Subtitle font selection is split up due to this. CVS patchset: 8425 CVS date: 2006/12/19 19:10:50
2006-09-26Fix _x_config_change_opt function to actually sanity check all the pointers, ↵Diego 'Flameeyes' Pettenò
and avoid deeply nested code. Closes Coverity Scan CIDs 246 and 247. CVS patchset: 8305 CVS date: 2006/09/26 21:51:11
2006-06-20Fix generic warnings.Diego 'Flameeyes' Pettenò
CVS patchset: 8063 CVS date: 2006/06/20 00:35:07
2005-08-21**BUGFIX**Darren Salt
Allow the backup of an empty configuration file to succeed. CVS patchset: 7708 CVS date: 2005/08/21 17:01:02
2005-07-21- change frontend_lock and config_lock to recursive mutexes to fixMiguel Freitas
reentrancy problems (as reported by Reinhard Nissl and Darren Salt) - add a new recursive mutex support check to configure so we should fail nicely if system doesn't provides it (please test) CVS patchset: 7670 CVS date: 2005/07/21 02:51:14
2005-07-17**BUGFIX**Darren Salt
Locking problem with string config item callbacks which access config items. CVS patchset: 7655 CVS date: 2005/07/17 23:05:09
2005-02-07Stupid me, sorry about that.Thibaut Mattern
Fixed config locking. CVS patchset: 7389 CVS date: 2005/02/07 18:53:17
2005-01-30First part of the plugin loader changesThibaut Mattern
- duplicate all strings, needed to allow plugin unloading - move duplicated code to functions This should not change anything to the behavior of the config system. CVS patchset: 7373 CVS date: 2005/01/30 16:51:20
2005-01-05input.http_no_proxy -> media.network.http_no_proxyDarren Salt
Change separator from ", " to ",". Make domain matching stricter - require that the character at the start of the match or the immediately preceding character is a dot. Add '=DOMAIN' (full match: domain "foo.bar" matches host "foo.bar" only). Modify config option's description and help text accordingly. CVS patchset: 7323 CVS date: 2005/01/05 00:37:29
2004-12-20remove all local names beginning with double underscore, because C99Michael Roitzsch
reserves these names for use by the C implementation CVS patchset: 7288 CVS date: 2004/12/20 21:22:18
2004-12-13add dvb.adapter to the conversion listMike Lampard
CVS patchset: 7241 CVS date: 2004/12/13 11:11:27
2004-12-13readd translation for dxr3.playback.alt_play_mode,Michael Roitzsch
remove the identical translations entirely for clarity CVS patchset: 7240 CVS date: 2004/12/13 10:58:33
2004-12-13Don't list key translations where new == old, and don't recursivelyDarren Salt
translate keys: instead, try lookup, translate, retry lookup. As was, this would cause stack overflows (and was preventing my use of Xv). Special-case the plugin priority translation in case of third-party decoder plugins and corresponding config entries of the form "decoders.*_priority". CVS patchset: 7235 CVS date: 2004/12/13 03:49:44
2004-12-12huge patch ahead: reorganizing config entries with automatic conversionMichael Roitzsch
and backwards compatible translation Sorry, I got a litte tired proof-reading the patch, so their might be bugs lurking around. I will give it some further examination and (as necessary) fixing tomorrow. CVS patchset: 7233 CVS date: 2004/12/12 22:00:47
2004-09-12including <unistd.h>, which has been removed from the global headersMichael Roitzsch
CVS patchset: 6968 CVS date: 2004/09/12 19:23:36
2004-07-22frontends could have crashed xine-lib by passing a too long filenameMichael Roitzsch
CVS patchset: 6837 CVS date: 2004/07/22 14:26:24
2004-06-19rename part of config entry keys from "plugin" to "subsection", because forMichael Roitzsch
the users it is better if we structure by intuitive categories, not strictly by plugins CVS patchset: 6712 CVS date: 2004/06/19 19:54:59
2004-05-07* fix config file loading: enums are read as numbers, although written as ↵Michael Roitzsch
strings -> read and update them as strings * remove the obsolete CONFIG_TYPE_* constants and replace them with XINE_CONFIG_TYPE_* from xine.h CVS patchset: 6496 CVS date: 2004/05/07 14:38:14
2004-03-16prevent segfaults (patch from Debian bug #228751, posted by Michel Daenzer)Siggi Langauf
CVS patchset: 6276 CVS date: 2004/03/16 21:32:23
2004-03-16implicit changes to the configuration are now disabled by default and haveMichael Roitzsch
to be enabled by the user CVS patchset: 6274 CVS date: 2004/03/16 20:50:08
2004-03-03use the _x_abort() macro instead of abort, since it prints some debug infoMichael Roitzsch
before aborting CVS patchset: 6211 CVS date: 2004/03/03 20:09:11
2004-01-16fix 'unsavable' config file: if config file contain garbage (non printable ↵Daniel Caujolle-Bert
chars), backup fail (fgets/fputs), and value can't be saved, never. Move to fread/fwrite, single shot, backup function (need to reproduce ?: <http://xine.sf.net/daniel/config_failure>) CVS patchset: 6051 CVS date: 2004/01/16 23:03:38
2003-12-09update copyright year (and we have to do it again in 3 weeks... ;-) )Daniel Caujolle-Bert
CVS patchset: 5879 CVS date: 2003/12/09 00:02:28
2003-12-07get rid of XINE_{ASSERT,ABORT} and useless xine_print_trace (useless). ↵Daniel Caujolle-Bert
Replace XINE_ASSERT by _x_assert, which works exaclty as assert, except that it still warns with NDEBUG defined (but don't abort). Fix missuning of assert(0), which isn't safe, abort is abort, assert is for debugging purpose only, so all assert(0) has been converted to abort() alls. In osd_preload_fonts(): alloc needed memory chunk. Define NDEBUG in CFLAGS, for non DEBUG build only. CVS patchset: 5860 CVS date: 2003/12/07 15:34:29
2003-12-05cleanup phase II. use xprintf when it's relevant, use xine_xmalloc when it's ↵Daniel Caujolle-Bert
relevant too. Small other little fix (can't remember). Change few internal function prototype because it xine_t pointer need to be used if some xine's internal sections. NOTE: libdvd{nav,read} is still too noisy, i will take a look to made it quit, without invasive changes. To be continued... CVS patchset: 5844 CVS date: 2003/12/05 15:54:56
2003-11-26lprintf cleanup, pass I.Daniel Caujolle-Bert
CVS patchset: 5796 CVS date: 2003/11/26 19:43:26
2003-11-16New stream/meta info (safe) stuff.Daniel Caujolle-Bert
BIG NOTE: use helpers to access to these informations (get/set/reset): _x_{stream,meta}_info_{get,set,reset}() are for internal use, don't use *_public() ones from inside the beast ;-) Some wrongly names "xine_" fonction renaming. CVS patchset: 5757 CVS date: 2003/11/16 23:33:42
2003-11-11rename internal API function (_x_<function>).Daniel Caujolle-Bert
CVS patchset: 5721 CVS date: 2003/11/11 18:44:50
2003-11-02configfile beautification:Michael Roitzsch
values set to their default are commented out CVS patchset: 5677 CVS date: 2003/11/02 16:59:18
2003-10-26* refactor config entry sort functionsMichael Roitzsch
* sorting hierarchy changed: - sort by section name - sort by plugin name (not used yet) - sort by experience level (this step is new) - sort by config entry name * use strdup instead of its private reimplementation * use locking more consistently (up to now, entry lookups were unlocked, which can be dangerous if someone else is in the middle of adding a new entry) CVS patchset: 5604 CVS date: 2003/10/26 11:38:50
2003-10-21remove this config relic, sticky_str was removes more than year ago.Daniel Caujolle-Bert
CVS patchset: 5566 CVS date: 2003/10/21 22:10:34
2003-10-20Clog the security hole in RIP input plugin. Streams may be saved only into ↵František Dvořák
onle directory. Note, this is patch only for xine-engine. It doesn't cover cfg:// MRLs used by xine-ui. CVS patchset: 5558 CVS date: 2003/10/20 08:36:56
2003-07-31introduce config file versioningMichael Roitzsch
A new entry in the config file ".version:" stores the current version of the config file. The '.' at the beginning of ".version" shows that this is a somewhat hidden (read: internal) entry and it makes the line easy to spot and prevents clashes with regular config entries. The first use of this is to reset all decoder priorities to 0 (= use default) so that we hopefully won't have problems like the qtv decoder clash any more. CVS patchset: 5226 CVS date: 2003/07/31 11:59:10
2003-07-12- adding support for the Intel compiler iccMichael Roitzsch
- general multipass compilation make targets CVS patchset: 5149 CVS date: 2003/07/12 12:31:13
2003-07-10when two concurrent threads want to create the same config entry, bothMichael Roitzsch
might run the lookup simultaneously and so both might find the entry missing; as a result, the entry might be created twice afterwards -> fixed by moving the mutex to protect the lookup as well CVS patchset: 5139 CVS date: 2003/07/10 14:14:40
2003-03-25do not enter callbacks with config lock held at least for numeric config entriesMichael Roitzsch
fix a race on the char * for string config entries CVS patchset: 4478 CVS date: 2003/03/25 12:49:15
2003-02-28Xine assert() replacement:Stephen Torri
All assert() function calls, with exceptions of libdvdread and libdvdnav, have been replaced with XINE_ASSERT. Functionally XINE_ASSERT behaves just likes its predecesor but its adding the ability to print out a stack trace at the point where the assertion fails. So here are a few examples. assert (0); This use of assert was found in a couple locations most favorably being the default case of a switch statement. This was the only thing there. So if the switch statement was unable to find a match it would have defaulted to this and the user and the developers would be stuck wonder who died and where. So it has been replaced with XINE_ASSERT(0, "We have reach this point and don't have a default case"); It may seem a bit none descriptive but there is more going on behind the scene. In addition to checking a condition is true/false, in this case '0', the XINE_ASSERT prints out: <filename>:<function name>:<line number> - assertion '<assertion expression>' failed. <description> An example of this might be: input_dvd.c:open_plugin:1178 - assertion '0' failed. xine_malloc failed!!! You have run out of memory XINE_ASSERT and its helper function, print_trace, are found in src/xine-utils/xineutils.h CVS patchset: 4301 CVS date: 2003/02/28 02:51:47
2003-02-02- remove LOG from audio_out.c, fix backing up the configfile if there's no ↵Bastien Nocera
configfile to save, and if there's already a backup file CVS patchset: 4087 CVS date: 2003/02/02 12:33:23
2003-02-01different method of safe config file writing by Cameron Simpson <cs@zip.com.au>:Michael Roitzsch
-> backup to a different file -> if this was successful write config to original -> if this was successful remove backup CVS patchset: 4076 CVS date: 2003/02/01 13:15:22
2003-01-31disk-full-aware configfile writing:Michael Roitzsch
-> traverse links -> write to a temporary file -> rename the file to the actual config filename CVS patchset: 4074 CVS date: 2003/01/31 22:00:19
2003-01-13autoscan plugins and config entries are ordered nowMichael Roitzsch
good news for Daniel: no frontend change is required, the entries are sorted inside the engine I did not change the config entry names for now, because they seem well sorted already, so I avoided breaking everyones config file. But it is now possible to name the config keys in a <section>.<plugin>.<entry> style (instead of the old <section>.<entry> style) resulting in entries of the same plugin being sorted next to each other. CVS patchset: 3901 CVS date: 2003/01/13 17:43:08
2002-12-21Protect against faulty configuration settings a tad better.Rocky Bernstein
CVS patchset: 3613 CVS date: 2002/12/21 16:25:31
2002-10-31new syntax for MRLsMichael Roitzsch
basic changes: - MRLs are a subset of URIs - important new delimiter is # - everything before the # will be passed to the input plugin - after the # you can add several ;-separated stream parameters: novideo - video will be ignored noaudio - audio will be ignored nospu - spus will be ignored demux:... - specify the demuxer to use (e.g. demux:mpeg_block) entry:value - assign any config entry a new value CVS patchset: 3112 CVS date: 2002/10/31 16:58:12
2002-10-31It is not possible to just drop the unregistered config entries when saving.Michael Roitzsch
Some decoders might never be loaded and never get a chance to register their config entries. Example: When starting xine and playing only an ordinary avi, liba52's passthrough setting is lost. CVS patchset: 3110 CVS date: 2002/10/31 10:45:36
2002-10-26Removed trailing white spacesStephen Torri
CVS patchset: 3006 CVS date: 2002/10/26 03:56:31
2002-10-26Remove assert(0), left over from testing.James Courtier-Dutton
dispose of event queue. CVS patchset: 2998 CVS date: 2002/10/26 02:12:27
2002-10-23input_dvd.c now listens for keyboard events from xine-ui.James Courtier-Dutton
CVS patchset: 2962 CVS date: 2002/10/23 11:44:30
2002-09-22API review part IMichael Roitzsch
- bring our beloved xine_t * back (no more const there) - remove const on some input plugin functions where the data changes with media (dvd, ...) changes and is therefore not const CVS patchset: 2740 CVS date: 2002/09/22 14:29:40
2002-09-21Rename xine_(load/save/reset)_config to xine_config_(load/save/reset).Daniel Caujolle-Bert
CVS patchset: 2728 CVS date: 2002/09/21 12:20:47