| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Crashed in case of lazily added subtitle streams, which add tracks with
track->stream set to NULL.
Fixes gituhub issue #439.
|
|
|
|
|
| |
Fixes #434
Fixes #437
|
|
|
|
|
|
| |
Add check in old-configure as well. Reformat the check to use a maximum of 80
columns in the wscript.
Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
|
| |
|
|
|
|
| |
They were set before the VO was intitialized, which silently failed.
|
| |
|
|
|
|
|
| |
This is used to disable inline assembly (useful for old version of binutils
like the one in OpenBSD).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
old-configure already behaves like this. Adapt wscript to the same default.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Not sure why but this doesn't seem to be needed anymore.
This reverts commit 6ead6aa005f1c78a117bde58e48f106cfd1e9806.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Fixes #427
|
|
|
|
| |
This feature will be used in the next commit.
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
Rearrange the code in an attempt to make its organization more logical.
|
|
|
|
| |
This is mostly just moving code around.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Of course this does not allow decoding multiple tracks at once; it just
adds some minor infrastructure, which could be used to achieve this.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
AV_SAMPLE_FMT_NONE != 0, could apparently cause crashes in certain
situations.
|
| |
|
| |
|
|
|
|
| |
Apparently I pushed too quickly.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
So we will know whether someone uses broken config file options when
posting a log with -v.
|
| |
|
|
|
|
| |
"res" can be uninitialized in the error case.
|
| |
|
|
|
|
| |
Looks like this relied on undefined behavior.
|
| |
|
|
|
|
|
| |
Yep, smb_username/password were unused since forever, even in MPlayer.
Removal untested. (Does anyone even use smb://?)
|
|
|
|
|
| |
Get rid of the stupid and error-prone buffer size calculations, use
snprintf instead of strcpy.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Code for loading "[vo.vdpau]" profiles and similar. The messages printed
on loading change, but other than that, everything should behave about
the same.
|
|
|
|
| |
Used in the following commit.
|
|
|
|
| |
mp_is_url("://") returned true.
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Avoid global state (reload cookie file every time), actually free
loaded cookies, use mp_get_user_path() for cookie file.
|
| |
|
| |
|
|
|
|
| |
Prevents race conditions (which can happen only in theory anyway).
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Still no OSX here.
|
|
|
|
| |
Untested... no OSX here.
|
|\
| |
| |
| |
| | |
This branch changes mp_msg() so that it doesn't require global context.
The changes are pretty violent.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
So the user can specifically mute or unmute the status line with
--msglevel. Accidentally removed with commit 5e0c4ec3.
|
| |
| |
| |
| | |
Add a separate mp_log instance for this purpose.
|
| |
| |
| |
| | |
Same for companion functions.
|
| |
| |
| |
| | |
Also get rid of MSGL_HINT and the many MSGL_DBG* levels.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Apparently this should never be run anyway.
|
| |
| |
| |
| | |
Worthless anyway.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 ch |