summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Release 0.3.0v0.3.0wm42013-12-292-0/+42
|
* build: add flag for inline assemblyStefano Pigozzi2013-12-292-5/+10
| | | | | This is used to disable inline assembly (useful for old version of binutils like the one in OpenBSD).
* vd_lavc: by default, output all frames, even corrupted oneswm42013-12-294-0/+17
| | | | | | | | | | | | | | | | Set the flag CODEC_FLAG_OUTPUT_CORRUPT by default. Note that there is also CODEC_FLAG2_SHOW_ALL, which is older, but this seems to be ffmpeg only. Note that whether you want this enabled depends on the user. Some might prefer that only good frames are output, while others want the decoder to try as hard as possible to output _anything_. Since mplayer/mpv is rather the kind of player that tries hard instead of being "clever", set the new default to override libavcodec's default. A nice way to test this is switching video tracks. Since mpv doesn't wait for the next key frame, it'll start feeding the decoder with a packet from the middle of the stream.
* player: add two more font mimetypes recognized by Haaliwm42013-12-291-1/+3
| | | | | | | | | | | | | | The Haali Matroska splitter is basically the reference implementation for this crap, and it knows only: application/vnd.ms-opentype application/x-font-ttf application/x-truetype-font Two of them were missing in our code. One of them, "application/x-font", is probably plain incorrect, but I can't really tell. Also see: http://www.cccp-project.net/beta/test_files/fontsample.mkv
* player: use arrays to list font mimetypes and font file extensionswm42013-12-291-9/+15
|
* build: disable SDL by defaultStefano Pigozzi2013-12-291-2/+4
| | | | old-configure already behaves like this. Adapt wscript to the same default.
* Install encoding-profiles.conf by defaultwm42013-12-285-19/+42
| | | | | | | | | | | | This is probably useful. Note that this includes a small, stupid hack to prevent loading of the config file if vf_lavfi is not available. The profile by default uses vf_lavfi, and the config parser will output errors if vf_lavfi is not available. As another caveat, we install the example profile even if encoding is disabled (though we don't load it, since this would print errors).
* player: fix buggy error condition when loading mpv.confwm42013-12-281-1/+1
|
* vo/x11_common: do not select motion events when --no-mouse-movements is setahodesuka2013-12-281-1/+1
|
* input: print an error if reading input.conf failswm42013-12-281-4/+8
| | | | | | stream_read_complete() fails if the file is larger than the requested maximum size. But input.c didn't check for this case, and no indication that something went wrong was printed.
* Revert "x11: don't set global error handler"wm42013-12-271-0/+28
| | | | | | | | | | | | | This reverts commit 877303aaa9111fc56a8e5edbeb439699acfe44c0. The OpenGL 2.1 fallback for vo_opengl didn't work. Two things come together: 1. trying to create an OpenGL 3.0 context will fail with a GLXBadFBConfig error, and 2. X errors are fatal by default. Since the reverted commit removed the X error handler, the mpv process was killed, instead of continuing for the fallback. (Note that this commit is not an exact inverse commit, since mp_msg changed, but it does about the same thing.)
* demux_mkv: handle TrueHD properlywm42013-12-271-32/+98
| | | | | | | | | Apparently, Matroska packs TrueHD packets in a way lavc doesn't expect. This broke decoding of some files [1] completely. A short look at the libavcodec parser shows that parsing this ourselves would probably be too much work, so make use of the libavcodec parser API. [1] http://www.cccp-project.net/beta/test_files/mzero_truehd_sample.mkv
* Revert "cocoa: unlock on uninit"Stefano Pigozzi2013-12-261-3/+1
| | | | | | Not sure why but this doesn't seem to be needed anymore. This reverts commit 6ead6aa005f1c78a117bde58e48f106cfd1e9806.
* corevideo: fix video initialization when not using VDAStefano Pigozzi2013-12-261-52/+46
| | | | | | | query_format was setting state even if wasn't the correct thing to do. Somehow it worked by pure luck (until commit e6e6b88b6da). Fix the initialization by setting state inside of reconfig.
* build: fix shm detection on OpenBSDStefano Pigozzi2013-12-263-2/+14
| | | | Fixes #427
* build: support multiple headers in check_statementStefano Pigozzi2013-12-261-4/+7
| | | | This feature will be used in the next commit.
* mpv.desktop: add KDE file handlersSven-Hendrik Haase2013-12-261-0/+1
| | | | | | | | | | Currently KDE will copy a media file into a temporary folder instead of trying to stream it if a KIO slave location file is started. This change will tell KDE to make mpv try to directly play the file. Perhaps the proper flags should be added according to the individual enabled features of the build but I suggest that be for the future. Signed-off-by: wm4 <wm4@nowhere>
* options: simplify handling of some help optionswm42013-12-266-74/+28
|
* input: cosmetics: move code aroundwm42013-12-261-319/+316
| | | | Rearrange the code in an attempt to make its organization more logical.
* input: split off some code from input.c to separate fileswm42013-12-2610-1049/+1240
| | | | This is mostly just moving code around.
* build: hide duplicate options from `--help`Stefano Pigozzi2013-12-262-1/+11
| | | | | | Hide --enable variants from [autodetect]'ed options and --enable/--disable variants for [enable]'d/[disable]'d options. The hidden options are still usable, just hidden for more readability.
* cocoa: sanitize window title string and guard against NULLStefano Pigozzi2013-12-251-1/+6
| | | | | | | | | | | If the utf8 string used to create the NSString for title was invalid utf8, -stringWithUTF8String returned nil and triggered an assertion in Cocoa's framework code. Sanitize the utf8 string and if the sanitation wasn't enough just avoid crashing by not setting a title. Fixes #406
* vo_x11/vo_xv: fix build when using --disable-xextStefano Pigozzi2013-12-252-12/+12
|
* player: deselect secondary sub when switching to file with different trackswm42013-12-251-0/+2
| | | | | | This applies the usual logic of resetting stream selections to default when switching to a file with a different track layout. (This is to prevent selecting random streams.)
* player: fix initial selection with --secondary-sidwm42013-12-252-3/+22
| | | | | | | | Also, make sure that a track can't be selected twice. While this might work in some situations, it certainly won't work with subtitles demuxed from a stream. Fixes #425.
* player: add --secondary-sid for displaying a second subtitle streamwm42013-12-2415-106/+220
| | | | | | | This is relatively hacky, but it's Christmas, so it's ok. This does two things: 1. allow selecting two subtitle tracks, and 2. include a hack that renders the second subtitle always as toptitle. See manpage additions how to use this.
* player: add infrastructure to select multiple tracks at oncewm42013-12-246-43/+64
| | | | | Of course this does not allow decoding multiple tracks at once; it just adds some minor infrastructure, which could be used to achieve this.
* player: do initial seek for external tracks only oncewm42013-12-241-2/+12
| | | | | | Normally, there can be only one demuxer stream active for each demuxer of an external file, but this assumption will be broken for multiple subtitles support.
* player: slightly simplify seeking in external fileswm42013-12-241-16/+9
| | | | | | | For some reason, this checked whether there are external tracks at all before doing any seeks. Possibly this was to avoid multiple get_main_demux_pts() calls, but calling this multiple times shouldn't be too bad.
* player: redo demuxer stream selectionwm42013-12-247-85/+79
| | | | | | | Use struct track to decide what stream to select. Add a "selected" field and use that in some places instead of checking mpctx->current_track.
* audio: fix format ID conversionwm42013-12-231-1/+1
| | | | | AV_SAMPLE_FMT_NONE != 0, could apparently cause crashes in certain situations.
* changes.rst: add entry for dvdnav menuwm42013-12-231-1/+1
|
* manpage: mention video-unscaled propertywm42013-12-231-0/+1
|
* player: fix typo in previous commitwm42013-12-231-1/+1
| | | | Apparently I pushed too quickly.
* player: warn if Matroska font attachments have incorrect MIME typewm42013-12-231-2/+11
| | | | | | Normally we shouldn't load these files. But for some reason it was added in commit b784346e some years ago, and disabling this hack would probably be an inconvenience. So just print a warning.
* options: print any options set in verbose modewm42013-12-231-0/+5
| | | | | So we will know whether someone uses broken config file options when posting a log with -v.
* options: disable joystick by defaultwm42013-12-232-2/+1
|
* vaapi: fix initialization error code pathwm42013-12-231-1/+2
| | | | "res" can be uninitialized in the error case.
* subreader: replace some strcpy callswm42013-12-221-2/+3
|
* subreader: remove overlapping strcpywm42013-12-221-1/+2
| | | | Looks like this relied on undefined behavior.
* asxparser: remove commented codewm42013-12-221-12/+0
|
* stream_smb: remove dead codewm42013-12-221-22/+1
| | | | | Yep, smb_username/password were unused since forever, even in MPlayer. Removal untested. (Does anyone even use smb://?)
* player: simplify mp_load_per_file_configwm42013-12-221-8/+7
| | | | | Get rid of the stupid and error-prone buffer size calculations, use snprintf instead of strcpy.
* player: move code aroundwm42013-12-222-42/+37
| | | | | | The only thing that used mp_load_per_file_config() was inside configfiles.c too, so remove the declaration from core.h and move the function before its use.
* player: remove code duplication for auto-loaded config profileswm42013-12-221-60/+14
| | | | | | Code for loading "[vo.vdpau]" profiles and similar. The messages printed on loading change, but other than that, everything should behave about the same.
* path: add function to split URL into prefix and pathwm42013-12-222-0/+13
| | | | Used in the following commit.
* path: don't accept empty protocol as validwm42013-12-221-1/+1
| | | | mp_is_url("://") returned true.
* path: change mp_splitext() semanticswm42013-12-223-8/+8
| | | | | | | | | Including the "." in the returned extension was too inconvenient. I think originally, the semantics were supposed to work like in Python, but screw this. Also, return NULL instead of "" on failure (which is what its only user actually seems to expect).
* stream_radio: suppress error with -Werror=format-security compilation flagMiro HronĨok2013-12-221-1/+1
| | | | Signed-off-by: wm4 <wm4@nowhere>
* vo_vdpau: fix unintended truncation of 64 bit timestamps to 32 bitwm42013-12-222-2/+2
| | | | | | | | How embarrassing... This code is inactive for all VOs other than vo_vdpau. For vo_vdpau, this caused various issues, such as stuttering after about an hour of running mpv; see github issue #403.
* vo_vdpau: add some debugging messages for frame timingwm42013-12-221-2/+4
| | | | | | Note that this will print a difference even with perfect sync, because the code queues the frames _between_ vsync, probably for error margin (though I don't understand why it uses the exact values chosen).
* Don't include version.h from make options.cwm42013-12-224-9/+12
| | | | | | | | | I find this annoying. It's the reason common/version.c exists at all. options.c did this for the user agent, which contains the version number. Because not including version.h means you can't build the user agent and use it in mp_default_opts anymore, do something rather awkward in main.c to initialize the default user agent.
* stream: minor cookie cleanupwm42013-12-222-26/+23
| | | | | Avoid global state (reload cookie file every time), actually free loaded cookies, use mp_get_user_path() for cookie file.
* options: move network related options to MPOptswm42013-12-225-48/+37
|
* msg: add some comments about thread-safetywm42013-12-221-0/+6
|
* gl_lcms: actually acquire mutexwm42013-12-221-0/+2
| | | | Prevents race conditions (which can happen only in theory anyway).
* options: make --msglevel extend previous settingswm42013-12-221-3/+10
| | | | | | Make it so --msglevel extends previous --msglevel uses, instead of overwriting them. Do this by literally appending the --msglevel option value to the previous one.
* vda: attempt to fix build (2)wm42013-12-221-2/+2
| | | | Still no OSX here.
* path-macosx: attempt to fix buildwm42013-12-221-1/+1
| | | | Untested... no OSX here.
* Merge branch 'msg_refactor'wm42013-12-21223-3886/+3551
|\ | | | | | | | | This branch changes mp_msg() so that it doesn't require global context. The changes are pretty violent.
| * msg: remove global statewm42013-12-219-73/+84
| |
| * msg: don't prefix slave-mode stuff by defaultwm42013-12-211-1/+1
| |
| * player: use separate msg prefix for statuslinewm42013-12-213-3/+5
| | | | | | | | | | So the user can specifically mute or unmute the status line with --msglevel. Accidentally removed with commit 5e0c4ec3.
| * demux: don't prefix tag output with demuxer namewm42013-12-212-9/+12
| | | | | | | | Add a separate mp_log instance for this purpose.
| * msg: rename mp_msg_log -> mp_msgwm42013-12-2122-96/+96
| | | | | | | | Same for companion functions.
| * msg: convert defines to enumwm42013-12-219-36/+37
| | | | | | | | Also get rid of MSGL_HINT and the many MSGL_DBG* levels.
| * msg: remove legacy stuffwm42013-12-212-142/+3
| |
| * vo_opengl_old: remove leftoverswm42013-12-211-1/+1
| |
| * macosx_application: replace mp_msg with stderr for semi-fatal errorwm42013-12-211-3/+4
| | | | | | | | Apparently this should never be run anyway.
| * cpudetect: remove mp_msg callswm42013-12-211-13/+0
| | | | | | | | Worthless anyway.
| * path lookup functions: mp_msg conversionswm42013-12-2116-110/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a single mp_msg() in path.c, but all path lookup functions seem to depend on it, so we get a rat-tail of stuff we have to change. This is probably a good thing though, because we can have the path lookup functions also access options, so we could allow overriding the default config path, or ignore the MPV_HOME environment variable, and such things. Also take the chance to consistently add talloc_ctx parameters to the path lookup functions. Also, this change causes a big mess on configfiles.c. It's the same issue: everything suddenly needs a (different) context argument. Make it less wild by providing a mp_load_auto_profiles() function, which isolates most of it to configfiles.c.
| * af_export: require filename argumentwm42013-12-212-6/+5
| | | | | | | | | | | | Since mp_find_user_config_file() is going to get a context argument, which would be annoying to do in the audio chain (actually I'm just lazy).
| * quvi: mp_msg conversionswm42013-12-214-20/+33
| |
| * charset_conv: mp_msg conversionswm42013-12-214-27/+33
| |
| * stream: mp_msg conversionswm42013-12-2139-739/+557
| | | | | | | | We also drop some slave mode stuff from stream_vcd.
| * demux: mp_msg conversionswm42013-12-2128-561/+544
| | | | | | | | | | | | | | The TV code pretends to be part of stream/, but it's actually demuxer code too. The audio_in code is shared between the TV code and stream_radio.c, so stream_radio.c needs a small hack until stream.c is converted.
| *