On Sat, Jan 04, 2003 at 12:52:42AM +0200, Ville Syrj�l� wrote:
> Here's a quick attempt at triple buffering. When the surface is flipped
> the old front buffer is left idle until the next flip. So if Flip() 
> doesn't get called faster than what the refresh rate is no tearing should
> occur.

OK.

> No need for vsync.

So no -vsync flag needed with triple buffering?

> I tried it with CRTC2 and BES /w mplayer and it
> seems to work. I've attached a patch to mplayer to make this work.

OK.  I applied both patches and get the following from mplayer trying
to do simply "mplayer -vo dfbmga <file>":

Start playing...
VDec: vo config request - 480 x 480 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
sh->aspect=1.333333
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [dfbmga] 480x480 => 640x480 Planar YV12 
vo_dfbmga: Invalid CRTC2 configuration!
FATAL: Cannot initialize video driver.
init_vo failed

FATAL: Could not initialize video filters (-vop) or video output
(-vo).

alsa-uninit: pcm closed

Exiting... (End of file)

Also given that I got this error, I found a few problems in the
uninit, not checking for valid pointers and the like:

Before "c2frame->Release( c2frame )", c2frame should be checked for
NULL, and before "subframe->Release( subframe )", subframe should be
checked for NULL, and before both "spic->SetOpacity( spic, 0 )" and
"spic->Release( spic )" spic needs to be checked for NULL.

> Does this improve things for anyone? Brian?

Not fair to answer this one yet.  :-)  I have my fingers crossed
though.

I will go code digging while I await your opinion on the problem.
Likely you will beat me to the answer.  :-)

b.

-- 
Brian J. Murrell

Attachment: msg01277/pgp00000.pgp
Description: PGP signature

Reply via email to