aboutsummaryrefslogtreecommitdiffhomepage
path: root/libmpdemux
diff options
context:
space:
mode:
authorGravatar mosu <mosu@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-12-15 11:16:41 +0000
committerGravatar mosu <mosu@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-12-15 11:16:41 +0000
commit6629e2925b4507394f7b35e06b9ce4c3b1e192b2 (patch)
tree3c70566c5e92d29e1f630ce916abd920a2417bfb /libmpdemux
parent0c526eafa971a38785e087bb8ed8e57e5563c55b (diff)
For RealVideo the aspect ratio was overridden in vd_realvid.c. Implemented a workaround.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11648 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_mkv.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/libmpdemux/demux_mkv.cpp b/libmpdemux/demux_mkv.cpp
index ee3ceac9ea..49df655db7 100644
--- a/libmpdemux/demux_mkv.cpp
+++ b/libmpdemux/demux_mkv.cpp
@@ -2178,9 +2178,19 @@ extern "C" int demux_mkv_open(demuxer_t *demuxer) {
track->v_frate = 25.0;
sh_v->fps = track->v_frate;
sh_v->frametime = 1 / track->v_frate;
- sh_v->disp_w = track->v_width;
- sh_v->disp_h = track->v_height;
- sh_v->aspect = (float)track->v_dwidth / (float)track->v_dheight;
+ if (!track->realmedia) {
+ sh_v->disp_w = track->v_width;
+ sh_v->disp_h = track->v_height;
+ sh_v->aspect = (float)track->v_dwidth / (float)track->v_dheight;
+ } else {
+ // vd_realvid.c will set aspect to disp_w/disp_h and rederive
+ // disp_w and disp_h from the RealVideo stream contents returned
+ // by the Real DLLs. If DisplayWidth/DisplayHeight was not set in
+ // the Matroska file then it has already been set to PixelWidth/Height
+ // by check_track_information.
+ sh_v->disp_w = track->v_dwidth;
+ sh_v->disp_h = track->v_dheight;
+ }
if (idesc != NULL)
sh_v->ImageDesc = idesc;
mp_msg(MSGT_DEMUX, MSGL_V, "[mkv] Aspect: %f\n", sh_v->aspect);