Assume files which start with an EBML header but have no DocType
element in that header have type "matroska", and attempt to play
them. Reportedly some mkvmerge versions create such files.
The code left ctx->last_sample_aspect_ratio at 0/0 when allocating a
context. In older FFmpeg versions av_cmp_q() against 0/0 always said
the numbers are equal; but this changed recently, triggering incorrect
overwrite of container aspect ratio. The logic looks like it'd need
further fixes, but for now just initialize last_sample_aspect_ratio to
0/1; this should restore the previous behavior from before FFmpeg
changes, which worked well enough for the most common cases.
avctx->palctrl was allocated with calloc() but freed with av_freep().
Free it with free() instead. Also change the main decoder context
allocation to use talloc.
The code handling input format negotiation incorrectly used the bps
value of the suggested input format instead of the format it was going
to actually use. As a result the player could abort with the above
assertion failure. Fix.
Now the window is only resized when video size (or size specified by
-geometry) changes; reconfiguring the window with the same size no
longer changes back to default size from possibly user-modified one.
Also fix a bug in fullscreen handling that could cause incorrect
window size when turning fullscreen off.
r31316 is not exactly wrong, but the way forcing FPS works is overall
quite broken. If there's a real need to add that test then other code
would need to be fixed too.
E.g. no header parsing is implemented so -fps must be specified manually.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31327 b3059339-0415-0410-9bf9-f77b7e298cf2
do whatever is best/necessary, this method will just drop cached data.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31324 b3059339-0415-0410-9bf9-f77b7e298cf2
be able to handle this just as well (or better) including interlaced.
If not, this needs to be fixed there instead of duplicating code.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31320 b3059339-0415-0410-9bf9-f77b7e298cf2
In particular fixes a wring return value check which caused descrambling
to be aborted for no good reason.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31319 b3059339-0415-0410-9bf9-f77b7e298cf2
The _mga/_xmga variables weren't changed to "no", causing a build
failure if mga/xmga support would have been otherwise enabled but was
only switched off because of the swscale test.
issue with PAFF seems solved to me, and disabled correct-pts causes
flickering with -ass (which of course should be fixed as well though).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31313 b3059339-0415-0410-9bf9-f77b7e298cf2
This avoids some issues with H.264 PAFF due to dropping PTS values too
early because only every second packet actually produced output.
Just keeping up to one additional pts value would have avoided this
particular issue as well, but this is more generic.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31312 b3059339-0415-0410-9bf9-f77b7e298cf2
reasonable.
This avoids completely losing A-V sync e.g. when pts was not reordered correctly.
This was tested with http://samples.mplayerhq.hu/V-codecs/h264/PAFF/tv_cut.mkv
for this sample proper pts reordering is the correct solution, but more resilient
handling of the error case is still useful.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31311 b3059339-0415-0410-9bf9-f77b7e298cf2
This avoids using swscale internals when compiling against a shared libswscale.
Patch inspired by Uoti Urpala's work in his git branch:
cd4e8dc1fa
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31310 b3059339-0415-0410-9bf9-f77b7e298cf2
Commit 3f076c0fb3 ("options: move -a52drc to option struct") from
yesterday left out setting the default value of the option,
effectively changing the default from 1 to 0. Add the missing part to
change it back to 1.
Change demux_mkv to behave by default as it did with -idx before. The
index generation code in demux_mkv linearly scans the file up to the
seek timestamp (it doesn't read the whole file up front like some
other demuxers do). Doing that is probably a better default for files
with no index than rejecting the seek request and asking user to
specify -idx.
-a52drc range extension was already done earlier (and the svn commit
is buggy for ad_liba52). However keep the man page change (this is the
only part not skipped).
We don't want to use lavf for Matroska demuxing; it's questionable
whether that's a good idea even in svn, and the internal demuxer here
is definitely a better choice.