summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* stream: change STREAM_CTRL_GET_SIZE argument type to uint64_treimar2012-11-205-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | Update endpos each time libavformat asks for it. Fixes playback of still downloading files to not stop before we really reached the end. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35107 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: libmpdemux/demux_lavf.c Change STREAM_CTRL_GET_SIZE argument type from off_t to uint64_t. Also fix the incorrect type of the uint64_res variable. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35360 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: libmpdemux/demux_lavf.c libmpdemux/muxer_lavf.c Note: also merges the "forgotten" cache support from r35107.
* asf_streaming: remove broken MMSU support codeupsuper2012-11-201-15/+3
| | | | | | | | | | | | | | Comment out unused code git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35359 b3059339-0415-0410-9bf9-f77b7e298cf2 Removing mmsu-related code MMSU was never supported by MPlayer, and the protocol has been deprecated. Since the code is not in use at all, Removing it should not break anything. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35420 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix potential bugs and issues, general cleanupsreimar2012-11-2017-118/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of these are reimar fixing issues found by Coverity static analyzer, and possibly some more cleanup commits independent from this. Since these commits are rather noisy, squash them all together. Try to make code a bit clearer. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35294 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: audio/out/ao_alsa.c Check the correct variable for NULL. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35323 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove pointless unreachable code (the loop condition already checks the 0xff case). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35325 b3059339-0415-0410-9bf9-f77b7e298cf2 Fix typo that might have caused reading beyond the string end. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35326 b3059339-0415-0410-9bf9-f77b7e298cf2 Do not needlessly use "long" types. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35331 b3059339-0415-0410-9bf9-f77b7e298cf2 Use AV_RB32 to avoid sign extension issues and validate offset before using it. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35332 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove nonsense casts. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35343 b3059339-0415-0410-9bf9-f77b7e298cf2 Fix crash in case sh_audio allocation failed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35348 b3059339-0415-0410-9bf9-f77b7e298cf2 Fix potential NULL dereference. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35351 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: libmpcodecs/ad_ffmpeg.c Note: Slightly modified. Fix malloc failure check to check the correct variable. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35353 b3059339-0415-0410-9bf9-f77b7e298cf2 Avoid code duplication and pointless casts. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35363 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: stream/tv.c Error out if an invalid channel list name was specified instead of continuing and reading outside array bounds all over the place. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35364 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: stream/tv.c Make array "static const". git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35365 b3059339-0415-0410-9bf9-f77b7e298cf2 Properly free resources even when encountering many parse errors. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35367 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: parser-cfg.c Avoid leaks in error handling. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35380 b3059339-0415-0410-9bf9-f77b7e298cf2 Do not do sign comparisons on "char" type which can be both signed or unsigned. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35381 b3059339-0415-0410-9bf9-f77b7e298cf2 Free cookies file data after parsing it. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35382 b3059339-0415-0410-9bf9-f77b7e298cf2 http_set_field only makes a copy of the string, so we still need to free it. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35383 b3059339-0415-0410-9bf9-f77b7e298cf2 check4proxies does not modify input URL, so mark it const. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35390 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove proxy "support" from stream_rtp and stream_upd, trying to use a http proxy for UDP connections makes no sense. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35394 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: stream/stream_rtp.c stream/stream_udp.c Add url_new_with_proxy function to reduce code duplication and memleaks. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35395 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: stream/pnm.c stream/stream_live555.c stream/stream_nemesi.c stream/stream_rtsp.c Fix off-by-one errors in file descriptor validity checks. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35402 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove pointless cast. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35403 b3059339-0415-0410-9bf9-f77b7e298cf2 Abort when opening the file failed instead of calling "write" with an invalid descriptor. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35404 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove pointless local variable. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35411 b3059339-0415-0410-9bf9-f77b7e298cf2 Conflicts: stream/http.c
* options: support chapters for --start and --endwm42012-11-204-2/+21
| | | | | | | | | | | | | The --start and --end switch now accept a chapter number. The chapter number is prefixed with '#', e.g. "--start=#2" jumps to chapter 2. The chapter support might be able to replace --chapter completely, but for now I am not sure how well this works out with e.g. DVDs and BDs, and a separate --chapter option is useful interface-wise. (This was supposed to be added in 51503a, but apparently the fixup commit adding it was lost in a rebase. This might also be the reason for the mess-up fixed in 394285.)
* m_option: fix braindead --start, --length, --end option parsing bugswm42012-11-181-4/+4
| | | | | | | | | | | | | The option type m_option_type_rel_time was completely broken. It interpreted everything starting with a number as percent position. This is because sscanf() semantics are idiotic (trailing string doesn't need to be matched), and due to my own idiocy this was overlooked when testing. Fix by considering sscanf() evil and not using it. (bstr_sscanf() is a straight wrapper around sscanf()). Even if the percent code was fixed, there was another bug: it always interpreted times as negative (starting from end for --start). Fix the basic logic.
* sd_ass: fix ASS subtitles coming from demux_lavfwm42012-11-161-3/+7
| | | | | libavformat demuxes ASS subtitles as complete ASS event, rather than Matroska-mangled events without time codes.
* command: export A/V sync difference as "avsync" propertywm42012-11-162-0/+10
| | | | This is the same as on the status line after the "A-V: ".
* demux_mf: allow displaying single image files, various cleanupswm42012-11-166-90/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable autoprobing for demux_mf, so that image files can be directly displayed with e.g. "mpv file.jpg --pause". (The --pause switch is needed to prevent the window from closing immediately.) Since demux_mf doesn't have any real file format probing and goes by file extension only, move the demuxer down the demuxer list to ensure it's checked last. (ffmpeg's demux_mf equivalent, "image2", probes by file extensions too, and there doesn't seem to be anything that can probe typical image file formats from binary data.) Remove the --mf "w" and "h" suboptions. Don't pass the width/height to the video stream header. Both of these are useless, because the decoder reads the real image size at a later point from the file headers. Remove setting the BITMAPINFOHEADER as well, as vd_lavc doesn't need this. Enable --correct-pts by default. This fixes displaying a single image with vo_vdpau (as mentioned by uau). Keep around a pointer to the sh_video stream header instead of accessing demuxer->video->sh_video. Fixes a crash when deselecting the video track. Note that the format probing is incorrect when opening images from HTTP locations. File extensions don't have to match the actual file format. A correct implementation would require to check the MIME type, or to probe the binary data correctly.
* subtitles: improve support for libavformat demuxed subtitleswm42012-11-162-7/+19
| | | | | | | | | | Make demux_lavf not error out if no video or audio track is present. This allows opening subtitle files with the demuxer. Improve the test whether subtitles read from demuxers must do explicit packet reads. (I'm not sure whether always doing these reads could have bad effects, such as reading too many audio and video packets at once, so be conservative.)
* mplayer: refactor: move computation of a/v syncwm42012-11-161-21/+26
| | | | | | The computation for the A/V sync value was inside print_status(). Move it into its own function; this makes things simpler and gets rid of some minor dead code.
* core: add --keep-open, which doesn't close the file on EOFwm42012-11-166-1/+31
| | | | | | | | | | | | | | | | | The --keep-open option causes mpv not to close the current file. Instead, it will pause, and allow the user to seek around. When seeking beyond the end of the file, mpv does a precise seek back to the previous last known position that produced video output. In some corner cases, mpv might not be able to produce video output at all, despite having created a VO. (Possibly when only 1 frame could be decoded, but the video filter chain queues frames. Then a VO would be created, without sending an actual video frame to the VO.) In these cases, the VO window will not redraw, not even OSD. Based on a patch by coax [1]. [1] http://devel.mplayer2.org/ticket/210#comment:4
* command: add sub_reload and sub_remove commandswm42012-11-166-12/+82
| | | | | | | | | | sub_remove remove an external subtitle track, for whatever this may be needed. sub_reload removes and re-adds an external subtitle track. Also rename sub_load to sub_add, because that seems to be more in line with sub_remove.
* subreader: replace sub_free() by talloc destructorwm42012-11-163-14/+11
| | | | Makes it less annoying to free the sub_data.
* options: add --mute for setting initial audio mute statuswm42012-11-165-4/+18
| | | | | Similar to --volume. Takes this as opportunity to move the variable corresponding to --volume into MPOpts.
* options: rename -sub-fuzziness to -autosub-match, change option valueswm42012-11-163-9/+11
| | | | | | | | | | "--autosub-match" is close to "--autosub", and reflects what this option does slightly better. Replace the magic number option values with choices: --sub-fuzziness=0 becomes --autosub-match=exact --sub-fuzziness=1 becomes --autosub-match=fuzzy --sub-fuzziness=2 becomes --autosub-match=all
* options: rename --cursor-autohide, replace magic number valueswm42012-11-163-3/+5
| | | | | | --cursor-autohide-delay=-2 becomes --cursor-autohide=always --cursor-autohide-delay=-1 becomes --cursor-autohide=no --cursor-autohide-delay=123 becomes --cursor-autohide=123
* options: --field-dominance: replace magic number values with choiceswm42012-11-162-8/+8
| | | | | | --field-dominance=-1 becomes --field-dominance=auto --field-dominance=0 becomes --field-dominance=top --field-dominance=1 becomes --field-dominance=bottom
* options: rename -ss and -endpos, allow relative timeswm42012-11-168-91/+122
| | | | | | | | | | | | | | | | Rename the -ss option to -start, and -endpos to -length. Add a -end option. The -end option always specifies an absolute end time, as opposed to -endpos/-length. All these options (--start, --end, --length) now accept relative times. Percent positions (e.g. "--start=30%") are interpreted as fractions of the file duration. Negative times (e.g. "--start=-1:00) are interpreted relative to the end of the file. Chapters (e.g. "--start=#3") yield the chapter's time position. The chapter support might be able to replace --chapter completely, but for now I am not sure how well this works out with e.g. DVDs and BDs, and a separate --chapter option is useful interface-wise.
* cookies: don't read cookie files from ancient browserswm42012-11-162-44/+4
| | | | | | | | | | | | Remove the code that attempted to read cookie files from well-known browser locations. This code was written for ancient browsers, and only knew about Mozilla and Netscape. While it's possible that these browsers are still alive and still use the same config locations and cookie file formats, the only Mozilla-based browser that still matters is Firefox. Firefox uses a sqlite database for cookies, located in a slightly different config path. Just remove this code.
* options: respect --no-msgcolor during early program startwm42012-11-161-1/+1
| | | | | | | Using --no-msgcolor, error messages that happened before "really" parsing the command line were still printed in color. Add the CONF_PRE_PARSE flag to make this option take effect as early as possible.
* options: remove --displaywm42012-11-164-24/+1
| | | | | Was used to set the X11 display. XDisplayName(NULL) does the same, using the DISPLAY environment variable instead.
* options: rename --xineramascreen to --screen, remove magic valueswm42012-11-164-9/+10
| | | | | --xineramascreen=-2 becomes --screen=all --xineramascreen=-1 becomes --screen=current
* options: remove --osdlevel in favor of --osd-levelwm42012-11-161-1/+0
| | | | | --osdlevel has been documented as renamed/removed. Not actually removing it was probably an oversight.
* video/filter: rename vf_eq2 to vf_eqwm42012-11-165-8/+8
| | | | | vf_eq was deleted earlier, which makes the name vf_eq2 even more awkward.
* vo_opengl: remove osdcolor suboptionwm42012-11-162-22/+0
| | | | | | This wasn't actually used since the old gray-alpha OSD rendering has been removed. Removing the documentation for the vo_opengl_old osdcolor suboption was forgotten as well.
* options, vo_x11: remove -zoom option, make it defaultwm42012-11-1616-56/+13
| | | | | | | | | | | | | | The -zoom option enabled scaling with vo_x11. Remove the -zoom option, and make its behavior default. Since vo_x11 has to use libswscale for colorspace conversion anyway, which doesn't do actual extra scaling when vo_x11 is run in windowed mode, there should be no speed difference with this change. The code removed from vf_scale attempted to scale the video to d_width/ d_height, which matters for anamorphic video and the --xy option only. vo_x11 can handle these natively. The only case for which the removed vf_scale code could matter is encoding with vo_lavc, but since that didn't set VOFLAG_SWSCALE, nothing actually changes.
* configure: remove --enable-profilewm42012-11-161-11/+4
| | | | | | | | | | The --enable-profile switch simply adds -p to the CFLAGS, which enables gcc's extremely worthless "prof" profiling support. This kind of profiling is broken on the conceptual level and thus harmful, and even if you want it, you can enable it manually with --extra-cflags. Also remove $_march $_mcpu from the CFLAGS code. These variables were always unset, as the code setting them has been removed earlier.
* manpage: various fixeswm42012-11-167-81/+41
|
* input: silence warning if input.conf is missingwm42012-11-161-0/+4
| | | | | | | | | It's silly to print a warning if an optional config file is missing. Don't print anything at the default message level if an input config is not found. Unfortunately, the behavior is the same for explicitly passed input config files (with --input=conf=file.conf).
* encoding examples: change global_quality use to qscaleRudolf Polzer2012-11-151-4/+4
| | | | global_quality would need an extra multiplication by QP2LAMBDA otherwise
* mplayer: do not freeze when trying to loop an unseekable filewm42012-11-141-1/+13
| | | | | | | | | | | | | | Using --loop=inf on an unseekable file would put mpv (and all other mplayers as well) into an endless loop, trying to seek to the start of the file on each playback loop iteration. When the seek fails, playback simply remains in the at-end-of-file state, and tries to issue a new seek command for looping. Fix by checking if the seek command fails, and abort looping in this case. For that, queue_seek() is replaced with seek(). Due to the circumstances, these two calls happen to be equal in this case: the seek is absolute (i.e. no seek coalescing done), and the execution of queued seeks is right after the loop code anyway.
* options: make --loop always per-filewm42012-11-141-1/+1
| | | | | | | In this example, only f1.mkv was looped: mpv f1.mkv f2.mkv --loop=2 This is because the playloop actually changes the global option value, assuming it would be reset when going to the next file. When mpv was changed to not reset options between files, this assumption was broken.
* Makefile: don't strip by default, add install-strip targetswm42012-11-142-13/+13
| | | | | | | | Now "make install" will never strip the binary. "make install-strip" always will. The behavior of --enable-debug is unchanged, other than having no influence anymore on the install targets.
* video: add IMGFMT_Y16/PIX_FMT_GRAY16wm42012-11-145-5/+26
| | | | | | | | | This pixel format is sometimes used with yuv4mpeg. vo_direct3d used its own IMGFMT_Y16 internally for some reason. vo_opengl, vo_opengl_old, and vo_direct3d should be able to display this pixel format natively.
* Makefile: do not create config directory with install targetwm42012-11-141-1/+0
| | | | | | | The config directory, controlled by --confdir and which is set to PREFIX/etc/mpv by default, should not be created by default, as "make install" doesn't copy any files there. The user can still create a config file manually if system-wide configuration is desired.
* example.conf: all options should be commentedwm42012-11-141-1/+1
| | | | | The file is written with the assumption that it doesn't change any settings by default. Add a forgotten comment to fix this.
* cfg-mplayer: do not include encode options when encoding disabledwm42012-11-141-0/+2
| | | | | | | | | Normally, we always want to enable encoding, as it uses stock ffmpeg APIs and has no other dependencies or disadvantages. However, supporting older releases of ffmpeg and Libav (which equal to outdated git snapshots fix security and crash fixes applied) force us to disable some advanced ffmpeg API usage, which includes encoding.
* Improve compatibility with Libav 0.8.4 and ffmpeg 0.11.2wm42012-11-144-2/+17
| | | | | | | | | | | Libav 0.8.4 is ridiculously old (in relative terms), so I don't know how many things are broken silently. Encoding is disabled, because the required API hasn't been added yet. (On the other hand, the old API can't be used in newer versions.) This should improve compatibility with ffmpeg 0.11.2 as well, which didn't define AV_CODEC_ID_SUBRIP yet.
* build: build manpage by default if rst2man is detectedwm42012-11-142-9/+24
| | | | | | | | | | | | | | | | Add building the manpage to the all target (which is also the default target). This fixes the behavior that "make install" tried to build the manpage if it wasn't built yet. Add rst2man detection to configure, and disable rst2man usage in the all and install targets if it hasn't been found. You can still build or install the man page manually (by using the install-mpv-man target), but the all and install targets won't attempt to use rst2man. Additionally, building/installing the manpage by default can be explicitly inhibited using the --disable-manpage configure option. It's possible to avoid rst2man by using "make mpv install-no-man" as well.
* Makefile: add mpv.rst dependencieswm42012-11-141-0/+9
| | | | Using a really dumb rule declaration.
* TOOLS: remove checktree.shwm42012-11-142-354/+1
| | | | | | Nice idea, but essentially useless. Unmaintained even in mplayer-svn. Remove broken remains of the checkheaders target too.
* build: remove doc/locale language auto-detection, simplifywm42012-11-144-167/+22
| | | | | | | | | | | | | | | | | | | This removes the rather complicated configure and Makefile parts related to auto-detecting available languages for manpages and locales. We don't have non-English manpages or any locales, so this is pointless. It didn't even work: configure --language=all created an invalid config.mak that would cause "make install" to fail. Remove installation of locales. There are no translations at all which could be installed. Should there ever be someone who is interested in adding translations, this can be added back in a simpler way. Rename the --enable-translation configure option to --enable-gettext. This is what this option really does: enable gettext() use. This may be interesting for people who want to experiment with localizing mpv, but is entirely useless for normal use. Remove detection of the binary codecs directory in configure.
* network: fix crash with -playlist http://...wm42012-11-141-0/+2
| | | | | | | | | | | | The function fixup_network_stream_cache() accesses stream->opts, which is NULL in some cases when loading playlists. stream->opts is a pointer to the global MPOpts struct. For simplicity, this parameter is left NULL in some cases. Usually, this doesn't matter, because barely anything in stream/ uses MPOpts anyway. Hack-fix this for now by not accessing MPOpts and disabling the stream cache in this case. Calling open_stream() with options==NULL now basically means: do not use cache settings.
* mixer: fix lowering hw volume while mutedUoti Urpala2012-11-141-1/+1
| | | | | | | Lowering volume while muted did not work correctly with audio outputs that support native mute setting separate from volume (ao_alsa and ao_pulse), because the AO-level volume was not set while muted but was still being read back. Fix by setting the AO volume in this case.
* ao_coreaudio: fix deprecation warningsStefano Pigozzi2012-11-131-6/+6
|
* clang: fix all warnings except deprecationsStefano Pigozzi2012-11-138-7/+17
|
* vf_dlopen: fix a typo in zeroing memory (thanks, pigoz)Rudolf Polzer2012-11-131-1/+1
| | | | Accidentally had put the & inside the sizeof call too. Typing too fast.
* Makefile: fix install targetsJohannes Nixdorf2012-11-131-2/+2
| | | | | <