aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* screenshots: prefix default template with "mpv-"Gravatar wm42015-05-01
| | | | | | So that the user realizes where they come from, or can find them at all. This was a common complaint, and this is the most lazy solution. Better suggestions for a default template are welcome.
* path: add resolving desktop path to platform-specific pathsGravatar wm42015-05-01
| | | | | | | | | win32 has a special function for this. I'm not sure about OSX - it seems ~/Desktop can be hardcoded, and the OSX GUI actually localizes the _displayed_ path in its UI. For Unix, there is not much to be done, or is there.
* path: expose platform-specific path resolversGravatar wm42015-05-01
|
* timer: add "static" to a variableGravatar wm42015-05-01
|
* path: refactorGravatar wm42015-05-01
| | | | | | | | | | | | | | Somewhat less ifdeffery, higher flexibility. Now there are 3 separate config file resolvers for 3 platforms (unix, win, osx), and they can still interact with each other somewhat. For example, OSX for now uses most of Unix, but adds the OSX bundle path. This can be extended to resolve very specific platform paths, such as location of the desktop. Most of the Unix specific code moves to path-unix.c. The behavior should be the same - if not, it is likely a bug.
* screenshots: add --screenshot-directory optionGravatar wm42015-05-01
| | | | | The plan is to use this to change the screenshot default location in pseudo-gui mode.
* vo_rpi: update renderer size on display size changes tooGravatar wm42015-05-01
| | | | | | | | (Not sure why it worked without this when I tested the previous changes.) Untested, but should be fine. This is equivalent what is done on e.g. panscan changes.
* video/out: remove VOFLAG_FLIPPINGGravatar wm42015-05-01
| | | | | | | I think this used to be quite important, because the ancient VfW support in MPlayer used to output flipped frames. This code has been dead in mpv for quite some time (because VfW decoders were removed, and the --flip option was dropped too), so get rid of it.
* vo_opengl: refactor wayland frame skippingGravatar wm42015-05-01
| | | | | | | | | | | Currently, the wayland backend needs extra work to avoid drawing more often than the wayland frame callback allows. (This is not ideal, but will be fixed at a later time.) Unify this with the start_frame callback added for cocoa. Some details change for the better. For example, if a frame is dropped, and a redraw is done afterwards, the actually correct frame is redrawn, instead whatever was in the textures from before the dropped frame.
* cocoa: don't accidentally drop initial screen drawingGravatar wm42015-05-01
| | | | | | | | | | | | | | | | | | | | | | | | With --idle --force-window, or when started from the bundle, the cocoa code dropped the first frame. This resulted in a black frame on start sometimes. The reason was that the live resizing/redrawing code was invoked, which simply set skip_swap_buffer to false, blocking redrawing whatever was going to be rendered next. Normally this is done so that the following works: 1. vo_opengl draw a frame, releases GL lock 2. live resizing kicks in, redraw the frame 3. vo_opengl wants to call SwapBuffers, drawing a stale buffer overwritten by the live resizing code This is solved by setting skip_swap_buffer in 2., and querying it in 3. Fix this by resetting the skip_swap_buffer at a known good point: when vo_opengl starts drawing a new frame. The start_frame function returns bool, so that it can be merged with is_active in a following commit.
* vo: improve frame drop logic on high playback rateGravatar Avi Halachmi (:avih)2015-05-01
| | | | | | | | | | | | | | | Commit f1746741dee6000b7fd139e7a10f72aba0674b3b changed the drop logic to have more slack (drop more frames but less frequent) to prevent drops due to timing jitter when the clip and screen have similar rates. However, if the clip has higher rate than the screen (or just higher playback rate), then that policy hurts smoothness since these "chunked drops" look worse than one frame drop at a time. This patch restores the old drop logic when the playback frame rate is higher than ~5% above the screen refresh rate, and solves this issue. Fixes #1897
* player: properly destroy client context if thread can't be createdGravatar wm42015-04-30
| | | | Minor leak in an obscure out of memory case.
* vo_rpi: update display size on display mode switchesGravatar wm42015-04-30
|
* vo_rpi: actually draw a black backgroundGravatar wm42015-04-30
| | | | | | | | Also factor the display size initialization into a separate function. For some reason this seems to work, although setting the background color using this 1x1 pixel bitmap does not work. I blame the RPI beign a terrible piece of hardware with even worse drivers.
* ao_coreaudio_exclusive: check format explicitly on change notifcationGravatar wm42015-04-29
| | | | | | | | | This should for now be equivalent; it's merely more explicit and will be required if we add PCM support. Note that the property listeners actually tell you what property exactly changed, but resolving the current listener mess would be too hard. So check for changes manually.
* ao_coreaudio_utils: log mp format with CoreAudio format descriptionGravatar wm42015-04-29
| | | | As a consequence, it also logs whether mpv can a this format at all.
* ao_coreaudio_utils: add function for ASBD -> mp format lookupGravatar wm42015-04-29
| | | | | | | | | | Useful with some of the following commits. ca_fill_asbd() should behave exactly as before. Instead of actually implementing the inverse function of ca_fill_asbd(), just loop over the (small) list of mpv functions and check if any mpv equivalent to a given ASBD exists.
* ao_coreaudio_utils: float is not a signed integer formatGravatar wm42015-04-29
| | | | | | | | | kAudioFormatFlagIsSignedInteger implicates that it's only used with integer formats. The mpv internal flag on the other hand signals the presence of a sign, and this is set on float formats. Until now, this probably worked fine, because at least AudioUnit is ignoring the uncorrect flag.
* 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.