aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* csputils: improve contrast semantics for limited range outputGravatar Niklas Haas2015-04-29
| | | | | The previous version of this logic resulted in black crush and incorrect brightness scaling when combined with limited range (TV) output.
* csputils: apply contrast equalizer in RGBGravatar wm42015-04-29
| | | | | | | | It's weird that this basically adjusts the contrast between luma and chroma, and not blackness. This is more in line with the behavior of libswscale, the vdpau "procamp" (which mpv doesn't use), and Xv.
* screenshots: add option to prevent 16 bit outputGravatar wm42015-04-29
| | | | That's what it's usually about (again).
* screenshots: add option to disable JPEG 4:4:4 outputGravatar wm42015-04-29
| | | | That's what it's usually about.
* stream: don't print reconnection message if no stream supportGravatar wm42015-04-29
| | | | | | | This code does not know whether the stream supports reconnecting until STREAM_CTRL_RECONNECT is called. So the message should be printed after it. To avoid that reconnects that succeed on the first try go unnoticed, print a warning on success.
* x11: query ICC profile based on center of windowGravatar Niklas Haas2015-04-29
| | | | | | | | | | Right now, the default behavior is to pick the numerically lowest screen ID that overlaps the window in any way - but this means that mpv will decide to pick an ICC profile in a pretty arbitrary way even if the window only overlaps another screen by a single pixel. The new behavior is to query it based on the center of the window instead.
* manpage: put explicit links to config file path detailsGravatar wm42015-04-28
| | | | | It seems users still have trouble finding the exact paths, especially on Windows. Maybe this helps.
* ao_coreaudio_exclusive: move code for getting original formatGravatar wm42015-04-28
| | | | | Should be almost equivalent, unless there are streams on which this call does not work for unknown reasons.
* ao_coreaudio_utils: change audio format loggingGravatar wm42015-04-28
| | | | Make it easier to distinguish the fields.
* ao_coreaudio_exclusive: account for additional latencyGravatar wm42015-04-28
| | | | | | | Whether this is correct is unknown. This change tripples the latency from ~15ms to ~45ms. XBMC does this, VLC does not from what I could see.
* command: let sub_reload remove the old track firstGravatar wm42015-04-28
| | | | | | In the most simple case, this prevents the track ID from changing. One disadvantage is that if the file fails loading, the track is gone for good and would have to be re-added explicitly by the user.
* command: change the default action for rescan_external_filesGravatar wm42015-04-28
| | | | | | | | Now the rescan_external_files command will by default reselect the audio and subtitle streams. This should be more intuitive. Client API users and Lua scripts might break, but can be fixed in a backward-compatible way by setting the mode explicitly.
* player: log track list when adding or removing external filesGravatar wm42015-04-28
| | | | | | | | | Should help with debugging, and might be slightly more userfriendly. Note that this is called manually in multiple entry-points, instead of the functions doing the actual work (like mp_remove_track()). This is done so that exiting the player or calling the sub_reload command won't print redundant in-between states.
* player: clamp display time to known time range on seekingGravatar wm42015-04-28
| | | | | | | | | | | | | | | During seeking, and there is momemtarily no new data available yet, the player will display the seek target as current time. Clamp this time to the known time range as implied by the start time and the duration of the file. This improves behavior especially when seeking in audio files, for which this for some reason triggers rather often. There were some users complaining about this. This makes behavior worse for files with timestamp resets, or incorrectly reported duration. (The latter is relatively common, e.g. libavformat shortcomings, or incomplete files.)
* audio: separate fallbacks for upmix and downmix casesGravatar wm42015-04-28
| | | | | | | | We always want to prefer upmix to downmix, as long as it makes sense. Even if the upmix is not "perfect" (not just adding channels), we want to prefer the upmix. Cleanup for commit d3c7fd9d.
* osc: redo slider position translationGravatar ChrisK22015-04-28
| | | | | | Now done in one place instead of mulitple times all over the code. Fixes #1876
* json: fix UTF-8 handlingGravatar wm42015-04-28
| | | | | | | | | | | | We escape only characters below 32, plus " and \. UTF-8 should be apssed through verbatim. Since char can be signed (and usually is), the check broke and happened to escape UTF-8 encoded bytes too. This broke UTF-8 completely. Note that we don't check for broken or invalid UTF-8, such as described both in the client API and IPC docs. Fixes #1874.
* input.conf: map L to toggle infinite loopingGravatar wm42015-04-27
|
* ytdl_hook.lua: Change format options when vid is "off"Gravatar robin2015-04-27
| | | | | | | | This will change the format option to "bestaudio/best" instead of passing the "-x" argument to yt-dl. Prevents the video still being downloaded in the new mpv versions where the yt-dl format is set to "best" by default.
* audio: avoid downmixing in a certain special-caseGravatar wm42015-04-27
| | | | | | | | As indicated by the added test. In this case, fallback and downmix have the same score, but fallback happens to give better results. So prefer fallback over downmix. (This is probably not a correct solution.)
* ao_null: add an option for testing channel layout selectionGravatar wm42015-04-27
|
* manpage: update mpv IRC channelsGravatar Niklas Haas2015-04-27
| | | | | Moved to #mpv and #mpv-devel, respectively. Travis details were also updated.
* player: fix removing external tracks at runtimeGravatar wm42015-04-27
| | | | | | | | | | This could make the player crash on exit if the "sub_reload" command was used successfully. the reason was that the mpctx->sources array could have dangling pointers to the unloaded demuxers. Also fix a memory leak by actually always freeing the per-stream subtitle decoders (which are a hack to make ordered chapters behave better).
* manpage: update colormatrix property descriptionGravatar wm42015-04-27
|
* vo_drm: zero screen buffers in reconfig function.Gravatar akemi-san2015-04-27
|
* vo_drm: add window screenshots supportGravatar Marcin Kurczewski2015-04-26
|
* ytdl: force "best" format by defaultGravatar wm42015-04-26
| | | | | | | | If the --ytdl-format option is not used, force the "best" format. Do this because youtube-dl is going to change its default format to one that will trigger the (partially broken) DASH support in our own code. Fixes #1867.
* vdpau: always render to cropped size at mostGravatar wm42015-04-26
| | | | | | | | | | | | vo_opengl (or gl_hwdec_vdpau.c to be specific) calls mp_vdpau_mixer_render() with video_rect=NULL, which means to use the full surface. This is incorrect if the surface is actually cropped, as it can happen with h264. In this case, it was rendering the parts outside of the image. Fix it by making this case use the cropped size instead. Alternative fix for PR #1863.
* DOCS/client-api-changes: fix release markerGravatar wm42015-04-25
| | | | | The release was pushed back and now actually happened; the marker became incorrect.
* demux_lavf: drop dead codeGravatar wm42015-04-25
| | | | stream.url can never be NULL, although it probably used to be.
* manpage: move --autosync descriptionGravatar wm42015-04-24
| | | | | | This was in the "Window" section. It has absolutely nothing to do with windows. Move it to the "Miscellaneous" section instead. The "--mc" option, which has a similar function, was already there.
* player: add --window-scale optionGravatar wm42015-04-24
| | | | Requested. Works similar to the property with the same name.
* player: flush decoder even if cover art is decodedGravatar wm42015-04-24
| | | | | | | | | | | | | | | Fixes PNG cover art not showing up immediately (for example when running with --pause). libavformat exports embedded cover art as a single packet. For example, a PNG attachment simply contains the PNG image, which can be sent to the decoder. Normally you would expect that the PNG decoder would return 1 frame for 1 packet, without any delays. But this stopped working, and it incurs a 1 frame delay. This is perfectly legal (even if unexpected), so let our code feed the decoder packets until we get something back. (In theory feeding the packet instead of a real flush packet is still somewhat questionable.)
* player: don't show A/V desync message in non-sense situationsGravatar wm42015-04-24
| | | | | | | last_av_difference can be MP_NOPTS_VALUE under certain circumstances (like no video timestamp yet). This triggered the desync message, because fabs(MP_NOPTS_VALUE) is quite a large value. We don't want to show a message in this situation.
* w32_common: add more rounded-down frame ratesGravatar James Ross-Gowan2015-04-25
| | | | | Suggested by avih. This handles x/1.001 frame rates for all multiples of 24 and 30 under 144.
* w32_common: use the current monitor's refresh rateGravatar James Ross-Gowan2015-04-25
|
* dxva2: fix broken build with gcc 5.1Gravatar Avi Halachmi (:avih)2015-04-24
| | | | | | gpu_mempcy should to be called from code which targets SSE Signed-off-by: wm4 <wm4@nowhere>
* terminal: printf() is not signal-safeGravatar wm42015-04-24
| | | | We shouldn't call it from a signal handler.
* man: fix PDF buildGravatar Martin Herkt2015-04-24
| | | | | | | | | | | | | | The build failed because rst2pdf apparently has problems with page breaks. In this case, the link to the ALSA upmix guide was causing a page break in an admonition block. My guess is that rst2pdf screws up when it can’t fill at least one line of text following a page break, so I worked around this by making that paragraph a little longer. Seems to do the trick. I also shortened the URL using GitHub’s service because it was causing some rather unsightly formatting in the manpage output. Maybe we should just build HTML instead of a PDF.
* DOCS/mplayer-changes: Eleborate on joystick inputGravatar robin007bond2015-04-23
| | | | | | | | | | Since joystick support was removed and is a difference from mplayer, it should be included in the document with the mplayer changes. It will help new users who were using mplayer's joystick support to seek alternatives when switching to mpv. It will also be helpful for people that had problems with the joystick support in mplayer (for example, by incorrectly recognizing other input devices as joystick) to know that those problems won't persist in mpv.
* osc: add nil check for element.eventresponderGravatar wm42015-04-23
| | | | Possibly fixes a crash (see #1101).
* mp_image: remove some unused interlacing flagsGravatar wm42015-04-23
| | | | | | MP_IMGFIELD_TOP/MP_IMGFIELD_BOTTOM were completely unused, and MP_IMGFIELD_ORDERED was always set (even though vf_vdpaupp.c strangely checked for the latter).
* vf_vapoursynth: update _FieldBased semanticsGravatar wm42015-04-23
| | | | These changed in VapourSynth. Also, "_Field" is now unused.
* options: remove unneeded hack from command line parserGravatar wm42015-04-23
| | | | | | | | | | | | | | | This was traditionally needed to silence terminal output from errors during command line parsing preparsing. Preparsing is done so that options controlling the terminal and config files are parsed and applied first, with a second command line parsing pass applying all other options, _and_ printing error messages for the preparsed ones. But the hack silencing log output during the preparse pass is actually not needed anymore, since the terminal is enabled only after preparsing is finished. update_logging() in main.c does this. So as long as update_logging() is called before m_config_preparse_command_line(), this will work.
* manpage: document ff-index sub-propertyGravatar wm42015-04-23
|
* demux_mkv: limit timestamp fixing to 1ms maxGravatar wm42015-04-23
| | | | | And also fix the description. It didn't actually reflect what the code did.
* demux_mkv: attempt to fix rounded timestampsGravatar wm42015-04-23
| | | | | There is some potential for breakage. If it happens, this might have to be disabled by default.
* demux_mkv: move global options to the demuxerGravatar wm42015-04-23
| | | | | | | The options don't change, but they're now declared and used privately by demux_mkv.c. This also brings with it a minor refactor of the subpreroll seek handling - merge the code from playloop.c into demux_mkv.c. The change in demux.c is pretty much equivalent as well.
* demux_mkv: better seeking after video endGravatar wm42015-04-23
| | | | | | | | | | | | | | | | | This change allows forward seeking even if there are no more video keyframes in forward direction. This helps with files that e.g. encode cover art as a single video frame (within a _real_ video stream - ffmpeg seems to like to produce such files). Seeking backwards will still jump to the nearest video frame, so this improvement has limited use. The old code didn't do this because of the logic the min_diff variable followed. Instead of somehow using the timestamp of the last packet read for min_diff, use the first index entry for it. This actually makes it fall back to the first/last index entry as the (removed) comment claims. Note that last_pts is basically random at this point (because the demuxer can be far ahead of playback position), so this didn't make sense in the first place.
* lua: add utils.format_json() functionGravatar wm42015-04-22
| | | | Requested. Why not.