aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* command: better choice when to allow playback-related commandsGravatar wm42015-05-26
| | | | | | | | For certain reasons, we allow adding external tracks even before the main file is loaded. This somewhat breaks in old assumption, which uses mpctx->num_sources to determine whether a command can be applied in the current state. Use the newer playback_initialized instead, which is a much better choice for this purpose.
* command: fix track property when no file is loadedGravatar wm42015-05-26
| | | | | | | | | | | The previous commit removed this. Although mp_switch_track() can now be called in all situations, we still don't want it to be called here. Setting a track property while no file is loaded would simply deselect the track instead of setting the underlying option to the requested value. Likewise, if the "cycle" command (M_PROPERTY_SWITCH) is used, don't just deselect the track.
* player: fix crashes when adding external tracks before loading main fileGravatar wm42015-05-26
| | | | | | | | | | | | | | | | Adding an external audio track before loading the main file didn't work right. For one, mp_switch_track() assumes it is called after the main file is loaded. (The difference is that decoders are only initialized once the main file is loaded, and we avoid doing this before that for whatever reason.) To avoid further messiness, just allow mp_switch_track() to be called at any time. Also make it do what mp_mark_user_track_selection() did, since the latter requires current_track to be set. (One could probably simply allow current_track to be set at this point, but it'd interfere with default track selection anyway and thus would be pointless.) Fixes #1984.
* demux: don't get stuck on some cases of timestamp resetsGravatar wm42015-05-26
| | | | | In this case, streaming ogg via mpd over icecast made it buffer infinitely on new tracks.
* ao_alsa: hack back mono outputGravatar wm42015-05-25
| | | | | The ALSA API is inconsistent and doesn't report support. Just requesting 1 channel actually works. Whatever.
* TOOLS/lua/status-bar: update use of a deprecated propertyGravatar wm42015-05-25
| | | | | Also mention that this code does not reflect the status line of current mpv.
* input: allow - as separator between commands, instead of _Gravatar wm42015-05-25
| | | | | | | | | | Wnile it seems quite logical to me that commands use _ as word separator, while properties use -, I can't really explain the difference, and it tends to confuse users as well. So always prefer - as separator for everything. Using _ still works, and will probably forever. Not doing so would probably create too much chaos and confusion.
* command: change the hwdec propertiesGravatar wm42015-05-25
| | | | | | Another very minor step towards property/option unification. Not bothering with interface compatibility here.
* vd_lavc: report actually used hwdec APIGravatar wm42015-05-25
| | | | | Instead of the requested one, which can be just "auto", and which is rather useless.
* vf_dlopen: declare as deprecatedGravatar wm42015-05-25
| | | | | Mostly to see whether someone uses it, and if a better solution can be worked out. (It's simple enough to be supported forever.)
* cocoa: don't load hardcoded icon if running from bundleGravatar Stefano Pigozzi2015-05-25
| | | Makes ricers happy.
* demux_edl: fix includesGravatar wm42015-05-24
| | | | It doesn't need access to the playback core state anymore.
* video: do not use MP_NOPTS_VALUE for A/V differenceGravatar wm42015-05-24
| | | | | | There's no need for this, it just creates more corner cases. Also always reset it on seeks etc..
* player: add function to compute past frame durationsGravatar wm42015-05-24
| | | | | And use it for the estimated-vf-fps property (it should be doing the same as before).
* vo_null: add framerate emulationGravatar wm42015-05-24
|
* manpage: --media-title -> --force-media-titleGravatar Philip Sequeira2015-05-24
| | | Missed in 450af053.
* DOCS/client_api_examples/cocoa-openglcb: do initial flush correctly.Gravatar torque2015-05-23
|
* command: add protocol-list propertyGravatar wm42015-05-23
| | | | Fixes #1972.
* ytdl: do not use deprecated optionGravatar wm42015-05-23
| | | | This was missed in commit 450af053.
* vo_opengl: switch to new OpenGL backend API for icc-profile-autoGravatar Niklas Haas2015-05-22
| | | | The current code just segfaults.
* command: allow changing track properties while no file is loadedGravatar wm42015-05-22
| | | | | | | | | | Now it simply changes the options, i.e. what will be requested, instead of returning M_PROPERTY_UNAVAILABLE. This is another minor step towards unifying options and properties. Still a bit weird: it will always return "no" if no file is loaded, and disregards the option value.
* player: use an array for stream ID options and suchGravatar wm42015-05-22
| | | | This makes the code slightly more generic.
* command: deprecate audio-samplerateGravatar wm42015-05-22
| | | | | | | Also replace their implementation with the recently introduced properties. One significant difference is that audio-channels using OSD formatting does not print the channel layout. The user can just use the replacement property instead.
* command: add audio-params and audio-out-params propertiesGravatar wm42015-05-22
|
* command: remove old property deprecation warning mechanismGravatar wm42015-05-22
| | | | | | | We don't need two. This mechanism was basically for MPlayer, and it has expired its usefulness by now.
* command: rename audio-format propertyGravatar wm42015-05-22
| | | | Clashes with the option.
* options: rename --media-title optionGravatar wm42015-05-22
| | | | Conflicts with the property.
* command: deprecate the "length" propertyGravatar wm42015-05-22
| | | | It collides with the --length option.
* command: add a new property deprecation mechanismGravatar wm42015-05-22
| | | | Looks like this will be needed a lot...
* DOCS: add a changelog for option/command/property changesGravatar wm42015-05-22
| | | | | All these make up both user interface and API. It's a good idea to actually keep track of changes to it.
* audio: make softvol scale cubicGravatar wm42015-05-22
| | | | | | | | This brings the volume control closer to what is percepted as linear volume change. Adjust the --softvol-max default to roughly the old maximum (roughly doubles the gain).
* audio: change range of volume option/propertyGravatar wm42015-05-22
| | | | | | | | | Now --volume takes an absolute volume, meaning it doesn't depend on --softvol-max. 0 is still silence, and 100 now always means unchanged volume. The OSD and the "volume" property are changed accordingly. Also raise the minimum value of --softvol-max. A value below 100 makes no sense and breaks the OSD.
* options: --loop without argument means looping foreverGravatar wm42015-05-22
| | | | | | | | | | | | Adding a "yes" choice makes the option parser consider this option as a multi-state flag option, and without argument "yes" is implicitly selected. "yes" is made an alias for "inf", so it will loop infinitely. As a negative side effect, the old syntax "-loop inf" does not work anymore. Since this is ambiguous, the option parser prefers interpreting the "inf" as filename. Fixes #1970.
* command: explicitly show mouse cursor when unfullscreeningGravatar wm42015-05-21
|
* win32: do not call timeEndPeriod(1) on terminationGravatar wm42015-05-21
| | | | | | | | This was called for formal reasons at best. The way it does this is somewhat dangerous, because if libmpv is unloaded as DLL, this would attempt to call a dangling function pointer. (No, we don't want an extra DllMain entrypoint just for win32.)
* DOCS/client_api_examples: cocoa: minor fixesGravatar wm42015-05-21
| | | | | | | Cocoa needs to be linked explicitly. EXIT_SUCCESS is pretty pointless, and the same file uses exit(1) in other places.
* DOCS/client_api_examples: add opengl-cb-based cocoa example.Gravatar torque2015-05-21
| | | | Contains a basic toggle button that pauses the video.
* chmap: use av_popcount64()Gravatar wm42015-05-21
| | | | Saves us some code, and also happens to fix #1968.
* vo_opengl: vda: make it work anywhereGravatar wm42015-05-21
| | | | | | | | A rather dumb hack to copy the problematic rectangle textures (mandated by VDA) into 2D ones. (This isn't done yet for OpenGL 3.0+. We need to make sure the performance isn't reduced too much by it.)
* video: do not align source position to 2Gravatar wm42015-05-21
| | | | | vo_direct3d still seems to require this (tested on Windows 8.1 with Intel graphics). Do it in vo_direct3d instead of messing with all VOs.
* vo_opengl: remove npot optionGravatar wm42015-05-21
| | | | Completely useless.
* DOCS/mplayer-changes: add relative seeking by %Gravatar Robin2015-05-21
| | | | Add relative seeking by percentage to mplayer-changes.rst
* vo_xv: make number of buffers configurableGravatar wm42015-05-20
|
* command: refactor if/else statements to switchGravatar Robin2015-05-20
| | | | | | The code checking for the type of seeking contained some if else statements. To improve readability, I decided to refactor those statements to a switch statement.
* video: force audio resync after video discontinuityGravatar wm42015-05-20
|
* video: better heuristic for timestamp resetsGravatar wm42015-05-20
| | | | | | | | | | | | | | | Reduce the default tolerance for timestamp jumps from 60 to 15 seconds. For .ts files, where ts_resets_possible coming from AVFMT_TS_DISCONT is set, apply a more sophisticated heuristic. It's clear that such a file wouldn't have a framerate below, say, 23hz. If the demuxer reports a lower fps, we allow longer PTS jumps. This should replace long pauses on discontinuities with .ts files with at most a short stutter. Of course, all kinds of things could go wrong anyway if the source is VFR, or FFmpeg's frame rate detection fails in some other way. I haven't found such a file yet, though.
* audio: fix resync issue differentGravatar wm42015-05-19
| | | | | | | | | | | Commit 10915000 attempted to fix wasting CPU when resyncing and no new data was actually coming from the demuxer. The fix assumed that at this point it would have reached the sync point, but since the code attempts weird incremental decoding, this wasn't actually true. So it broke seeking in addition to removing the CPU waste. Try something else. This time, we essentially only wakeup again if data was read (i.e. audio_decode() returned successfully).
* command: change OSD symbol for absolute perc. seekGravatar rrooij2015-05-19
| | | | | | | | | | The OSD symbol for seeking to an absolute percentage was always OSD_FFW, even when it should be OSD_REW. It uses the correct OSD symbols now, by checking the current position ratio. Note: The symbol is still incorrectly given when the absolute percentage is very close to the current position ratio. Fortunately, that's a rare use case.
* manpage: fix syntaxGravatar wm42015-05-19
| | | | | I guess this wasn't meant to be literal syntax, but it implies "," is used as sub-option separator.
* demux: read cue sheets embedded in tagsGravatar wm42015-05-19
| | | | | | | | | This reads the "CUESHEET" tag, and attempts to parse it as .cue data. If any is found, the cue tracks are added as chapters. This reuses the parser written for demux_cue.c. Fixes #1957.