aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* osd_libass: use bstr_xappend()Gravatar wm42013-12-30
| | | | Partially, just enough to drop mp_append_utf8_buffer().
* common: simplify and optimize string escape parsingGravatar wm42013-12-30
| | | | | | | | | | | This code is shared between input.conf parser and option parser. Until now, the performance didn't really matter. But I want to use this code for JSON parsing too, and since JSON will have to be parsed a lot, it should probably try to avoid realloc'ing too much. This commit moves parsing of C-style escaped strings into a common function, and allows using it in a way realloc can be completely avoided, if the already allocated buffer is large enough.
* bstr: add bstr_xappend functionGravatar wm42013-12-30
| | | | | | Apparently this can be really useful when being paranoid and trying to avoid too much malloc/realloc, since it can be used to appending into a buffer (with transparent realloc only if the buffer is too small).
* video: fix --brightness etc. optionsGravatar wm42013-12-29
| | | | They were set before the VO was intitialized, which silently failed.
* build: add flag for inline assemblyGravatar Stefano Pigozzi2013-12-29
| | | | | 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 onesGravatar wm42013-12-29
| | | | | | | | | | | | | | | | 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 HaaliGravatar wm42013-12-29
| | | | | | | | | | | | | | 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 extensionsGravatar wm42013-12-29
|
* build: disable SDL by defaultGravatar Stefano Pigozzi2013-12-29
| | | | old-configure already behaves like this. Adapt wscript to the same default.
* Install encoding-profiles.conf by defaultGravatar wm42013-12-28
| | | | | | | | | | | | 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.confGravatar wm42013-12-28
|
* vo/x11_common: do not select motion events when --no-mouse-movements is setGravatar ahodesuka2013-12-28
|
* input: print an error if reading input.conf failsGravatar wm42013-12-28
| | | | | | 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"Gravatar wm42013-12-27
| | | | | | | | | | | | | 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 properlyGravatar wm42013-12-27
| | | | | | | | | 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"Gravatar Stefano Pigozzi2013-12-26
| | | | | | Not sure why but this doesn't seem to be needed anymore. This reverts commit 6ead6aa005f1c78a117bde58e48f106cfd1e9806.
* corevideo: fix video initialization when not using VDAGravatar Stefano Pigozzi2013-12-26
| | | | | | | 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 OpenBSDGravatar Stefano Pigozzi2013-12-26
| | | | Fixes #427
* build: support multiple headers in check_statementGravatar Stefano Pigozzi2013-12-26
| | | | This feature will be used in the next commit.
* mpv.desktop: add KDE file handlersGravatar Sven-Hendrik Haase2013-12-26
| | | | | | | | | | 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 optionsGravatar wm42013-12-26
|
* input: cosmetics: move code aroundGravatar wm42013-12-26
| | | | Rearrange the code in an attempt to make its organization more logical.
* input: split off some code from input.c to separate filesGravatar wm42013-12-26
| | | | This is mostly just moving code around.
* build: hide duplicate options from `--help`Gravatar Stefano Pigozzi2013-12-26
| | | | | | 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 NULLGravatar Stefano Pigozzi2013-12-25
| | | | | | | | | | | 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-xextGravatar Stefano Pigozzi2013-12-25
|
* player: deselect secondary sub when switching to file with different tracksGravatar wm42013-12-25
| | | | | | 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-sidGravatar wm42013-12-25
| | | | | | | | 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 streamGravatar wm42013-12-24
| | | | | | | 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 onceGravatar wm42013-12-24
| | | | | 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 onceGravatar wm42013-12-24
| | | | | | 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 filesGravatar wm42013-12-24
| | | | | | | 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 selectionGravatar wm42013-12-24
| | | | | | | 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 conversionGravatar wm42013-12-23
| | | | | AV_SAMPLE_FMT_NONE != 0, could apparently cause crashes in certain situations.
* changes.rst: add entry for dvdnav menuGravatar wm42013-12-23
|
* manpage: mention video-unscaled propertyGravatar wm42013-12-23
|
* player: fix typo in previous commitGravatar wm42013-12-23
| | | | Apparently I pushed too quickly.
* player: warn if Matroska font attachments have incorrect MIME typeGravatar wm42013-12-23
| | | | | | 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 modeGravatar wm42013-12-23
| | | | | So we will know whether someone uses broken config file options when posting a log with -v.
* options: disable joystick by defaultGravatar wm42013-12-23
|
* vaapi: fix initialization error code pathGravatar wm42013-12-23
| | | | "res" can be uninitialized in the error case.
* subreader: replace some strcpy callsGravatar wm42013-12-22
|
* subreader: remove overlapping strcpyGravatar wm42013-12-22
| | | | Looks like this relied on undefined behavior.
* asxparser: remove commented codeGravatar wm42013-12-22
|
* stream_smb: remove dead codeGravatar wm42013-12-22
| | | | | Yep, smb_username/password were unused since forever, even in MPlayer. Removal untested. (Does anyone even use smb://?)
* player: simplify mp_load_per_file_configGravatar wm42013-12-22
| | | | | Get rid of the stupid and error-prone buffer size calculations, use snprintf instead of strcpy.
* player: move code aroundGravatar wm42013-12-22
| | | | | | 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 profilesGravatar wm42013-12-22
| | | | | | 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 pathGravatar wm42013-12-22
| | | | Used in the following commit.
* path: don't accept empty protocol as validGravatar wm42013-12-22
| | | | mp_is_url("://") returned true.