Bug 4653 - Xv ReputImage not called if overlay once entirely off-screen
Summary: Xv ReputImage not called if overlay once entirely off-screen
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/DDX/Xorg (show other bugs)
Version: git
Hardware: All Linux (All)
: medium normal
Assignee: Luc Verhaegen
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: xorg-7.6
  Show dependency treegraph
 
Reported: 2005-09-30 12:30 UTC by Thomas Winischhofer
Modified: 2010-06-18 07:08 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Thomas Winischhofer 2005-09-30 12:30:29 UTC
[From my mail to the xorg list, slightly edited]

Xv's ReputImage is used to ... reput the image. It is, among other places,
called by XVAdjustFrame() to inform the driver about the new coordinates of the
overlay.

If the frame (viewport) is located so that the overlay would not be visible at
all, XVAdjustFrame does not call ReputImage, but does the same as it does if the
driver has not provided a ReputImage function: It stops the video and removes
the port from the window. The latter leads to IsOn being set to XV_PENDING.

Once the overlay is entirely off-screen, even if I pan back so that it would be
(partly) visible, it does not reappear. Why? Because in XVAdjustFrame(), the
eventual call to ReputImage is only executed if IsOn == XV_ON. In case the other
alternative was called previously, IsOn is XV_PENDING as said.
Comment 1 Daniel Stone 2007-02-27 01:28:16 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 2 Daniel Stone 2009-08-31 18:02:26 UTC
not going to be fixed for 7.5 ... anyway, if StopVideo is called, presumably the client's been notified (i haven't checked), so calling ReputImage would definitely violate the principle of least surprise?
Comment 3 Luc Verhaegen 2009-11-11 01:35:59 UTC
StopVideo here being the drivers StopVideo callback. Has absolutely nothing to do with any client.

What Thomas describes is correct, and i have a fix for adjustframe at this time. Still need to fix VT switch.
Comment 4 Luc Verhaegen 2009-11-11 06:57:13 UTC
Fixed when a22bc20721bad506d8fa9772b1258568cbffe7d2 (as sent to xorg-devel@lists.x.org) hits an xserver anywhere.
Comment 5 Luc Verhaegen 2009-11-17 23:38:48 UTC
since no-one is taking in the patch.
Comment 6 Alan Coopersmith 2010-06-18 07:08:09 UTC
Looks like this fix was committed as:
http://cgit.freedesktop.org/xorg/xserver/commit/?id=0e084d8c71e697a5cf5d5d7c749455ae14bd6eb7

so closing the bug.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.