summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Release 0.5.0v0.5.0Alessandro Ghedini2014-08-122-0/+84
|
* input.conf: add some bindings for changing audio-delaywm42014-08-111-0/+2
| | | | | | Requested on: https://github.com/mpv-player/mpv/commit/90ec3334174e80c16f00971886223a3afabc1aca#commitcomment-7331673 Might remove or remap them again later.
* input.conf: make explanatory text more readablewm42014-08-112-30/+16
| | | | | Or at leats this is the intention. It's a bit hard to tell which information is needed, and which not.
* video: don't keep multiple pointers to hwdec info structwm42014-08-117-26/+29
| | | | This makes a certain corner case simpler at a later point.
* vaapi: fix uninitialized value readwm42014-08-111-1/+1
| | | | | | Found with valgrind. This is somewhat terrifying, because the VA-API API function is supposed to fill these values, and we access them only if the API functions return success. So this shouldn't have happened.
* vf_vapoursynth: print more diagnostics on errorwm42014-08-111-3/+9
|
* manpage: update keybindingswm42014-08-111-1/+1
|
* Move status-line.luawm42014-08-111-1/+1
| | | | | Looks like TOOLS/lua/ is now established as dumping ground for random Lua scripts, so DOCS/lua_examples/ is not needed anymore.
* player: remove cache status from video OSDwm42014-08-111-3/+0
|
* demux: reduce log spam if threading is disabledwm42014-08-111-3/+11
|
* video: fix dangling pointer issuewm42014-08-111-1/+1
| | | | | | | | | | | The function video_decode_and_filter(), called between initializing the local vf variable and using it, can actually destroy and recreate the filter. Thus, the vf variable turns into a dangling pointer if that happens. Could be observed with: --hwdec=vda --deinterlace=yes --vf=yadif (Also happens with vdpau/vaapi.)
* vdpau: allocate surfaces by agewm42014-08-112-1/+11
| | | | | Whether this helps is probably questionable and depends on the GPU. But the vaapi code does it too.
* input: fix event wakeupwm42014-08-111-18/+14
| | | | | | | | When a new event was added, merely a flag was set, instead of actually waking up the core (if needed). This was ok in ancient times when all event sources were part of the select() loop. But now there are several cases where other threads can add input, and then you actually need to wakeup the core in order to make it read the events at all.
* input.conf: change LEFT/RIGHT keys to seek 5s instead of 10swm42014-08-111-2/+2
|
* command: for OSD, format cache property as integerwm42014-08-111-0/+5
| | | | For convenience. Use ${=cache} to get the old formatting.
* command: fix dangling pointer issue in script key bindings codewm42014-08-111-1/+1
| | | | | | | | This code was sending a string to a different thread, and then deallocated the string shortly after, which means most of the time the other thread was accessing a dangling pointer. It's possible that this is the cause for #1002.
* player: don't delay OSD redraw when pausedwm42014-08-101-2/+4
| | | | We want this heuristic to trigger during normal playback only.
* vo_sdl: fix redrawing issuewm42014-08-101-1/+1
| | | | | | vo_sdl.c has broken event handling and just polls. The polling time was quite low, so the playloop OSD redrawing heuristic inhibited redraws, which made the window appear frozen when paused.
* input.conf: map shift+pgup/dwn to the old seek bindingswm42014-08-091-2/+4
|
* video: remove "hard" framedrop modewm42014-08-094-12/+20
| | | | | | | | | Completely useless, and could accidentally be enabled by cycling framedrop modes. Just get rid of it. But still allow triggering the old code with --vd-lavc-framedrop, in case someone asks for it. If nobody does, this new option will be removed eventually.
* etc/example.conf: update cache optionswm42014-08-091-4/+10
| | | | | | | Some of them changed semantics or got renamed. Note that the replacements in the example.conf are not necessarily the equivalents of the replaced options.
* command: run OSD display code even if a property is unavailablewm42014-08-091-4/+2
| | | | | | | | | | | | | | Trying to jump chapters in a gile that has no chapters does nothing, not even show a warning. This is confusing. The reason is that the "add chapter" command will just bail out completely if the property is unavailable. This was because it exited when it couldn't get the property type. Instead of exiting, just don't enter the code that needs the type. (I'm not sure when this behavior changed. I consider it a regression. It was probably caused by changes to the chapter code, which perhaps started returning UNAVAILABLE instead of OK if there are no chapters.)
* etc: add mplayer-input.confwm42014-08-091-0/+153
|
* input.conf: switch chapter seek next/previous keyswm42014-08-081-2/+2
| | | | | | "UP" seeks forward, so "PGUP" should skip to the next chapter. Fixes #998.
* manpage: update key bindingswm42014-08-081-36/+6
|
* manpage: add sections and order by usageAlexander Preisinger2014-08-081-1677/+1810
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split the options into the following sections: * Playback Control * Program Behaviour * Video * Audio * Subtitles * Window * Disc Devices * Equalizer * Demuxer * Input * OSD * Screenshot * Software Scaler * Terminal * TV * Cache * Network * DVB * PVR * Miscellaneous Most options are sorted by usefullness and how often they're used or how important they are. This makes finding the right options easier and adds some sort of structure.
* ao_dsound: reduce default buffer sizewm42014-08-081-1/+1
| | | | | | Reduce from 1000ms to 100ms. Since there is an audio thread updating AOs quickly enough now, requesting such a large buffer size makes no sense anymore.
* input.conf: unmap some more obscure bindingswm42014-08-081-12/+11
| | | | | | | | | | Changing audio-delay is probably not needed. Changing balance "works", but not as expected (sets up a pan matrix to change left/right contributions to each other, rather than changing the relative volumes of each channel). I expect that the rest are not in use by anyone.
* command: add a "seeking" propertywm42014-08-082-0/+16
| | | | | | The client API exports this state via events already, but maybe it's better to explicitly provide this property in order to facilitate use on OSD and similar cases.
* player: indicate on the status line whether a seek is activewm42014-08-081-1/+3
| | | | | | This is delayed by 300ms - before that, the status doesn't change. I feel like it would too annoying if the status line would "flicker" on normal seek by quickly showing and hiding the indicator.
* input.conf: remap pgup/dwn to chapter seekswm42014-08-071-4/+8
| | | | | | As discussed in #973. Keep the old bindings for now; there's no reason to unmap them yet.
* build: add hacks to force waf to generate valid .pc fileswm42014-08-072-0/+9
| | | | Don't like this? You're invited to fix this crap.
* input: fix off by one error in command parserwm42014-08-071-1/+1
| | | | Should fix #989.
* audio: fix encoding modewm42014-08-071-1/+2
| | | | | | | | | If this code is not skipped, encoding (or dumping with --ao=pcm) will attempt to adjust video timing to audio. Since another commit (0cce8fe6) already avoids writing audio ahead, this didn't slow down encoding to realtime, but it was still significantly slower. This change should actually remove all extra sleeping.
* client API: qtexample: don't pass deallocated strings to mpvwm42014-08-071-1/+2
| | | | | The temporary QByteArray is deallocated already at the end of the statement in C++, instead of the end of the scope (like in C).
* demux: fix playback abort if --demuxer-thread is not usedwm42014-08-071-9/+9
| | | | | | | | | | | | Switching tracks caused cached_demux_control() to catch the command to switch tracks, even if no thread was running. Thus, the tracks were never really switched, and EOF happened immediately on playback start. Fix it by not using the cache at all if the demuxer thread is disabled. The cache code still has to be called somewhere, though, because it handles stream metadata update. Regression from today.
* player: remove unused declarationwm42014-08-071-1/+0
|
* gitignore: fix manpage entrieswm42014-08-061-6/+6
|
* old-build: HAVE_COCOA_APPLICATION must be setwm42014-08-062-1/+2
| | | | Also fix a typo in the Makefile manpage rule.
* stream_dvb: restore --dvbin-file optionwm42014-08-062-7/+15
| | | | | | | Got lost some time ago. Although I'm not sure if it actually does anything on MPlayer (it exists there, but might broken, not sure). Fixes #988 (untested).
* stream_dvb: fix channels.conf preference orderwm42014-08-061-3/+4
| | | | | | | | channels.conf was never used (even though its config path was resolved). Also remove the non-sense with the access() call. Fixes #987 (untested).
* vo_direct3d: allow resizing before video initwm42014-08-061-1/+1
| | | | | | | This can just happen in the time between VO creation, and the first call to vo_reconfig. It seems the recent threading changes exposed this bug. Fixes #986.
* win32: never call GetClientRect(0, ...)wm42014-08-062-2/+6
| | | | | | | | | | | | | | | | | Sometimes GetClientRect() appeared to fail during init, and since we don't check GetClientRect() calls (because they're on our own window, and logically can never fail), bogus resizes were triggered. This could cause vo_direct3d to fail initialization. The reason was that w32->window was set to 0 during early window initialization: CreateWindow*() can send messages to the new window, even though it hasn't returned yet. This means w32->window is not yet set to our window handle, and functions in WndProc may accidentally pass hwnd=0 to win32 API functions. Fix it by initializing w32->window on opportunity. This also means we always strictly expect that the WndProc is used with our own window only.
* demux: make track switching asynchronouswm42014-08-061-0/+21
| | | | | | | | | | | | | Because why not. This can lead to reordering of operations between seeking and track switching (happens when the demuxer wakes up after seek and track switching operations were queued). Do the track switching strictly before seeks if there is a chance of reordering, which guarantees that the seek position will always start with key frames. The reverse (seeking, then switching) does not really have any advantages. (Not sure if the player relies on this behavior.)
* client API: trigger MPV_EVENT_VIDEO_RECONFIG on vf recreationwm42014-08-061-0/+2
| | | | | Until now, it was done only on VO reconfig, but this easily can miss some events, in case the VO output format doesn't change.
* audio: fix inverted conditionwm42014-08-061-6/+4
| | | | | Recent regression. Could perhaps make gapless audio fail to work correctly.
* wayland: remove redundant lineAlexander Preisinger2014-08-061-1/+0
|
* wayland: changes for nested compositorsAlexander Preisinger2014-08-061-20/+50
| | | | | Adds necessary checks for nested compositors which only have limited interfaces. Might also be useful for other minimal compositors.
* build: allow to disable building the cplayerStefano Pigozzi2014-08-062-10/+16
|
* build: expose waf variants to the userStefano Pigozzi2014-08-062-0/+35
| | | | | This allows the user to execute multiple configuration and build steps. It can be used for several scenarios where you need different compiler flags.
* cocoa: fix build by using the correct HAVE_* macroStefano Pigozzi2014-08-062-6/+6
| | | | | | | | | | This builds but both the libmpv example and the cplayer block infinitely when building libmpv. That's because we wait inifinitely in `dispatch_sync` as there's no event loop in the main thread that allows for libdispatch to work.. Whiel we are at it, we should probably investigate how to use mp_dispatch instead since it is a little lower level and could give us higher control in building and event loop.
* cocoa: macosx_application needs cocoa-applicationFRAU KOUJIRO2014-08-063-4/+8
|
* build: cocoa-application config targetFRAU KOUJIRO2014-08-061-11/+23
| | | | | I had to put it after video options because it depends on cocoa; is there anywhere better to put it rather than making a new group?
* cocoa: move handleFilesArray: to macosx_eventsFRAU KOUJIRO2014-08-065-19/+20
|
* cocoa: move set_input_context to macosx_eventsFRAU KOUJIRO2014-08-065-9/+10
|
* cocoa: sync inputContext inside EventsResponderFRAU KOUJIRO2014-08-063-12/+28
|
* cocoa: decouple events from application somewhatFRAU KOUJIRO2014-08-064-64/+118
|
* win32: fix buildwm42014-08-051-1/+0
|
* build: move def file to libmpv/wm42014-08-052-1/+1
| | | | This is more consistent with mpv.pc, which is also in libmpv/.
* win32: create OpenGL context on the GUI threadwm42014-08-053-12/+40
| | | | | | | | | | | | | | | | This fixes the fullscreen issues on Intel for me. I'm baffled by it and don't understand why this suddenly works. Intel drivers being shit? Windows being shit? HWND or HDC being only 97% thread-safe instead of 98%? Me missing something subtle that is not documented anywhere? Who knows. Now instead of creating the HDC and OpenGL context on the renderer thread, they're created on the GUI thread. The renderer thread will then only call wglMakeCurrent, SwapBuffers, and OpenGL standard functions. Probably fixes github issue #968.
* win32: cleanup OpenGL context creationwm42014-08-051-37/+33
| | | | | Might handle some corner cases better. In particular, always call wglMakeCurrent() with non-NULL HDC argument.
* build: syms: reindentStefano Pigozzi2014-08-051-29/+28
| | | | | | | We avoided reindenting this in the past to allow merging upstream changes. In hindsight these are very unlikely and we are actually doing changes on the code, so it's better to have the correct indentation and formatting in our source file.
* build: syms: fix *.def file for mach-o binary formatStefano Pigozzi2014-08-051-1/+1
| | | | | There was a missing trailing newline which caused some warnings when calling `ld`.
* options: fix key-value-list optionswm42014-08-051-6/+11
| | | | | | | | The parser can be called with dst (the target) set to NULL if the option should be verified only. The code didn't respect this, and could result in crashes when used in config profiles or filter sub-options. Fixes #981.
* client API: add and use the MPV_MAKE_VERSION macrowm42014-08-053-10/+9
| | | | | | | This is probably nicer. The actual version number doesn't change (other than the minor being incremented). The "| 0UL" is to make the type unsigned long int, like it was before.
* build: list exported symbols explicitlywm42014-08-054-44/+44
| | | | | | | | | | | Instead of using a regex to match names to be exported from the libmpv dynamic shared library, use a libmpv.def file, which lists all exported functions explicitly. This reduces the platform specifics in syms.py. I'm not sure if the separate compile_sym task is still needed (it could probably be collapsed, which would concentrate the platform specifics into one place).
* build: fix export of libmpv symbols on mingwwm42014-08-051-1/+1
| | | | The _ usually prefixed to functions on Windows was unexpectedly missing.
* build: fix cross-compilation of libmpvwm42014-08-051-1/+3
| | | | | | | libmpv requires nm for creating the list of exported symbols (this is done in syms.py). We should probably just make this list static instead, but since this involves platform-specific code, for now this quick-fix will do.
* vdpau: don't crash on flipped imageswm42014-08-051-5/+12
| | | | | | | | | | It seems the vdpau API does not support these. Do a semi-expensive emulation of it. On the other hand, it's not like this is a commonly-used feature. (It might be better to make --vf=flip always copy instead of flipping it via pointer tricks - but everything allows flipped images, and even decoders or libavfilter filters could output them.)
* sub: fix subtitle timing for TSwm42014-08-041-2/+6
| | | | | | | | The subtitle timing logic always used the demuxer's start time as video offset. This made external subtitle files "just work" with file formats like TS, which usually have a non-0 start time. But it was wrong for subtitles muxed with the TS, so adjust the time offset explicitly with external files only.
* sub: don't read packets if video and audio are disabledwm42014-08-041-1/+1
| | | | | | | | | Although disabling both video and audio is surely an obscure corner case, it's allowed, and we don't want the demuxer to skip arbitrary packets. Basically, make the heuristic for checking interleaved files affect external files only.
* gl_wayland: Don't try to resize the egl_window before it existsMichael Forney2014-08-041-0/+3
| | | | | | | If the compositor sends a configure event immediately after a window is created (for example, if it implements tiling window management), mpv will attempt to call wl_egl_window_resize before it has actually created the egl_window, causing a crash.
* input.conf: remap 2 keyswm42014-08-031-3/+4
| | | | | | | | | | Nobody uses 'c' (except accidentally) - remove. Everyone agrees that OSD level cycling on 'o' is dumb, so map it to show_progress instead. Cycling the OSD level is now available on 'O'. No reason to ummap 'P' yet. Also see issue #973.
* player: some further playloop cleanupswm42014-08-035-53/+58