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 59058b54a7 (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 90bedd0b87
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.
af_lavcac3enc: use old SampleFormat names without AV_ prefix, the
latter were only added in 2010-11
vd_ffmpeg: add ifdef around CODEC_ID_LAGARITH use
demux_real: use ffmpeg_files/intreadwrite.h
stream/http.c, stream/realrtsp/real.c: define AV_BASE64_SIZE macro for
old libavutil versions lacking it
Enter and Tab are the only named keys (rather than identified by the
printable character they produce) with code below 256. Add a special
case to recognize the Shift modifier with them.
The keycodes.h file contains a KEY_CTRL define, then various control
keys expressed as "KEY_CTRL + 0" and so on. Back in 2002 when the key
name table in input.c was created this KEY_CTRL define was mistakenly
interpreted as a key name, apparently confusing it with the Ctrl key
(even though the input system didn't handle that key back then). As a
result there was an incorrect key name entry with the same key code as
backspace and name "CTRL". This incorrect entry was used when printing
the name of the key. Delete it.
vo_x11_create_vo_window() only called vo_x11_update_geometry() if no
window position had been specified by -geometry or -xineramascreen, to
avoid overwriting the specified position with values from the existing
window. However window size should be initialized to the existing
window here, and setting new window title for -use-filename-title is
also done in vo_x11_update_geometry() (for whatever reason, it doesn't
match what else that function does). Change the code in
vo_x11_create_vo_window() to always call vo_x11_update_geometry() for
size variable and window title updates, but add a flag that tells it
not to update position variables.
The libavcodec AC-3 encoder was changed to use floats, and take
floating point samples as input (the fixed-point version is still
available under the new name "ac3_fixed"). This broke af_lavcac3enc
because it blindly assumed without checking that the "ac3" encoder
would take signed 16-bit integer samples. Improve af_lavcac3enc so
that it checks the sample formats supported by the encoder and can
handle either int16_t or float.
Perhaps an option to keep using integer input but instead switch the
encoder name to "ac3_fixed" for new libavcodec versions would have
some value. Then again, maybe not. Using the preferred data format of
the default "ac3" encoder should normally be best, so probably better
not add such an option unless real need appears.
One of two alternative code parts passing codec extradata to
libavcodec didn't add the buffer padding that libavcodec requires,
resulting in invalid reads beoynd allocated memory area. Fix.