aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* cocoa_common: remove play/pause VOCTRL functionsGravatar Stefano Pigozzi2013-06-14
| | | | | Make VOCTRL_RESTORE_SCREENSAVER / VOCTRL_KILL_SCREENSAVER use the power management functions directly.
* command: use more standard time format for clock propertyGravatar wm42013-06-14
| | | | | | | | | | | | | %k is not very standard. The manpage notes them as conforming to "Olson's timezone package", and it's not standard C89, C99 or POSIX. mingw doesn't provide it, and even some of the smaller Linux libcs don't have support. Use %H instead. This gives slightly different results, but I think this is ok. Difference in behavior between these summarized: %k: "single digits are preceded by a blank" %H: "range 00 to 23"
* w32: enable screensaver when pausedGravatar wm42013-06-14
| | | | | | | This is quite similar to the previous commit. Untested. I'm not sure if this is how it's supposed to work. At least --no-stop-screensaver should work in any case.
* x11: enable screensaver when paused, rename/change --stop-xscreensaverGravatar wm42013-06-14
| | | | | | | | | | | Use the recently introduced screensaver VOCTRLs to control the screensaver in the X11 backend. This means the behavior when paused changes: the old code always kept the screensaver disabled, but now the screensaver is reenabled on pausing. Rename the --stop-xscreensaver option to --stop-screensaver and make it more generic. Now it affects all backends that respond to the screensaver VOCTRLs.
* core: introduce separate VOCTRLs for screensaver stop/resumeGravatar wm42013-06-14
| | | | | | | | | | | | | | | | | | | | | | This is slightly better because VOCTRL_RESUME/VOCTRL_PAUSE are usually needed by VOs to know whether video is actually being played (for whatever reason), and they wouldn't be passed to the backend's VOCTRL handler, like vo_x11_control(). Also try to make sure that these flags (both pause state and screensaver state) are set consistently in some corner cases. For example, it seems enabling video in the middle of playing a file while the player is paused would not set the paused flag. If codec initialization fails, destroy the VO instead of keeping it around to make sure the state is consistent. Framestepping is implemented by unpausing the player for the duration of a frame. Remove the special handling of VOCTRL_PAUSE/RESUME in these cases. It was most likely needed because these VOCTRLs used to be important for screen redrawing (blatant guess), which is now handled completely differently. The only potentially bad side-effect is that the screensaver will be disabled/reenabled for the duration of one frame.
* support "-" as file name when encodingGravatar Rudolf Polzer2013-06-13
| | | | | | | This workaround sucks. avio just does not support "-" - and ffmpeg's command line binaries work around it. FOUR TIMES. DIFFERENTLY. WHY DOESN'T AVIO DO THIS RIGHT TO BEGIN WITH?
* options: remove --stereoGravatar wm42013-06-13
| | | | | | | Whatever this was supposed to be originally, it doesn't have much value anymore. It just forced ad_mpg123 to upmix mono to stereo by default (the audio chain can do that). As an option, it was mostly useless and misleading, so get rid of it.
* gl_video: remove redundant conditionGravatar wm42013-06-13
|
* mplayer: save sub-visibility propertyGravatar wm42013-06-13
|
* vo_lavc: silence warning when writing y4mGravatar wm42013-06-13
| | | | | Apparently a ffmpeg issue. Hide the warning because it's annoying. Workaround suggested by divVerent.
* mplayer: try to handle PTS forward jumpsGravatar wm42013-06-13
| | | | | | | | | | | | | | | | | | | | | | | | Raw MPEG streams can contain PTS discontinuities. While the playback core has obvious code for handling PTS going backward, PTS going forward was as far as I can see not handled. This can be an issue with DVD playback. This wasn't caught earlier, because DVD playback was just recently switched to demux_lavf, which implies -no-correct-pts mode. This mode doesn't use PTS in the same way as the normal playback mode, and as such was too primitive to be affected by this issue. Use the following heuristic to handle PTS forward jumps: if the PTS difference between two frames is higher than 10 seconds, consider it a reset. (Also, use MSGL_WARN for the PTS discontinuity warnings.) In this particular case, the MPEG stream was going from pts=304510857 to pts=8589959849 according to ffprobe (raw timestamps), which seems a bit strange. Note that this heuristic breaks if the source video has unusually high frame times. For example Rooster_Teeth_Podcast_191.m4a, an audio file with a slide show encoded as MJPEG video track.
* manpage: adjust y4m output exampleGravatar wm42013-06-13
| | | | | | The additional flags are needed to get the muxer to write the source video frame rate (instead of a fallback) for 100% equivalence to the replaced MPlayer/mplayer2 y4m writer.
* cocoa_common: fix ontop switching when fullscreenGravatar Stefano Pigozzi2013-06-11
| | | | | | | `enterFullScreenMode:withOptions:` creates another window so set the level on both the windowed window and current window. Also remove NSFullScreenModeWindowLevel as it seems to be superfluous.
* ao_oss: fix compilation on BSDGravatar wm42013-06-11
| | | | | | This was overlooked with commit 32a898f, because OSS4 volume control is typically not available on Linux. BSD does have this feature, so the broken code broke compilation there.
* options: fix compilation on WindowsGravatar wm42013-06-11
| | | | Closes github issue #107. (Hopefully.)
* command: fix empty metadata caseGravatar wm42013-06-11
| | | | show_text "${metadata}" crashed if no metadata was set.
* cocoa_common: fix window level when going fullscreenGravatar Stefano Pigozzi2013-06-10
| | | | | | | | | This is a regression introduced by 0057aa4769. Fix it so that the fullscreen window uses the correct window level. [ci skip] Fixes #106
* encoding: fix -oneverdrop logic when -omaxfps is usedGravatar Rudolf Polzer2013-06-09
| | | | Not that anyone should ever do this...
* encoding -omaxfps: rewrite logicGravatar Rudolf Polzer2013-06-09
| | | | | | Now it properly hits the "0 times displayed" case when frames get skipped; this means the candidate frame for the case the next frame is "long" is set properly.
* encoding -omaxfps: do not shift pts when pts are repeated entirelyGravatar Rudolf Polzer2013-06-09
| | | | | This is just to make sure. I have no test case for this, but the logic seems saner that way.
* Option -omaxfps: limit fps when encodingGravatar Rudolf Polzer2013-06-09
| | | | | Lower-fps content is left alone (NOT aligned to this fps); higher fps content is decimated to this frame rate.
* manpage: improve documentation of property expansionGravatar wm42013-06-08
|
* core: make options.c compile standaloneGravatar wm42013-06-08
| | | | | This also removes the split between "mplayer" and "common" opts (common opts used to be shared between mencoder and mplayer).
* core: rename cfg-mplayer.h to options.cGravatar wm42013-06-08
|
* core: merge defaultopts.c into cfg-mplayer.hGravatar wm42013-06-08
| | | | | There isn't really any reason why this should be in a separate source file.
* command: replace some show_ commands with propertiesGravatar wm42013-06-07
| | | | | | | | | | | show_chapters, show_tracks, and show_playlist are killed and replaced with the properties chapter-list, track-list, and playlist. The code and the output of these stays the same, this is just moving a lot of code around and reducing the number of properties. The "old" commands will still be supported for a while (to avoid making everyone angry), so handle them with the legacy layer. Add something to suppress printing the legacy warnings for these commands.
* command: human readable output for metadata propertyGravatar wm42013-06-07
| | | | | | | Slightly better output when printing ${metadata}. Print each metadata item as "name: value", instead of the raw list. It's still not very great, though. The old format is still available through ${=metadata} for things which dare to use the broken slave mode.
* core: reset pause state by default when going to next fileGravatar wm42013-06-07
| | | | Apparently this behavior is more intuitive/better to users.
* m_option: allow setting empty listsGravatar wm42013-06-07
| | | | There's no reason why this should be forbidden.
* ao_jack: remove global variablesGravatar wm42013-06-07
|
* ao_jack: align data sizes on audio frame sizeGravatar wm42013-06-07
| | | | | | | | | | Fixes crashes when playing with certain numbers of channels. The core assumes AOs accept data aligned on channels * samplesize, and ao_jack's play() function broke that assumption: mpv: core/mplayer.c:2348: fill_audio_out_buffers: Assertion `played % unitsize == 0' failed. Fix by aligning the buffer and chunk sizes as needed.
* ao_jack: switch to new AO APIGravatar wm42013-06-07
|
* ao_jack: uncrustifyGravatar wm42013-06-07
|
* ao_oss: remove duplicated format infoGravatar wm42013-06-07
| | | | | Instead of having two big switch statements to convert between two audio formats, use a single table.
* ao_oss: remove global variablesGravatar wm42013-06-07
|
* ao_oss: switch to new AO APIGravatar wm42013-06-07
|
* ao_oss: uncrustifyGravatar wm42013-06-07
|
* macosx_events: handle key modifiers with media keysGravatar Stefano Pigozzi2013-06-06
| | | | | | This was overlooked in the previous inplementation. Adding it required some refactoring of the `handleKeyDown:` method in order to extract common parts with `handleMediaKey:`.
* macosx_events: DRY up key lookup over dictionaryGravatar Stefano Pigozzi2013-06-05
| | | | | Two methods duplicated very similar behaviour. Extract method with the common behaviour.
* docs: update tech-overview.txtGravatar wm42013-06-05
|
* keycodes: fix copy paste errorGravatar Stefano Pigozzi2013-06-05
| | | | Makes 213ad5d behave has intended.
* macosx_events: make remote property an instance variableGravatar Stefano Pigozzi2013-06-05
| | | | There was no reason for it to be public.
* command: add the current local time as a propertyGravatar Jan-Marek Glogowski2013-06-04
| | | | | | | | This adds a the property 'clock', which returns the current local time as the string hh:mm. Additionally the keybinding 'shift' + 'o' was added to displaying the clock as '[hh:mm]' .
* osx: improve Media Keys supportGravatar Stefano Pigozzi2013-06-04
| | | | | | | | | | | | | | | | | | | | | | | This commit addresses some issues with the users had with the previous implementation in commit c39efb9. Here's the changes: * Use Quartz Event Taps to remove Media Key events mpv handles from the global OS X queue. This prevents conflicts with iTunes. I did this on the main thread since it is mostly idling. It's the playloop thread that actually does all the work so there is no danger of blocking the event tap callback. * Introduce `--no-media-keys` switch so that users can disable all of mpv's media key handling at runtime (some prefer iTunes for example). * Use mpv's bindings so that users can customize what the media keys do via input.conf. Current bindings are: MK_PLAY cycle pause MK_PREV playlist_prev MK_NEXT playlist_next An additional benefit of this implementation is that it is completly handled by the `macosx_events` file instead of `macosx_application` making the project organization more straightforward.
* ao_openal: switch to new AO APIGravatar wm42013-06-04
|
* ao_openal: uncrustifyGravatar wm42013-06-04
|
* ao_jack: add (no-)connect suboptionGravatar reimar2013-06-04
| | | | | | | | | | | | | Add (no)connect option to ao_jack. Patch by Markus Appel [masolomaster3000 googlemail com]. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@36297 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: DOCS/man/de/mplayer.1 DOCS/man/en/mplayer.1 audio/out/ao_jack.c
* ao_dsound: remove global variablesGravatar wm42013-06-04
|
* ao_dsound: switch to new AO APIGravatar wm42013-06-04
|
* ao_dsound: uncrustifyGravatar wm42013-06-04
|