aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* command: add property to scale window sizeGravatar wm42013-10-31
|
* x11: factor out normal window resize codeGravatar wm42013-10-31
| | | | | | | | As preparation for resizing the window with input commands in the following commit. Since there are already so many functions which somehow resize the window, add the word "highlevel" to the name of this new function.
* sd_lavc: display DVD subs with unknown durationGravatar wm42013-10-31
| | | | | | | | | | | | | | | | | | DVD subs (rarely) have subtitle events without end timestamp. The duration is unknown, and they should be displayed until they're replaced by the next event. FFmpeg fails hard to make us aware whether duration is unknown or actually 0, so we can't distinguish between these two cases. It fails at this twice: AVPacket.duration is set to 0 if duration is unknown, and AVSubtitle.end_display_time has the same issue. Add a hack that considers all bitmap subtitles with duration==0 as events with uknown length. I'd rather accidentally display a hidden subtitle (if they exist at all), instead of not displaying random subtitles at all. See github issue #325.
* ao_pulse: fix channel layoutsGravatar wm42013-10-31
| | | | | | | | The code was selecting PA_CHANNEL_POSITION_MONO for MP_SPEAKER_ID_FC, which is correct only with the "mono" channel layout, but not anything else. Remove the mono entry, and handle mono separately. See github issue #326.
* vd_lavc: add more ifdeffery and ffmpeg cargo culting for correctnessGravatar wm42013-10-31
| | | | | | | | | | | | | We mixed the "old" AVFrame management functions (avcodec_alloc_frame, avcodec_free_frame) with reference counting. This doesn't work correctly; you must use av_frame_alloc and av_frame_free. Of course ffmpeg doesn't warn us about the bad usage, but will just mess up things silently. (Thanks a lot...) While the alloc function seems to be 100% compatible, the free function will do bad things, such as freeing memory that might still be referenced by another frame. I didn't experience any actual bugs, but maybe that was pure luck.
* dec_video: remove unused declaration of a former global variableGravatar wm42013-10-31
|
* encoding-example-configs: add more comments regarding the scaling methodGravatar Rudolf Polzer2013-10-31
|
* gl_common: osx: fix compilation with latest XQuartz RCGravatar Stefano Pigozzi2013-10-30
| | | | Looks the gl.h header in XQuartz is incompatible with the one in OS X 10.9.
* tech-overview.txt: reflect recent updatesGravatar wm42013-10-30
| | | | mplayer.c split, and some other things.
* ta: track location debug info in 2 more casesGravatar wm42013-10-30
| | | | Was overlooked.
* x11: restore support for --wid=0Gravatar wm42013-10-30
| | | | | | | | | | This stopped working when the code was changed to create a window even if --wid is used. It appears we can't create our own window in this case, because in X11 there is no difference between a window with the root window as parent, and a window that is managed by the WM. So make this (kind of worthless) special case use the root window itself.
* x11: remove ancient metacity hackGravatar wm42013-10-30
| | | | | Tested with recent metacity; this code is not triggered anymore. The code was added in 2003 and probably has been unused for years.
* x11: minor cosmeticsGravatar wm42013-10-30
|
* main: improve a terminal messageGravatar wm42013-10-30
| | | | Better prefer real English...
* player: merge mp_osd.h into mp_core.hGravatar wm42013-10-30
| | | | | | | | Just doing this because mp_osd.h and osd.c is not consistent. There are some other header files (command.h and screenshot.h), but since I don't feel too good about inflating mp_core.h, I'm not merging them, at least not yet.
* mp_core: sort function prototypes by source fileGravatar wm42013-10-30
| | | | | | | I considered making a header file for each .c file, but decided against it. Asking around, not making separate headers was deemed acceptable. In the end, all of these depend on MPContext and store state inside of it, so separate headers aren't all that useful anyway.
* ao_alsa: return negative value on error in play()Gravatar wm42013-10-30
| | | | | No functional change, because the only user of ao_play() ignores return values below 1.
* Fix style of the HP Slate 7 vf-add line.Gravatar Rudolf Polzer2013-10-30
|
* encoding-example-profiles: support HP Slate 7's weird aspect.Gravatar Rudolf Polzer2013-10-30
| | | | Also, replace broken noup= by lavfi expressions.
* Split mplayer.cGravatar wm42013-10-30
| | | | | | | | | | | | | | | | | | | | mplayer.c was a bit too big. Split it into multiple files. I hope the way it's split makes sense. Maybe some things don't make too much sense, or go against intuition. These will fixed as soon as I notice them. Some files are a bit questionable (misc.c, osd.c, configfiles.c), and suggestions how to organize this better are welcome. Regressions are possible due to reorganized include statements. Obviously I didn't just copy mplayer.c's orgy of include statements, but recreated them for each file. It's easily possible that there are oversights and mistakes, which will show up on other platforms. There is one actual change: the public avutil.h include is removed from encode.h, and I tried to replace most FFMIN/FFMAX/av_clip uses. I consider using libavutil too much as dangerous, because the set of include files they recursively pull in is rather arbitrary and is different between FFmpeg and Libav.
* Move files part of the playback core to player sub-directoryGravatar wm42013-10-30
| | | | | | | | All these files access mp_core.h and MPContext, and form the actual player application. They should be all in one place, and separate from the other sources that are mere utility helpers. Preparation for splitting mplayer.c into multiple smaller parts.
* gl_x11: change error message when GL3 context creation failsGravatar wm42013-10-28
| | | | | | | | | | | | | | On systems that provide legacy OpenGL (up to 2.1), but not GL3 and later, creating a GL3 context will fail. We then revert to legacy GL. Apparently the error message printed when the GL3 context creation fails is confusing. We could just silence it, but there's still a X error ("X11 error: GLXBadFBConfig"), which would be quite hard to filter out. For one, it would require messing with the X11 error handler, which doesn't even carry a context pointer (for application private data), so we don't even want to touch it. Instead, change the error message to inform the user what's actually happening: a fallback to an older version of OpenGL.
* getch2: assume EOF when input file descriptor is invalidGravatar wm42013-10-28
| | | | | | | | | | | | | When starting mpv with nohup, file descriptor 0 seems to be invalid for some reason. (I'm not quite sure why it should be... /proc/pid/fd/0 seems to indicate it's just /dev/null, and using /dev/null explicitly shows that it works just fine.) select() will always immediately return, and this causes mpv to burn CPU without reason. Fix this by treating it as EOF when read() returns EBADF. Also add EINVAL to this condition, because it seems like a good idea.
* getch2: move global state to file scope variablesGravatar wm42013-10-28
| | | | | Using static variables for mutable state inside functions is a bad idea, because it's not immediately obvious that it is what it is.
* mplayer: handle subtitle renderer cleanup via uninit_playerGravatar wm42013-10-28
| | | | | | | | | This might actually fix an issue with DVB channel switching, because that uses some sort of hack to reinitialize the demuxer, which causes the subtitle renderer to initialize twice. As consequence, the assert in add_subtitle_fonts_from_sources() would trigger. I didn't actually test the DVB case, because I don't have the hardware.
* x11_common: refactor of fstype codeGravatar wm42013-10-28
| | | | This is completely pointless, but it still somehow bugged me.
* cocoa: apply the more invasive constraining only with cmd+1/2/3Gravatar Stefano Pigozzi2013-10-28
| | | | | Regression from bc49957 Fixes #321
* command: disable autorepeat for some commands (actually properties)Gravatar wm42013-10-28
| | | | | | | | | | | | Disable autorepeat for the "add"/"cycle" commands when changing properties that are choices (such as fullscreen, pause, and more). In these cases, autorepeat is not very useful, and can rather harmful effects (like triggering too many repeated commands if command execution is slow). (Actually, the commands are just dropped _after_ being repeated, since input.c itself does not know enough about the commands to decide whether or not they should be repeated.)
* x11: fix border togglingGravatar wm42013-10-27
| | | | | | | | | | | | | Trying to toggle the border during fullscreen (with "cycle border") would leave the window stuck without border, and it couldn't be restored. This was because vo_x11_decoration() always excepted to be called when toggling the state, and thus confusing the contents of the olddecor variable. Add got_motif_hints to hopefully prevent this. Also, when changing the border, don't take fs in account. May break on older/broken WMs, but all in all is in fact more robust and simpler, because you do not need to update the border state manually when returning from fullscreen.
* vo_xv: check whether image allocation succeedsGravatar wm42013-10-27
|
* command: don't include stream_dvd.hGravatar wm42013-10-27
|
* af: replace macros with too generic namesGravatar wm42013-10-26
| | | | | | | | Defining names like min, max etc. in an often used header is not really a good idea. Somewhat similar to MPlayer svn commit 36491, but don't use libavutil, because that typically causes us sorrow.
* gl_common: suggest --vo=opengl-old if OpenGL 2.1 missingGravatar wm42013-10-26
| | | | | | | If the caller requests at least OpenGL 2.1 (which --vo=opengl does), but we get OpenGL 1.x, suggest using opengl-old. Based on a patch by pfor on IRC.
* af_volume: some more cosmeticsGravatar wm42013-10-26
|
* af_volume: switch to new option parsingGravatar wm42013-10-26
|
* af_volume: uncrustifyGravatar wm42013-10-26
| | | | Also, use more C99 and remove "register" keywords.
* af_volume: don't change volume if nothing is to be changedGravatar wm42013-10-26
| | | | | On the float path. Note that this skips clipping, but we expect that everything on the audio-path is pre-clipped anyway.
* af_volume: remove unused featuresGravatar wm42013-10-26
| | | | | | Roughly follows MPlayer svn commits 36492 and 36493. We also remove the volume peak reporting. (There are much better libavfilter filters for this, I think.)
* mpvcore: add a note about desync on track switchesGravatar Ben Boeckel2013-10-26
|
* docs: osc: update cache display percentage.Gravatar ChrisK22013-10-26
|
* osc: display cache status only below 45%Gravatar ChrisK22013-10-26
| | | | | Turnes out, when playing stuff over WiFi, the cache may go below 48% quite frequently.
* osc: fix bug for no-duration casesGravatar ChrisK22013-10-26
|
* osc: add experimental seekbar tooltipGravatar ChrisK22013-10-26
| | | | | | Not up to my quality standards (need ASS boundingboxes), so disabled by default and undocumented for now. Can be enabled with seektooltip=yes in plugin_osc.conf
* osc: make sure the OSC actually fits into the videoGravatar ChrisK22013-10-26
|
* options: don't let watch_later etc. overwite command line optionsGravatar wm42013-10-25
| | | | | | | | | | | | | | | There are certain cases where mpv will automatically set options, such as per-file configs, per protocol/VO/AO/extension profiles, and watch_later resume configs. All these were overwriting the user's options, even when they were specified on command line. Add something that explicitly preserves command line options. This means you can now actually use the command line to override any options that the playback resume functionality backups and restores. It still happily overrides options set at runtime (e.g. changed via properties while playing a file; then playing the next file might override them again), but maybe that's not a problem with typical use.
* ao_alsa: don't include alloca.hGravatar wm42013-10-25
| | | | | | | | It's true that ALSA uses alloca() in some of its API functions, but since this is hidden behind macros in the ALSA headers, we have no reason to include alloca.h ourselves. Might help with portability (FreeBSD).
* README: add a link to the wiki about the FFmpeg vs. Libav issueGravatar wm42013-10-25
|
* manpage: clarify --heartbeat-interval operationGravatar wm42013-10-25
|
* x11_common: reduce screensaver heartbeat from 30 to 10 secondsGravatar wm42013-10-25
| | | | | Apparently this fixes issues with Gnome, which has a smaller timeout. See github issue #315.
* cocoa: constraint the window position a little moreGravatar Stefano Pigozzi2013-10-25
| | | | | The intention of this is to not make the window go outside the screen when changing dimensions from 2x to .5x.