The option field corresponding to -slang is now called "sub_lang"
instead of the old misleading global name "dvdsub_lang". The code
handling -slang in subreader.c looks rather broken; disable it instead
of converting it to use the option field.
Move "struct bstr" definition from ebml.h to its own header and add
some utility functions/macros. Change length field type from int to
size_t and adjust using code accordingly.
Partially based on a patch from Anton Khirnov.
After fixing the type of the third parameter given to fribidi_log2vis
the code didn't compile with old FriBiDi 0.10 any more. Seems that the
parameter type has changed in FriBiDi and the type expected by current
versions didn't exist in older ones at all. Fix compilation with old
FriBiDi by adding an #if based on FRIBIDI_INTERFACE_VERSION.
Change ad_pcm to copy input packet data into an internal buffer
instead of relying on the packet still existing at the next decode()
call. The extra memcpy could be avoided by improving the demuxer API a
bit but I don't feel like implementing that now. Also add a
ADCTRL_RESYNC_STREAM handler to drop buffered data from previous
stream position.
Fix use of unsigned type where negative values were needed. When
playing a file with multichannel PCM audio the bug could result in the
channel reorder function scrambling memory at the end of playback,
causing a crash.
Make the number of output surfaces allocated by vo_vdpau configurable
and allow queuing multiple future frames with the VDPAU frame timing
functionality. There are two known issues that could be polished in
the future for particularly long queue time cases. First, toplevel
code should possibly wait for the queued changes to finish displaying
in some situations like switching files. Second, the VO can block
waiting for a surface to become available, and in the worst case this
wait can be almost as long as the maximum queuing time (potentially
causing audio underruns). However those issues are not high priority.
The only FFmpeg internal symbols required were some constants. Define
them in the file itself instead. Also add some checks and fixes to
make the code more robust and fix a potential memory corruption
problem.
Add -vo vdpau suboption "studio" to produce output in RGB range
16-235. Man page description mostly taken from a patch by Lauri
Mylläri (but not code). Also slightly tweak the description of two
other suboptions on the man page.
Since I dropped the hack to support older libvdpau versions (without
MPEG4 / hqscaling features) from the FFmpeg version used in the build
repo it's better to disable those libvdpau versions in MPlayer
too. Change the configure check to require a newer libvdpau version,
and drop compatibility code in vo_vdpau.c.
The code printed a pointless "dvdsublang..." message at MSGL_INFO
level. Remove that. Add instead a MSGL_DBG2 message showing tested
files and their priorities.
This simplifies the build system and should have no practical disadvantage.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31133 b3059339-0415-0410-9bf9-f77b7e298cf2
aid and vid are now 0-based, instead of being a globally unique id.
This matches the way sid is handled and the way other demuxers manage aid.
As a side effect, it slightly simplifies demux_lavf.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31129 b3059339-0415-0410-9bf9-f77b7e298cf2
Playback of nonseekable y4m streams was broken by a change merged from
svn, r30970 which added support for multiple yuv4mpeg files
concatenated together. The change included a stream_skip(stream, -1)
call which only works for seekable files. Work around this by
disabling the concatenated-file check for nonseekable streams. This
means concatenated files are only supported if the stream is seekable,
but this is an improvement compared to the svn commit which caused a
regression making _all_ files fail in the nonseekable case.
It would be reasonably easy to make the concatenation support work in
all cases, either by modifying demux_y4m or (probably better) adding a
general stream API to allow pushing back the read byte. However for
now I'm only fixing the regression with the above trivial change.