summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Release 0.3.7v0.3.7wm42014-03-301-1/+1
|
* vf_eq: don't malloc priv structwm42014-03-301-1/+0
| | | | | There wasn't any reason for this. In fact, it's a memory leak. The proper priv struct is already allocated vf.c and the option parser.
* player: add missing "-" to options in workaround notice on A/V desynchronizationSebastian Morr2014-03-301-1/+1
| | | | | | While it technically works, using GNU-style options seems cleaner nowadays. Signed-off-by: wm4 <wm4@nowhere>
* player: dvdnav: fix start time when entering and leaving menuwm42014-03-301-0/+4
| | | | | Unfortunately, quite a hack, because we have check the nav state outside of discnav.c.
* mf: fix operation with --cachewm42014-03-301-0/+1
| | | | | | | | | | | | demux_mf.c explicitly checks for the stream type to check whether images are opened via pattern (mf://..., i.e. stream_mf.c) or directly. Of course the stream type is not set to STREAMTYPE_MF if the stream is wrapped through the cache, so it tried to open the pattern directly as file, which failed. Fix this by disabling caching for mf://. The cache doesn't make sense here anyway, because each file is opened and closed every frame (perhaps to avoid memory bloat).
* player: fix unchecked access for chapter metadatawm42014-03-301-3/+1
| | | | | | | | | | It's possible that MPContext has a chapter list, but the demuxer doesn't. In this case, accesing the chapter-metadata property would lead to invalid accesses. (This fixes the out of bound access, but in theory, the returned data can still be incorrect, since MPContext chapters don't need to map directly to demuxer chapters.)
* stream_cdda: print cd text header only if there are any cd text fieldswm42014-03-301-2/+6
|
* stream_cdda: remove unused stuffwm42014-03-305-254/+3
| | | | | | This cd_info_t struct was practically unused. The only thing it did was storing the track name of the form "Track %d" in a very roundabout way. Remove it. (It made more sense when there was still CDDB support.)
* stream_cdda: fix track time accuracywm42014-03-301-2/+2
| | | | | | | | | | Don't use an integer division to get the time, since that would round on second boundaries. Also round up the time by sector size. Seeking rounds down due to alignment constraints, but if we round up the time, we can make it land on the exact destination sector. This fixes that the track change code printed the previous track when seeking by chapter.
* stream_cdda: report track timeswm42014-03-301-27/+8
| | | | | | | | | Report the time for each chapter (tracks are treated as chapters). This allows us to get rid of the "old" chapter mechanism, and also behaves better with the frontend. This makes assumptions about the audio formats, but that format is hardcoded anyway in the rawaudio demuxer defaults (and always was).
* dvdnav: fix minor memory leakwm42014-03-301-0/+1
| | | | | | This was usually handled at the end of the switch statement, so if something returns from the function before that, the event has to be freed explicitly.
* dvdnav: make MP_NAV_EVENT_RESET_ALL handled properlyxylosper2014-03-302-31/+40
| | | | | | | | | | | dvdnav.c did not handle event in regular sequence. Usually this does not make any trouble except around MP_NAV_EVENT_RESET_ALL. Those events should be handled in regular sequence. If they're mixed, it can make wrong result. For instance, MP_NAV_EVENT_HIGHLIGHT right after MP_NAV_EVENT_RESET_ALL should not be ignored but it might be because MP_NAV_EVENT_RESET_ALL makes the demuxer reloaded and osd hidden.
* dvdnav: prevent reallocation of fake highlight bufferxylosper2014-03-301-0/+2
| | | | | Since subsizes were never updated, the bitmap buffer was always reallocated whenever mp_nav_get_highlight() called.
* stream_bluray: fix for significant memory leakxylosper2014-03-301-0/+1
| | | | | It's obvious but, since STREAM_CTRL_GET_TIME_LENGTH is called frequently, the amount of leaked memory here is quite big.
* manpage: clarify what to pass to --hwdec-codecs optionwm42014-03-301-1/+3
|
* vd_lavc: ridiculous workaround for Libav 9 compatibilitywm42014-03-303-1/+23
| | | | | | | | This "sometimes" crashed when seeking. The fault apparently lies in libavcodec: the decoder returns an unreferenced frame! This is completely insane, but somehow I'm apparently still expected to work this around. As a reaction, I will drop Libav 9 support in the next commit. (While this commit will go into release/0.3.)
* DOCS/coding-style: add another requirement for commit messageswm42014-03-301-0/+3
|
* options: fix off-by-1 error in option help outputwm42014-03-301-1/+1
|
* manpage: af: minor syntax improvementswm42014-03-301-4/+4
| | | | | Conflicts: DOCS/man/en/af.rst
* build: fix unicode handling of the version stringRyan Goulden2014-03-301-1/+1
| | | | | | Don't pass unicode types to waf ENV. As per https://code.google.com/p/waf/issues/detail?id=1420 This directly fixes the "CFVersion" key in the .app bundle plist.
* player/main: Fix Cygwin buildJames Ross-Gowan2014-03-301-12/+8
| | | | | | | | | | | Xlib.h (included from x11_common.h) defines a macro 'Status' as 'int'. This messed up a bunch of definitions in windows.h and broke the build in Cygwin. Including windows.h first seems to solve the problem. This commit also removes the definition of an unused flag. Conflicts: player/main.c
* DOCS/coding-style: add an example and another rulewm42014-03-301-0/+25
|
* README: split list of dependencieswm42014-03-301-4/+13
| | | | | | | And make some additions. I'm not really sure why we list dependencies that are not ours, but that of external libraries. Still might be useful, though.
* DOCS: add coding stylewm42014-03-301-0/+111
| | | | | | I've tried not to be too detailed (because it's not a reference, just some guidelines), but it still got relatively long. Also contains conventions for sending patches.
* w32_common: prevent MOUSE_BTN0 sticking after dragJames Ross-Gowan2014-03-301-0/+2
| | | | | | The window doesn't recieve a WM_LBUTTONUP message after it's dragged, probably because it's swallowed by the modal loop. To stop the button from sticking, release it manually when the drag is complete.
* w32_common: capture mouse inputJames Ross-Gowan2014-03-301-0/+5
| | | | | | Mouse buttons can get stuck down if the button is pressed inside the video window and released outside. Avoid this by capturing mouse input when a button is pressed.
* options.rst: correct broken URLDiogo Franco2014-03-301-1/+1
|
* Release 0.3.6v0.3.6wm42014-03-111-1/+1
|
* Revert "player: simplify audio reset when seeking"wm42014-03-111-10/+15
| | | | | | | | | | | This reverts commit 75dd3ec2106701cb865f52966de66c51cb6f9204. This broke seeking with ordered chapters in some situations. While the reverted commit was perfectly fine for playback of normal files, it overlooked that in the ordered chapters case switching segments actually reinitialized the audio chain completely, including the decoder. And decoders still read packets on initialization. We can restore the original commit as soon as decoders stop doing this.
* ao_alsa: fix return value for volume operations with spdifwm42014-03-111-1/+1
| | | | | | | | | | | This AO pretended to support volume operations when in spdif passthrough mode, but actually did nothing. This is wrong: at least the GET operations must write their argument. Signal that volume is unsupported instead. This was probably a hack to prevent insertion of volume filters or so, but it didn't work anyway, while recovering after failed volume filter insertion does work, so this is not needed at all.
* ao_alsa: check ALSA PCM state before pause and resumefoo862014-03-111-5/+9
| | | | | | | | | | It is possible to have ao->reset() called between ao->pause() and ao->resume() when seeking during the pause. If the underlying PCM supports pausing, resuming an already reset PCM will produce an error. Avoid that by explicitly checking PCM state before calling snd_pcm_pause(). Signed-off-by: wm4 <wm4@nowhere>
* ao_rsound: pass correct data type to rsd_set_param()Hans-Kristian Arntzen2014-03-111-2/+2
| | | | Signed-off-by: wm4 <wm4@nowhere>
* build: fix compilation with MinGW-w64Hans-Kristian Arntzen2014-03-111-2/+14
| | | | | | References to WinMM/OLE/UUID were missing. Signed-off-by: wm4 <wm4@nowhere>
* lua: add license headerwm42014-03-111-0/+17
| | | | Oops.
* ao_jack: fix termination on the end of filewm42014-03-111-3/+19
| | | | | | | | | | | | | | | | | | | | The player didn't quit when the end of a file was reached. The reason for this is that jack reported a constant audio delay even when all audio was done playing. Whether that was recognized as EOF by the player depended whether the exact value was higher or lower than the player's threshhold for what it considers no more audio. get_delay() should return amount of time it takes until the last sample written to the audio buffer reaches the speaker. Therefore, we have to track the estimated time when the last sample is done, and subtract it from the calculated latency. Basically, the latency is the only amount of time left in the delay, and it should go towards 0 as audio reaches ths speakers. I'm not sure if this is correct, but at least it solves the problem. One suspicious thing is that we use system time to estimate the end of the audio time. Maybe using jack_frame_time() would be more correct. But apart from this, there doesn't seem to be a better way to handle this.
* build: update wafwm42014-03-111-2/+2
| | | | <lachs0r> it fixes issues with recent python3
* command: fix null pointer dereference in idle modewm42014-03-111-2/+2
| | | | Pressing 'h' in idle mode -> crash.
* vdpau: change the error message when video too largeAndrey Morozov2014-03-111-1/+2
|
* example.conf: change subtitle codepage example to use UTF-8 fallbackwm42014-03-111-1/+2
| | | | This should be pretty safe compared to forcing the codepage.
* example.conf: subtitle encodingYaser Alraddadi2014-03-111-0/+3
| | | | | | Signed-off-by: wm4 <wm4@nowhere> Closes #580.
* manpage: fix yadif example in one casewm42014-03-111-1/+1
|
* input: check for abort cmd in multi-commandswm42014-03-115-10/+20
| | | | | | | | | MP_CMD_COMMAND_LIST commands (used to implement key bindings with multiple commands) were not checked for abort commands. Implement it. Remove the remarks about multi-commands being special from the manpage. Seek coalescing is handled differently now, and the issue with abort commands is fixed with this commit.
* input: ignore modifiers when releasing keysJames Ross-Gowan2014-03-111-2/+2
| | | | | This prevents keys from getting stuck if the modifier is released before the base key.
* video: add rounding to aspect ratio calculationswm42014-03-111-2/+2
| | | | | Small errors are unavoidable, but truncation can cause anamorphic video to be off by 1 or 2 pixels.
* player: fix start time if timeline is used (ordered chapters, EDL)wm42014-03-111-6/+5
| | | | | | | | | When timeline was used, and the --start option was not used, the initial seek (needed to switch to the first timeline segment) seeked to -1 due to an oversight. Conflicts: player/loadfile.c
* edl: fix offset of user-visible chapterswm42014-03-111-1/+1
| | | | | Basically, chapter marks and chapter seek-points were incorrect, while the rest worked.
* w32_common: don't set small iconJames Ross-Gowan2014-03-111-4/+1
| | | | | Windows will automatically choose the correct icon size if this field is unset.
* win32: restore support for exe directory as config directoryelevengu2014-03-111-1/+5
| | | | | | | | Same rationale as b2c2fe7a but updated to work with path-win.c Signed-off-by: wm4 <wm4@nowhere> Merges/closes #543.
* crosscompile-mingw: improve instructions for MXEwm42014-03-111-0/+2
|
* sd_lavc: handle subtitles with no subtitle resolution setxylosper2014-03-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | Set subtitle resolution to video resolution when avctx->width and avctx->height are zero. This can happen with broken vobsubs that have no size set in their .idx file (or Matroska extradata). At least with the test file provided in issue #551, using the video resolution as fallback instead of what guess_resolution() does is better. Note that these files clearly are broken. It seems this particular file was created by trying to use ffmpeg to transcode DVB subtitles to vobsub, and ffmpeg "forgot" to set the subtitle resolution in the destination file. On the other hand, ffmpeg DVB and PGS decoders set the resolution on the first subtitle packet (or somewhere close), so it's not really clear what to do here. Closes #551. Signed-off-by: wm4 <wm4@nowhere> Patch by xylosper, rewritten commit message by wm4.
* Parse::Matroska::Reader: get rid of `bigrat`Diogo Franco (Kovensky)2014-03-111-17/+20
| | | | | | | | | | | | | | | It seems that it was causing issues with certain perl setups (such as the one on issue #549). It also turns out that it was not behaving correctly (not all constants were being promoted to big nums as they should), so we use explicit objects to derive the constants. There were also precedence issues. I wonder if this even worked right to begin with. The 'double' path (8-byte floats) is untested, as I couldn't easily find a file with such a field. Closes #549.
* build: Add -U__STRICT_ANSI__ to CFLAGS on CygwinDiogo Franco (Kovensky)2014-03-111-0/+1
| | | | | | | | | | | | Cygwin's libc (newlib) doesn't obey a lot of unix feature test macros, including _GNU_SOURCE; as a result, a lot of functions and defines get masked out -- important defines such as M_PI and strcasecmp. Work around it by undefining __STRICT_ANSI__ on cygwin systems. This will still cause compilation issues on any non-cygwin system that uses newlib, but hopefully nobody does that, or if they do, they will find this commit message and know to add -U__STRICT_ANSI__ to their CFLAGS. Hopefully.
* sub: handle vobsub-in-mp4wm42014-03-115-0/+44
| | | | | | | | | | | The mplayer decoder (spudec.c) actually handled this. There was explicit code for binary palettes (16 32 bit values), and the subtitle resolution was handled by video resolution coincidentally matching the subtitle resolution. Whoever puts vobsub into mp4 should be punished. Fixes the sample gundam_sample.mp4, closes github issue #547.
* sd_lavc: use mp_lavc_set_extradata()wm42014-03-111-2/+2
| | | | | This includes the magical input padding required by libavcodec, which we possibly didn't do before this commit.
* Factor out setting AVCodecContext extradatawm42014-03-114-39/+27
|
* cocoa: fix deadlock during initialization [2]Stefano Pigozzi2014-03-111-6/+3
| | | | Fixup commit for 20fa191ad.
* build: bump libmpg123 versionwm42014-03-111-1/+1
| | | | | | | | | The minimum required version was bumped in the old configure script, but for the waf build system is was somehow forgotten or overlooked. Probably happened while the waf build system was developed in a separate branch. Closes #546.
* cocoa: fix deadlock during initializationStefano Pigozzi2014-03-111-1/+2
| | | | | | Thanks to @wm4 for catching the bug. Fixes #405
* Release 0.3.5v0.3.5wm42014-02-121-1/+1
|
* vo_opengl: make :srgb decompand the BT.709 values correctlynand2014-02-121-2/+15
| | | | | | | | This is the same issue as addressed by 257d9f1, except this time for the :srgb option as well. (257d9f1 only addressed :icc-profile) The conditions of the srgb_compand mix() call are also flipped to prevent an off-by-one error.
* command: fix metadata propertywm42014-02-121-2/+2
| | | | This crashed when retrieving the raw property value. Oops.
* wayland/shm: prevent the window from flying awayAlexander Preisinger2014-02-121-0/+2
| | | | With the new xdg_shell the problem will be no gone by itself.
* manpage: document --aspect special valueswm42014-02-121-0/+7
| | | | | | | Use of these is "discouraged", but they're there to select these special cases with the "aspect" property. They really should use some sort of choice option type, but since it would be some work to make these work with float values, the simple and dumb alternative was picked.
* video: fix --no-aspectwm42014-02-121-2/+2
| | | | This also affects the --aspect option and the "aspect" property.
* vo_opengl: fix typo in gamma function's parameternand2014-02-121-2/+2
| | | | | The correct value is 0.081, not 0.18. The scale factor also needed slight adjustment due to the order of operations.
* vo_vdpau: Discard zero timestampsJonas Zetterberg2014-02-121-0/+3
| | | | Some drivers do not supply timestamps, use old timestamp in these conditions.
* vo_vdpau: Ensure presentation time is within boundsJonas Zetterberg2014-02-121-0/+4
| | | | | When a time sync happens the last sync time is the minimum time that can be used for presentation.
* demux: fix some newlines in output messageswm42014-02-121-2/+2
|
* player: fix an assert when reinitializing audio in some caseswm42014-02-121-0/+3
| | | | | | | | This sometimes happened when changing playback speed (= reinitializing audio) after seeking of playback start. The assertion in audio.c:441 was triggered, because buffer_playable_samples wasn't reset correctly when the audio buffer was cleared or shortened. The assertion is correct and should hold up any time.
* vo_opengl: use exactly the values defined by BT.709 for CMSnand2014-02-121-3/+9
| | | | | | I could not see any difference whatsoever, but for usage with a 3DLUT there's zero performance difference so we might as well follow the spec to the letter.
* gl_x11: don't require a X visual for modern GL context creationwm42014-02-121-4/+10
| | | | | | | | Legacy GL context creation (glXCreateContext) explicitly requires a X visual, while the modern one (glXCreateContextAttribsARB) does not for some reason. So fail only on the legacy code path if we don't find a visual. Note that vo_x11_config_vo_window() will select a default visual if a NULL visual is passed to it.
* gl_x11: