Remove code that tries to select audio track during demuxer
initialization from demux_mkv and demux_lavf. Just leave audio
disabled at that point; the higher-level select_audio() function will
call the demuxer to switch track later anyway.
Removing this unneeded code also fixes use of these demuxers as the
main demuxer with -audiofile. Before the automatic track selection
would have enabled an audio track (if the file had any); as the main
demuxer was not used for audio the unused packets from this enabled
track would accumulate until they reached queue size limits.
The select_audio() call was done on the main demuxer, not -audiofile
one (the "if (mpctx->num_sources)" test in the previous code was
always true). Call it on the -audiofile demuxer instead. The
-audiofile stuff still needs a proper cleanup later though.
Remove --with-glib-config, --with-gtk-config, --enable-gui,
--disable-gui, --enable-gtk1, --disable-gtk1. The only one of these
that still had any effect was --enable-gui which printed a warning
about GUI removal and exited. The --with options were still shown in
help output, the rest had already been deleted from that.
Commit de42015a97 ("demux_mkv: read tags") added code that
failed to initialize a loop variable. Fix. No visible problems caused
by the bug have been reported.
Delete mp3lib which has been the default mp3 decoder until now. In
addition to being an unnecessary embedded library it now fails to
compile correctly with the new gcc-4.6, producing noise.
After the deletion the default decoder priority for mp3 will be first
libmpg123 (a newer version of the code that mp3lib was based on) if
available, then ffmp3float which should be available in all normal
compiles. I think that some tweaking may be required as these decoder
alternatives get wider testing, but any problems should be solvable
and there should be no need for mp3lib.
Reordering to libavcodec channel order was broken with libavcodec
versions using float input to the ac3 encoder because the reordering
code still assumed int16 sample size. Fix.
Duration may now be set for packet types other than subtitles; as far
as I can tell nothing should care. A check requiring valid duration
values for subtitles is removed, because duration may not be properly
set for all bitmap subtitle types; hopefully this doesn't make the
behavior with (already broken) subtitles without duration worse.
In 59058b54a73809866476b243d8bee82174fb4de8 (from svn r31129) Aurelien
changed demux_lavf -vid indexing, but failed to change the initial
video stream selection based on -vid to match. Fix.
If the argument given to demux_lavf audio/video switch code is not one
of -2, -1, or valid audio/video ID the code will treat it the same as
-2 (switch to no sound / no video). However the returned index was not
set to -2 in this case. Fix. Also change the returned index from -1 to
-2 when staying at no sound / video.
Fix bugs in the handling of stream index values in video stream
switching. This is similar to what commit 90bedd0b872b6eea02351aafb62e
did for audio.
Also clean up the corresponding audio code a little bit.
Windows pthreads requires certain functions to be called to initialize
itself. It can do that through DllMain but no such luck when linked
statically; mplayer needs to call the initialization explicitly.
Recent ffmpeg-mt versions changed the API for setting the number of
decoding threads to use (I'm not sure whether dropping backwards
compatibility was intentional or not). As a result only one thread was
used. Make the thread setting compatible with the new API to restore
proper multithreaded decoding.
Libavcore was merged back to libavutil. Change the mga_template.c
include of libavcore/imgutils.h to match. This means that split
libavcore/libavutil versions won't work any more; but since this only
affects people who enable vo_mga and there was no released version
using the split libs I won't bother with any conditionals for the
include.
Change license indicated for compiled binaries to GPL 3 to match
talloc.c which is LGPL 3+. Note that at least for now the source
licenses have NOT been changed - almost everything is still GPL 2+ or
compatible, not GPL 3+.
Disable compilation of demux_ty_osd.c because of its GPL v2-only
license. This only affects TiVo files with -subcc. After this no
v2-only code should get compiled (yuv4mpeg_intern.h has a v2-only
license, but the contents of the header look like they're not
copyrightable).
When doing a precise seek video_out->frame_loaded was left to true
while frames were being skipped. However vo_get_buffered_frame()
always returns success if a frame is already loaded; due to this the
EOF detection in update_video() never triggered, and a hr-seek past
EOF could cause a soft hang (commands were still processed and it was
possible to seek again to exit the loop). This could also happen with
Matroska files using ordered chapters if an underlying file was
actually shorter than the chapter that was supposed to come from it.
Then seeking to a timestamp after the end of the file but before the
end of the chapter would trigger the bug.
Fix the problem by setting frame_loaded to false when we decide to
skip the frame in question.
As things currently are the --ffmpeg-source-dir option will cause a
compilation failure. Maybe the video filters that depend on internal
FFmpeg headers to work should be deleted completely; for now I'll
remove the option from the help output as it can only confuse normal
users.
The internal libdvdcss version was only compiled if you used internal
libdvdread too; and libdvdread was not included in the sources, so
that'd only happen if you manually added libdvdread in the build
tree. Keeping libdvdcss for that case probably isn't worth it, so
delete it from the tree. The build system part is still there, so an
internal build is possible if you add the directory back.
Force Makefile to always run version.sh to potentially regenerate
version.h. Drop compiler version and 'git-' prefix from version
number. Match only git tags starting 'v'+number when generating
version number; leave the 'v' out from the result.
Change DVB SPU stream format in TS demuxer so it can be decoded by
libavcodec (as soon as lavc is fixed not to fail just because of an
extra padding byte).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32866 b3059339-0415-0410-9bf9-f77b7e298cf2
Fix r32587: the previous approach to return subtitles in time broke
DVB subtitles due to returning incomplete packets and even for
PGS subtitles resulted in incorrect pts values for the sub packets.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32864 b3059339-0415-0410-9bf9-f77b7e298cf2
Do not pointlessly cast the return value of memalign().
memalign() returns void*, which is compatible with any pointer in C.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32850 b3059339-0415-0410-9bf9-f77b7e298cf2
add apco and ap4h fourcc to prores decoder
add ai55 and ai15 fourcc to h264 docoders
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32843 b3059339-0415-0410-9bf9-f77b7e298cf2
Use color type getter instead of direct access to private member.
Using the getter is mandatory since recent libpng 1.5 release.
Patch by Gianluigi Tiesi (mplayer - netfarm it)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32840 b3059339-0415-0410-9bf9-f77b7e298cf2
Escape character values >= 127 in URLs as required by the RFC.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32833 b3059339-0415-0410-9bf9-f77b7e298cf2
Check that rlen is valid before using it to increment a pointer.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32832 b3059339-0415-0410-9bf9-f77b7e298cf2
Disable libmpcdec (musepack) support by default, FFmpeg has a decoder
that works better for us and is used by default.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32826 b3059339-0415-0410-9bf9-f77b7e298cf2
Convert cache_fill_status into a function so we always get the latest
state, not whatever it was after the last read.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32818 b3059339-0415-0410-9bf9-f77b7e298cf2
Update PAUSED status line with cache fill status if it changed.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32819 b3059339-0415-0410-9bf9-f77b7e298cf2
configure had a check for some libraries specific to the maemo
platform. Apparently the code which would have used the results of
this check was never added. Remove the unused check.
Previously the default with --enable-translation was to install all
language files if --language-msg was not explicitly specified. Change
the default to the languages set with the --language option or LINGUAS
environment variable if those are set; if neither is set then the
default is still to install all message languages.
The XML documentation was badly outdated, with various obsolete,
useless and and sometimes actively harmful advice. Delete a lot of the
obsolete stuff, without spending much effort to replace it for now.
In the FAQ section I removed some questions completely; in other cases
I only removed the answer if I thought the entry might be worth
keeping but the answer would need to be updated.
Abort if FFmpeg libraries are not found unless --disable-ffmpeg was
explicitly specified. Note that even if you disable FFmpeg, libavutil
and libswscale are still required and you'll need to add linker flags
for them manually; I didn't try to clean up that case (few people
will want to do that).
Also fix the fallback test used if pkg-config doesn't find the
libraries: fix wrong header name and drop forced -lavcore which isn't
present in all FFmpeg versions. This shouldn't make a difference for
normal use since the pkg-config test should succeed if the libraries
are available.