The contents of mpcommon.c were quite arbitrary; the most common
reason to place some functions in this file had been "MEncoder happens
to need similar code as MPlayer and we want to share some parts, but
we have no clue whatsoever how to organize things in a sensible way,
so we'll just dump those parts we want to share in mpcommon.c". As a
result of containing an essentially random subset of top-level player
functionality the mpcommon.h header required access to central structs
and was unsuitable for inclusion in lower-level code, but was
nonetheless included there for the mplayer_version symbol.
Move almost all contents from mpcommon.c to mplayer.c. mplayer.c is
already big and should perhaps be split further, but keeping a few
random functions in mpcommon.c would not be an improvement.
When -alang / -slang was specified the numerically first matching
track (if any) was always chosen. This meant that specifying "-alang
eng" could change the track choice even if all tracks were in English,
because now the default flag of tracks was ignored. Change the logic
to take the default flag into account as a secondary sorting key.
The code also accepted prefix matches, so that "-slang g" would match
track language "ger". I think that was not intentional. Change it to
require exact matches.
Enable all of libavcodec, libavformat, libswscale, and libpostproc
together (libavutil is always required).
based on svn commit by diego:
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32226 b3059339-0415-0410-9bf9-f77b7e298cf2
Allows playback of DVD subtitles from "raw" MPEG-PS.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31674 b3059339-0415-0410-9bf9-f77b7e298cf2
Move initialization of vo_spudec further behind to avoid issues with
PGS subtitles being scaled incorrectly.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31917 b3059339-0415-0410-9bf9-f77b7e298cf2
Make subdelay handling work the same way for all subtitle types and
also allow changing subtitle delay to work better with vobsubs.
This probably breaks vobsub behaviour with timestamp wrapping though.
Positive values for sub delay now delay subtitles compared to video,
where before the effect was in the opposite direction.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31663 b3059339-0415-0410-9bf9-f77b7e298cf2
The string now resides in a central object file instead of
being duplicated in every file that requires a version string.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31577 b3059339-0415-0410-9bf9-f77b7e298cf2
Instead of only relying on the MIME type, use the file extension as a
fallback for deciding which attachments are fonts and should be fed to
libass.
This also refactors the check into a separate function in mpcommon.
compilation will break on systems that do not have win32 dlls
enabled. Fixes compilation bug introduced by r30942
10l to the anonymous guy who explains the importance of commit messages
and would like to have romance novels in these very messages.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30945 b3059339-0415-0410-9bf9-f77b7e298cf2
1. Include loader/drv.h for SetCodecPath() instead of a declaration of it.
2. Move codec_path from get_path.h to mpcommon.h and mpcommon.c.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30914 b3059339-0415-0410-9bf9-f77b7e298cf2
for rendering by libass.
This avoids mangling the static subtitle struct that is supposed to contain
the subtitles that will actually be displayed and it also minimally reduces
memory usage by freeing the subtitle lines again as early as possible.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30059 b3059339-0415-0410-9bf9-f77b7e298cf2
When using libass to render plaintext (non-SSA/ASS) subtitles the code
in update_subtitles() still called set_osd_subtitle() in one case,
causing the global vo_sub variable containing non-libass subtitles to
be set. Under some circumstances this resulted in both a
libass-rendered and non-libass-rendered version of the same subtitle
appearing on screen. Fix by running the subtitle clearing code (which
called set_osd_subtitle) only when libass is not used.
commit 4c552b2e42 ("core: Do
OSD/subtitle updates at a more accurate point") made filter-rendered
libass subtitles appear one frame too late the first time they became
visible (VO rendering was not affected, and filter rendering was
accurate if seeking back later). The reason was that the subtitle code
did not feed the subtitle events to libass before their starting time,
and this now happened after the filtering phase. Fix this by skipping
the time check in the libass case and feeding demuxed subtitles to
it unconditionally (as timing is done separately anyway with libass).
There are still at least theoretically possible new problems in the
filter-rendered case because the filter now relies on packets demuxed
before the _previous_ frame. There's a bigger chance of getting the
subtitle packet too late, and the filter can't see packets for the
first frame after a seek. However the former is not an issue for the
samples I tested even with -nosound, and subtitles are not in general
guaranteed to be shown when seeking to a new position (though it could
be worth a later improvement).
Patch by Francesco Lavra [francescolavra interfree it] with modifications by me.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29875 b3059339-0415-0410-9bf9-f77b7e298cf2
DVB teletext support is nearly finished, it will be possible to read
teletext from file, it will not be depending on reception any more.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29851 b3059339-0415-0410-9bf9-f77b7e298cf2
-audiofile by moving the code to manually interleave
subtitles to mp_common.c.
video.c should still be changed to not be demuxer-specific
anymore, it is bad practice but fully fixing it is non-trivial.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29810 b3059339-0415-0410-9bf9-f77b7e298cf2
in comments.
Based on a patch by Francesco Lavra, francescolavra interfree it
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29802 b3059339-0415-0410-9bf9-f77b7e298cf2
As part of merging subtitle-in-terminal changes make
update_subtitles() only clear existing subtitles if called with the
reset argument, and not try to set new ones. Later calls should set
the needed new subtitles, and this change avoids some problems with
trying to set subtitles when mp_property_sub() in command.c gets
called from initialization code before full initialization.
This fixes a crash with e.g. auto-enabled subtitles and -novideo due to
command.c calling update_subtitles even without video and is a step
toward subtitle support for audio-only files.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29710 b3059339-0415-0410-9bf9-f77b7e298cf2
The GUI is badly designed and too closely coupled to the internal
details of other code. The GUI code is in bad shape and unmaintained
for years. There is no indication that anyone would maintain it in the
future either. Even if someone did volunteer to implement a better
integrated GUI having the current code in the tree probably wouldn't
help much. So get rid of it.