summaryrefslogtreecommitdiffstats
path: root/asxparser.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove dead codewm42012-08-011-17/+0
| | | | | | | | | | | | | This was done with the help of callcatcher [1]. Only functions which are statically known to be unused are removed. Some unused functions are not removed yet, because they might be needed in the near future (such as open_output_stream for the encode branch). There is one user visible change: the --subcc option did nothing, and is removed with this commit. [1] http://www.skynet.ie/~caolan/Packages/callcatcher.html
* mplayer: turn playtree into a list, and change per-file option handlingwm42012-07-311-122/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - There is no playtree anymore. It's reduced to a simple list. - Options are now always global. You can still have per-file options, but these are optional and require special syntax. - The slave command pt_step has been removed, and playlist_next and playlist_prev added. (See etc/input.conf changes.) This is a user visible incompatible change, and will break slave-mode applications. - The pt_clear slave command is renamed to playlist_clear. - Playtree entries could have multiple files. This is not the case anymore, and playlist entries have always exactly one entry. Whenever something adds more than one file (like ASX playlists or dvd:// or dvdnav:// on the command line), all files are added as separate playlist entries. Note that some of the changes are quite deep and violent. Expect regressions. The playlist parsing code in particular is of low quality. I didn't try to improve it, and merely spent to least effort necessary to keep it somehow working. (Especially ASX playlist handling.) The playtree code was complicated and bloated. It was also barely used. Most users don't even know that mplayer manages the playlist as tree, or how to use it. The most obscure features was probably specifying a tree on command line (with '{' and '}' to create/close tree nodes). It filled the player code with complexity and confused users with weird slave commands like pt_up. Replace the playtree with a simple flat playlist. Playlist parsers that actually return trees are changed to append all files to the playlist pre-order. It used to be the responsibility of the playtree code to change per-file config options. Now this is done by the player core, and the playlist code is free of such details. Options are not per-file by default anymore. This was a very obscure and complicated feature that confused even experienced users. Consider the following command line: mplayer file1.mkv file2.mkv --no-audio file3.mkv This will disable the audio for file2.mkv only, because options are per-file by default. To make the option affect all files, you're supposed to put it before the first file. This is bad, because normally you don't need per-file options. They are very rarely needed, and the only reasonable use cases I can imagine are use of the encode backend (mplayer encode branch), or for debugging. The normal use case is made harder, and the feature is perceived as bug. Even worse, correct usage is hard to explain for users. Make all options global by default. The position of an option isn't significant anymore (except for options that compensate each other, consider --shuffle --no-shuffle). One other important change is that no options are reset anymore if a new file is started. If you change settings with slave mode commands, they will not be changed by playing a new file. (Exceptions include settings that are too file specific, like audio/subtitle stream selection.) There is still some need for per-file options. Debugging and encoding are use cases that profit from per-file options. Per-file profiles (as well as per-protocol and per-VO/AO options) need the implementation related mechanisms to backup and restore options when the playback file changes. Simplify the save-slot stuff, which is possible because there is no hierarchical play tree anymore. Now there's a simple backup field. Add a way to specify per-file options on command line. Example: mplayer f1.mkv -o0 --{ -o1 f2.mkv -o2 f3.mkv --} f4.mkv -o3 will have the following options per file set: f1.mkv, f4.mkv: -o0 -o3 f2.mkv, f3.mkv: -o0 -o3 -o1 -o2 The options --{ and --} start and end per-file options. All files inside the { } will be affected by the options equally (similar to how global options and multiple files are handled). When playback of a file starts, the per-file options are set according to the command line. When playback ends, the per-file options are restored to the values when playback started.
* asxparser: remove code confusing asx/player optionsUoti Urpala2011-07-261-25/+0
|
* cleanup: don't check for NULL before free()diego2010-11-081-7/+7
| | | | | | patch by Clément Bœsch, ubitux gmail com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32598 b3059339-0415-0410-9bf9-f77b7e298cf2
* Merge svn change r31134Uoti Urpala2010-05-071-78/+78
|\ | | | | | | Fix some search/replace errors introduced in the svn commit.
| * the great MPlayer tab removal: part IIdiego2010-05-031-78/+78
| | | | | | | | | | | | | | some extra indentation fixes are put in as a bonus git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31134 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30798Uoti Urpala2010-03-101-47/+0
|\|
| * Remove unused static functions asx_list_add() and asx_list_remove().cehoyos2010-02-271-47/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30769 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30748Uoti Urpala2010-03-101-5/+5
|\|
| * Do not cast the results of malloc/calloc/realloc.diego2010-02-261-5/+5
| | | | | | | | | | | | | | | | These functions return void*, which is compatible with any pointer, so there is no need for casts. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30744 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30643Uoti Urpala2010-03-101-2/+2
|\|
| * Mark some more functions that are not used outside of their files as static.diego2010-02-181-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30632 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30475Uoti Urpala2010-03-091-0/+18
|\|
| * Add license header to all top-level files missing them.diego2010-01-301-0/+18
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30471 b3059339-0415-0410-9bf9-f77b7e298cf2
| * whitespace cosmetics: Remove all trailing whitespace.diego2009-05-131-20/+20
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Remove trailing whitespace from most filesUoti Urpala2009-07-071-20/+20
| |
* | Move global mconfig to mpctxUoti Urpala2008-04-261-7/+7
|/ | | | | | | | | | | The global was used in the function cfg_include which handles the -include option. Make the address available in that function by creating a new dynamically allocated option in m_config_new that has the address in the option's private data. asxparser.c also used the global. Making it available through all ways the code could get called required a number of relatively straightforward changes to playtree and menu code.
* Disable http->mmshttp rewriting hack introduced in r25168,reimar2008-02-081-0/+4
| | | | | | | | unfortunately WMP is not the only one using asx. Fixes http://www.fresh80s.de/listen.wax git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25960 b3059339-0415-0410-9bf9-f77b7e298cf2
* Replace http:// URLs in asx files by mmshttp://.reimar2007-11-261-0/+8
| | | | | | | Avoid some infinite-loop problems when stream and playlist have the same URL. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25168 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove two unused functions in asxparserreimar2007-06-241-44/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23630 b3059339-0415-0410-9bf9-f77b7e298cf2
* introduce new 'stream' directory for all stream layer related components and ↵ben2006-07-311-1/+1
| | | | | | split them from libmpdemux git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19277 b3059339-0415-0410-9bf9-f77b7e298cf2
* marks several read-only string parameters which aren't modified inside the ↵reynaldo2006-07-151-1/+1
| | | | | | called function as const. Patch by Stefan Huehner, stefan AT huehner-org git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19109 b3059339-0415-0410-9bf9-f77b7e298cf2
* marks several string parameters as const, as they are not modified inside ↵reynaldo2006-07-131-2/+2
| | | | | | the function, Patch by Stefan Huehner, stefan AT huehner-org git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19058 b3059339-0415-0410-9bf9-f77b7e298cf2
* rm unnecesary void* casts - part 1reynaldo2006-07-011-6/+6
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18874 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix possible use of body uninitialized. Remove an unneeded free (bodyrtognimp2006-03-101-2/+1
| | | | | | | is not allocated before it). CID 243 and more git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17804 b3059339-0415-0410-9bf9-f77b7e298cf2
* Respect -playlist for asx streamsrtognimp2004-04-171-1/+2
| | | | | | | Patch by adland git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12224 b3059339-0415-0410-9bf9-f77b7e298cf2
* output typo fixes: unknow --> unknowndiego2003-07-091-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10398 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove STREAMTYPE_PLAYLIST.albeu2003-03-301-9/+4
| | | | | | | | Add support for quoting attribs vals with with ' Use new config headers git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9745 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix some memleaksalbeu2003-03-141-1/+5
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9586 b3059339-0415-0410-9bf9-f77b7e298cf2
* this patch adds an fallback to playlist (any but the plaintext-list format)arpi2003-01-121-1/+1
| | | | | | | | after all demuxers failed. so -playlist is not needed any more! patch by Fabian Franz <FabianFranz@gmx.de>, with some small modifications git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8926 b3059339-0415-0410-9bf9-f77b7e298cf2
* Allow to use the asx parser for some other purposesalbeu2002-11-121-10/+8
| | | | | | | A few 10L fix git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8171 b3059339-0415-0410-9bf9-f77b7e298cf2
* New config system + cleanup of header inter dependencyalbeu2002-11-121-0/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8165 b3059339-0415-0410-9bf9-f77b7e298cf2
* patch for crashes/memory corruptions in ASX playlist parser.arpi2002-10-251-2/+2
| | | | | | | by Gregory Kovriga <gkovriga@techunix.technion.ac.il> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7910 b3059339-0415-0410-9bf9-f77b7e298cf2
* Portability fix with reallocalbeu2002-04-231-1/+6
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5803 b3059339-0415-0410-9bf9-f77b7e298cf2
* Bug fix in entry parsing.albeu2002-02-231-5/+49
| | | | | | | Support for param entry (to add your config options) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4821 b3059339-0415-0410-9bf9-f77b7e298cf2
* Implementation of entryrefalbeu2002-01-221-4/+41
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4310 b3059339-0415-0410-9bf9-f77b7e298cf2
* FreeBSD fixnexus2002-01-081-0/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4051 b3059339-0415-0410-9bf9-f77b7e298cf2
* tree-based playlist parser code by Alban Bedel <albeu@free.fr>arpi2002-01-081-0/+645
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4044 b3059339-0415-0410-9bf9-f77b7e298cf2