summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* options: simplify handling of some help optionswm42013-12-266-74/+28
|
* input: cosmetics: move code aroundwm42013-12-261-319/+316
| | | | Rearrange the code in an attempt to make its organization more logical.
* input: split off some code from input.c to separate fileswm42013-12-2610-1049/+1240
| | | | This is mostly just moving code around.
* build: hide duplicate options from `--help`Stefano Pigozzi2013-12-262-1/+11
| | | | | | Hide --enable variants from [autodetect]'ed options and --enable/--disable variants for [enable]'d/[disable]'d options. The hidden options are still usable, just hidden for more readability.
* cocoa: sanitize window title string and guard against NULLStefano Pigozzi2013-12-251-1/+6
| | | | | | | | | | | If the utf8 string used to create the NSString for title was invalid utf8, -stringWithUTF8String returned nil and triggered an assertion in Cocoa's framework code. Sanitize the utf8 string and if the sanitation wasn't enough just avoid crashing by not setting a title. Fixes #406
* vo_x11/vo_xv: fix build when using --disable-xextStefano Pigozzi2013-12-252-12/+12
|
* player: deselect secondary sub when switching to file with different trackswm42013-12-251-0/+2
| | | | | | This applies the usual logic of resetting stream selections to default when switching to a file with a different track layout. (This is to prevent selecting random streams.)
* player: fix initial selection with --secondary-sidwm42013-12-252-3/+22
| | | | | | | | Also, make sure that a track can't be selected twice. While this might work in some situations, it certainly won't work with subtitles demuxed from a stream. Fixes #425.
* player: add --secondary-sid for displaying a second subtitle streamwm42013-12-2415-106/+220
| | | | | | | This is relatively hacky, but it's Christmas, so it's ok. This does two things: 1. allow selecting two subtitle tracks, and 2. include a hack that renders the second subtitle always as toptitle. See manpage additions how to use this.
* player: add infrastructure to select multiple tracks at oncewm42013-12-246-43/+64
| | | | | Of course this does not allow decoding multiple tracks at once; it just adds some minor infrastructure, which could be used to achieve this.
* player: do initial seek for external tracks only oncewm42013-12-241-2/+12
| | | | | | Normally, there can be only one demuxer stream active for each demuxer of an external file, but this assumption will be broken for multiple subtitles support.
* player: slightly simplify seeking in external fileswm42013-12-241-16/+9
| | | | | | | For some reason, this checked whether there are external tracks at all before doing any seeks. Possibly this was to avoid multiple get_main_demux_pts() calls, but calling this multiple times shouldn't be too bad.
* player: redo demuxer stream selectionwm42013-12-247-85/+79
| | | | | | | Use struct track to decide what stream to select. Add a "selected" field and use that in some places instead of checking mpctx->current_track.
* audio: fix format ID conversionwm42013-12-231-1/+1
| | | | | AV_SAMPLE_FMT_NONE != 0, could apparently cause crashes in certain situations.
* changes.rst: add entry for dvdnav menuwm42013-12-231-1/+1
|
* manpage: mention video-unscaled propertywm42013-12-231-0/+1
|
* player: fix typo in previous commitwm42013-12-231-1/+1
| | | | Apparently I pushed too quickly.
* player: warn if Matroska font attachments have incorrect MIME typewm42013-12-231-2/+11
| | | | | | Normally we shouldn't load these files. But for some reason it was added in commit b784346e some years ago, and disabling this hack would probably be an inconvenience. So just print a warning.
* options: print any options set in verbose modewm42013-12-231-0/+5
| | | | | So we will know whether someone uses broken config file options when posting a log with -v.
* options: disable joystick by defaultwm42013-12-232-2/+1
|
* vaapi: fix initialization error code pathwm42013-12-231-1/+2
| | | | "res" can be uninitialized in the error case.
* subreader: replace some strcpy callswm42013-12-221-2/+3
|
* subreader: remove overlapping strcpywm42013-12-221-1/+2
| | | | Looks like this relied on undefined behavior.
* asxparser: remove commented codewm42013-12-221-12/+0
|
* stream_smb: remove dead codewm42013-12-221-22/+1
| | | | | Yep, smb_username/password were unused since forever, even in MPlayer. Removal untested. (Does anyone even use smb://?)
* player: simplify mp_load_per_file_configwm42013-12-221-8/+7
| | | | | Get rid of the stupid and error-prone buffer size calculations, use snprintf instead of strcpy.
* player: move code aroundwm42013-12-222-42/+37
| | | | | | The only thing that used mp_load_per_file_config() was inside configfiles.c too, so remove the declaration from core.h and move the function before its use.
* player: remove code duplication for auto-loaded config profileswm42013-12-221-60/+14
| | | | | | Code for loading "[vo.vdpau]" profiles and similar. The messages printed on loading change, but other than that, everything should behave about the same.
* path: add function to split URL into prefix and pathwm42013-12-222-0/+13
| | | | Used in the following commit.
* path: don't accept empty protocol as validwm42013-12-221-1/+1
| | | | mp_is_url("://") returned true.
* path: change mp_splitext() semanticswm42013-12-223-8/+8
| | | | | | | | | Including the "." in the returned extension was too inconvenient. I think originally, the semantics were supposed to work like in Python, but screw this. Also, return NULL instead of "" on failure (which is what its only user actually seems to expect).
* stream_radio: suppress error with -Werror=format-security compilation flagMiro HronĨok2013-12-221-1/+1
| | | | Signed-off-by: wm4 <wm4@nowhere>
* vo_vdpau: fix unintended truncation of 64 bit timestamps to 32 bitwm42013-12-222-2/+2
| | | | | | | | How embarrassing... This code is inactive for all VOs other than vo_vdpau. For vo_vdpau, this caused various issues, such as stuttering after about an hour of running mpv; see github issue #403.
* vo_vdpau: add some debugging messages for frame timingwm42013-12-221-2/+4
| | | | | | Note that this will print a difference even with perfect sync, because the code queues the frames _between_ vsync, probably for error margin (though I don't understand why it uses the exact values chosen).
* Don't include version.h from make options.cwm42013-12-224-9/+12
| | | | | | | | | I find this annoying. It's the reason common/version.c exists at all. options.c did this for the user agent, which contains the version number. Because not including version.h means you can't build the user agent and use it in mp_default_opts anymore, do something rather awkward in main.c to initialize the default user agent.
* stream: minor cookie cleanupwm42013-12-222-26/+23
| | | | | Avoid global state (reload cookie file every time), actually free loaded cookies, use mp_get_user_path() for cookie file.
* options: move network related options to MPOptswm42013-12-225-48/+37
|
* msg: add some comments about thread-safetywm42013-12-221-0/+6
|
* gl_lcms: actually acquire mutexwm42013-12-221-0/+2
| | | | Prevents race conditions (which can happen only in theory anyway).
* options: make --msglevel extend previous settingswm42013-12-221-3/+10
| | | | | | Make it so --msglevel extends previous --msglevel uses, instead of overwriting them. Do this by literally appending the --msglevel option value to the previous one.
* vda: attempt to fix build (2)wm42013-12-221-2/+2
| | | | Still no OSX here.
* path-macosx: attempt to fix buildwm42013-12-221-1/+1
| | | | Untested... no OSX here.
* Merge branch 'msg_refactor'wm42013-12-21223-3886/+3551
|\ | | | | | | | | This branch changes mp_msg() so that it doesn't require global context. The changes are pretty violent.
| * msg: remove global statewm42013-12-219-73/+84
| |
| * msg: don't prefix slave-mode stuff by defaultwm42013-12-211-1/+1
| |
| * player: use separate msg prefix for statuslinewm42013-12-213-3/+5
| | | | | | | | | | So the user can specifically mute or unmute the status line with --msglevel. Accidentally removed with commit 5e0c4ec3.
| * demux: don't prefix tag output with demuxer namewm42013-12-212-9/+12
| | | | | | | | Add a separate mp_log instance for this purpose.
| * msg: rename mp_msg_log -> mp_msgwm42013-12-2122-96/+96
| | | | | | | | Same for companion functions.
| * msg: convert defines to enumwm42013-12-219-36/+37
| | | | | | | | Also get rid of MSGL_HINT and the many MSGL_DBG* levels.
| * msg: remove legacy stuffwm42013-12-212-142/+3
| |
| * vo_opengl_old: remove leftoverswm42013-12-211-1/+1
| |
| * macosx_application: replace mp_msg with stderr for semi-fatal errorwm42013-12-211-3/+4
| | | | | | | | Apparently this should never be run anyway.
| * cpudetect: remove mp_msg callswm42013-12-211-13/+0
| | | | | | | | Worthless anyway.
| * path lookup functions: mp_msg conversionswm42013-12-2116-110/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a single mp_msg() in path.c, but all path lookup functions seem to depend on it, so we get a rat-tail of stuff we have to change. This is probably a good thing though, because we can have the path lookup functions also access options, so we could allow overriding the default config path, or ignore the MPV_HOME environment variable, and such things. Also take the chance to consistently add talloc_ctx parameters to the path lookup functions. Also, this change causes a big mess on configfiles.c. It's the same issue: everything suddenly needs a (different) context argument. Make it less wild by providing a mp_load_auto_profiles() function, which isolates most of it to configfiles.c.
| * af_export: require filename argumentwm42013-12-212-6/+5
| | | | | | | | | | | | Since mp_find_user_config_file() is going to get a context argument, which would be annoying to do in the audio chain (actually I'm just lazy).
| * quvi: mp_msg conversionswm42013-12-214-20/+33
| |
| * charset_conv: mp_msg conversionswm42013-12-214-27/+33
| |
| * stream: mp_msg conversionswm42013-12-2139-739/+557
| | | | | | | | We also drop some slave mode stuff from stream_vcd.
| * demux: mp_msg conversionswm42013-12-2128-561/+544
| | | | | | | | | | | | | | The TV code pretends to be part of stream/, but it's actually demuxer code too. The audio_in code is shared between the TV code and stream_radio.c, so stream_radio.c needs a small hack until stream.c is converted.
| * playlist_parser: mp_msg conversionwm42013-12-216-75/+81
| |
| * x11: mp_msg conversion for fstype help outputwm42013-12-213-11/+9
| |
| * encode_lavc: mp_msg conversionswm42013-12-214-111/+104
| | | | | | | | Miss two mp_msg calls, because these conflict with future commits.
| * options: some more mp_msg conversionswm42013-12-214-42/+31
| |
| * av_log: mp_msg conversionwm42013-12-213-34/+73
| | | | | | | | | | | | | | | | This is pretty nasty, because FFmpeg/Libav is yet another library with a global message callback. We do something with mutexes trying to get it done, but of course we can't actually solve this problem. If more than one library in a process use FFmpeg/Libav, only one of them will get log messages.
| * m_option: add mp_log context to sub-module print_help callbackwm42013-12-215-13/+11
| |
| * m_option: add mp_log callback to OPT_STRING_VALIDATE optionswm42013-12-219-79/+81
| | | | | | | | | | And also convert a bunch of other code, especially ao_wasapi and ao_portaudio.
| * m_option, m_config: mp_msg conversionswm42013-12-2120-297/+275
| | | | | | | | | | | | | | | | Always pass around mp_log contexts in the option parser code. This of course affects all users of this API as well. In stream.c, pass a mp_null_log, because we can't do it properly yet. This will be fixed later.
| * m_property: mp_msg conversionswm42013-12-215-25/+34
| | | | | | | | | | Includes some semi-crappy hacks to avoid changing too much code for this conversion (allowing NULL log argument for m_property_do()).
| * input: rework how input sources are addedwm42013-12-2113-205/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, there were two functions to add input sources (stuff like stdin input, slave mode, lirc, joystick). Unify them to a single function (mp_input_add_fd()), and make sure the associated callbacks always have a context parameter. Change the lirc and joystick code such that they take store their state in a context struct (probably worthless), and use the new mp_msg replacements (the point of this refactoring). Additionally, get rid of the ugly USE_FD0_CMD_SELECT etc. ifdeffery in the terminal handling code.
| * m_config: add custom context to includefunc callbackwm42013-12-213-4/+7
| |
| * sub/osd: mp_msg conversionswm42013-12-2119-80/+104
| |
| * find_subfiles: mp_msg conversionswm42013-12-213-12/+14
| |
| * player/timeline: mp_msg conversionswm42013-12-213-39/+36
| |
| * demux: use fprintf() for printing fatal errorswm42013-12-211-6/+4
| | | | | | | | | | We print these before calling abort(), which is deadly unclean anyway. Avoids having to add log contexts.
| * codecs: avoid having to print error messagewm42013-12-211-3/+2
| | | | | | | | | | | | | | | | | | The mp_select_decoders() function doesn't have a log context (and I don't want to give it one), so get rid of the mp_msg error message by enhancing the semantics such that the syntax error is replaced by a new feature. Now doing "--ad=something" will enable all decoders in the "something" module, same as "--ad=something:*". Pretty useless, but gets rid of the annoyance.
| * codecs: mp_msg conversionwm42013-12-215-11/+13
| |
| * av_common: abuse av_log to print message instead of mp_msgwm42013-12-211-1/+2
| | | | | | | | Saves a little bit of pain.
| * ao: some missing mp_msg conversionswm42013-12-211-13/+17
| |
| *