[mythtv] OSD Tearing in Trunk w VDPAU
R. G. Newbury
newbury at mandamus.org
Tue May 19 00:43:18 UTC 2009
Mark Kendall wrote:
> 2009/5/9 R. G. Newbury <newbury at mandamus.org>:
>> I mentioned this a couple of weeks ago, and got no response.
>> Last night I updated from trunk 20070 to 20507
>>
>> On 20070, the OSD would tear across the screen, but bookmarking my place,
>> exiting the show and re-entering playback then gave a clean OSD.
>>
>> With 20507, the OSD is always torn. Makes no difference which OSD theme I
>> use.
>>
>> What is weird of course, is that it is just the OSD, the picture underneath
>> is fine.
>
> Geoff
>
> Can you please open a ticket on trac and attach the output from
> 'mythfrontend -v playback'.
>
> btw - when you say 'torn', do you mean the osd is 'smeared' across the
> screen at about 45 degrees, with perhaps some colour problems as well?
> or is it something else? (a screenshot would be invaluable if it is
> something else)
> Mark
Mark, As noted, the OSD started showing tearing with SVN 20070 (I jumped
up from 195xx or so). Bur it could be re-set, by bookmarking, exiting
and re-starting playback.
SVN 20507 exhibited tearing which would not go away. I tried changing
the OSD themes and using OpenGL instead of Qt. No joy.
As part testing exactly what was happening, I updated to SVN 20580.
And the problem has disappeared!
This is a chunk of output from the log.
*************************
2009-05-15 22:44:25.117 TV: SetActive(0,w/o OSD) 0 -> 0 -- begin
2009-05-15 22:44:25.117 TV: SetActive(0,w/o OSD) 0 -> 0 -- end
2009-05-15 22:44:25.157 VDPAU Error: Error at util-vdpau.cpp:1349 (#20,
The size of a supplied
object does not match the object it is being used with.)
2009-05-15 22:44:25.158 TV: HandleStateChange(0) -- begin
2009-05-15 22:44:25.158 TV: Attempting to change from Watching
WatchingPreRecorded to None
2009-05-15 22:44:25.158 TV: StopStuff() for player ctx 0 -- begin
2009-05-15 22:44:25.158 TV: SetActive(0,w/o OSD) 0 -> 0 -- begin
2009-05-15 22:44:25.158 TV: SetActive(0,w/o OSD) 0 -> 0 -- end
2009-05-15 22:44:25.158 TV: StopStuff(): stopping ring buffer
2009-05-15 22:44:25.167 NVP(4): Exited decoder loop.
2009-05-15 22:44:25.174 VDPAU Error: Error at util-vdpau.cpp:1349 (#20,
The size of a supplied
object does not match the object it is being used with.)
2009-05-15 22:44:25.190 ~OpenGLVideoSync() -- closing opengl vsync
2009-05-15 22:44:25.190 GLCtx: Deleting OpenGL Resources
2009-05-15 22:44:25.191 GLCtx: Unmapping gl window
2009-05-15 22:44:25.191 GLCtx: Destroying gl window
2009-05-15 22:44:25.191 GLCtx: Destroying glx context
2009-05-15 22:44:25.194 GLCtx: Closing display
2009-05-15 22:44:25.194 VideoOutputXv: dtor
2009-05-15 22:44:25.194 VideoOutputXv: DiscardFrames(1)
2009-05-15 22:44:25.194 VideoBuffers::DiscardFrames(1): ADDDUUUUUUUUUuUUL
2009-05-15 22:44:25.194 VideoBuffers::DiscardFrames(): ADDDAAAAAAAAAAAAA
-- done()
2009-05-15 22:44:25.194 VideoBuffers::DiscardFrames(1):
ADDDAAAAAAAAAAAAA -- done
2009-05-15 22:44:25.194 VideoOutputXv: DiscardFrames() 3:
ADDDAAAAAAAAAAAAA -- done()
2009-05-15 22:44:25.198 TV: StopStuff(): stopping player
2009-05-15 22:44:25.198 TV: StopStuff() -- end
2009-05-15 22:44:25.198 TV: Changing from Watching WatchingPreRecorded
to None
*************************
Line 1349 of util-vdpau.cpp is the CHECK_ST macro, last line of this chunk;
vdp_st = vdp_presentation_queue_display(
vdp_flip_queue,
outputSurface,
outRect.x1,
outRect.y1,
now
);
CHECK_ST
Glad to be able to say that this got fixed! I've been too busy to take a
look at the commits to see what might have been the actual source of the
problem. But whatever got reverted fixed it!
Geoff
--
Please let me know if anything I say offends you.
I may wish to offend you again in the future.
More information about the mythtv-dev
mailing list