Opened 13 years ago

Closed 13 years ago

#3466 closed patch (fixed)

[13435] breaks the Guide video on some setups

Reported by: stuartm Owned by: danielk
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Stuart Auchterlonie Ticket locked: no

Description

I can't explain it, but on one of my frontends the guide video works in [13434] but doesn't in [13435]. A handful of other users have noticed the same thing.

Attachments (4)

XF86Config (2.6 KB) - added by stuartm 13 years ago.
X Config
xorg.conf (3.6 KB) - added by mythtv-dev@… 13 years ago.
Additional Xorg.conf
3466-dbg-v1.patch (9.0 KB) - added by danielk 13 years ago.
This should allow HW composited video to work again in EPG
3466-v1.patch (6.7 KB) - added by danielk 13 years ago.
Fix patch for this problem

Download all attachments as: .zip

Change History (18)

comment:1 Changed 13 years ago by danielk

Owner: changed from Isaac Richards to danielk

Can you expound on doesn't work? Does it never get painted, only get painted after you drag a window over the area, or just randomly gets painted with a video image?

Also, what kind of video output method are you using?

All this does is skip the drawing of some black rectangles. The only thing I can think of is that the video output method you are using doesn't tell anyone that it has spoiled the framebuffer and needs repainting and the drawing of the black rectangles was inadvertently telling X11 to do the repainting.

comment:2 Changed 13 years ago by stuartm

Sorry, I realised I wasn't verbose enough in the original explanation but you saw the ticket before I had a chance to add to it.

The video never gets painted - nothing at all is drawn where it should be except for the page background. I can't easily test dragging a window over as it's a standalone frontend with no mouse or keyboard, but if that will help I'll give it a go.

As far as the question of video output methods - I don't really know the correct answer to this question so I hope you can derive that information from my the following: I'm outputting to the TV-out of a Nvidia card using the proprietary drivers. Nothing special like a framebuffer. Xv and opengl-vsync are compiled in but xvmc is not.

comment:3 Changed 13 years ago by danielk

StuartM, if you attach your xorg.conf and tell me which nVidia card and driver revision you are using this will tell me how the drawing is being done, XVideo overlay or texture.

You don't need to drag a window, if you could just pop-up an XTerm or any other X program covering that spot and then close it this will force Xorg to repaint.

FYI I now have enough info to try to reproduce this, but probably won't have time until next week. I would love the additional info though.

comment:4 Changed 13 years ago by Simon Kenyon <simon@…>

i reported this on -dev. i built two frontends with 13456. one is my laptop (pentium m) the other is an amd64

the laptop has the problem, the amd64 does not. my laptop is using "standard". it has an ATI Mobility Radeon video controller. the amd64 has an nvidia motherboard chipset with onboard video (Asus A8n-VM CSM.

comment:5 Changed 13 years ago by stuartm

The card is a GF4 MX440, using nvidia driver revision 9631.

xorg config attached.

Repainting tests will have to wait until tomorrow or Friday.

Changed 13 years ago by stuartm

Attachment: XF86Config added

X Config

comment:6 Changed 13 years ago by Stuart Auchterlonie

Cc: Stuart Auchterlonie added

I'm seeing this as well. Where the preview video should be i just see "Loading Preview Video"

Changed 13 years ago by mythtv-dev@…

Attachment: xorg.conf added

Additional Xorg.conf

comment:7 Changed 13 years ago by mythtv-dev@…

I'm having the same issue as well but thought I would add some further information to help. I'm running a GeForce? FX 5200 on Fedora Core 5 using the 8756 revision of the nvidia drivers.

I've added my xorg.conf as well.

I've also tried opening an Xterm in front of the preview pane and moved it around. It did *not* cause the video to appear, so I'm guessing it's not a redraw issue, more of a no-draw issue.

Let me know if I can be of more help.

comment:8 Changed 13 years ago by danielk

It looks like both of you are using pre-6xxx nvidia cards and you don't tell the drivers to use the 3D hardware for drawing in the xorg.conf. This means you are probably using the dedicated XVideo overlay hardware.

This is useful. I probably just need to replace the "Loading Preview Video" with something drawn in the current chromakey to get these cards to work. You can verify this by setting the xterm background color to the chromakey color and placing it over the video preview section of the guide.

Changed 13 years ago by danielk

Attachment: 3466-dbg-v1.patch added

This should allow HW composited video to work again in EPG

comment:9 Changed 13 years ago by danielk

Please try the attached patch. It should fix the problem. (It will draw green borders on letterboxed video (for debugging) and leave some chaff behind on aspect ratio changes.)

comment:10 Changed 13 years ago by Stuart Auchterlonie

That seems to the trick, lots of debugging green all over the place exactly where expected.

Stuart

comment:11 Changed 13 years ago by mythtv-dev@…

And me too. All working as predicted. Thanks for the quick work.

Changed 13 years ago by danielk

Attachment: 3466-v1.patch added

Fix patch for this problem

comment:12 Changed 13 years ago by danielk

Type: defectpatch

I've created a patch based on the input from the debugging patch.

This should still fix the XVideo overlay problem, and also avoid the black flashing in the video that the debugging patch increased greatly for the other playback modes.

comment:13 Changed 13 years ago by james.meyer@…

patch 3466-v1 has the fixed the problem for my setup. It does take longer then before for the preview to appear, but it's working.

comment:14 Changed 13 years ago by danielk

Resolution: fixed
Status: newclosed

(In [13617]) Fixes #3466. Refs #3410. This fixes preview for XVideo chromkeyed video in the program guide video preview caused by the fix for #3410, and fixes a longstanding bug that caused the video to 'flash' with other video renderers in the preview.

The fix for the DrawUnusedRects?() being drawn in the wrong place in #3410 disabled the drawing of the chromakey color causing chromakeyed video to be hidden from view. This patch instead makes the guidegrid call DrawUnusedRects?() when it is thread safe to do so.

It turned out that DrawUnusedRects?() was also causing flashing whenever there was a prebuffering pause during playback, so this fixes that problem as well.

Note: See TracTickets for help on using tickets.