[mythtv-commits] Ticket #12150: Force refresh of xf86VidMode current modeline

MythTV noreply at mythtv.org
Sun May 25 07:11:46 UTC 2014


#12150: Force refresh of xf86VidMode current modeline
-------------------------------------+-------------------------------------
 Reporter:  Cédric Schieli           |          Owner:  Cédric Schieli
  <cschieli@…>                       |  <cschieli@…>
     Type:  Patch - Bug Fix          |         Status:  closed
 Priority:  minor                    |      Milestone:  unknown
Component:  MythTV - Video Playback  |        Version:  0.27-fixes
 Severity:  medium                   |     Resolution:  fixed
 Keywords:                           |  Ticket locked:  0
-------------------------------------+-------------------------------------
Changes (by Cédric Schieli <cschieli@…>):

 * owner:   => Cédric Schieli <cschieli@…>
 * status:  new => closed
 * resolution:   => fixed


Comment:

 In [changeset:"b8d5f110581bee170807e32e4c919f6f17e6a9e1/mythtv"]:
 {{{
 #!CommitTicketReference repository="mythtv"
 revision="b8d5f110581bee170807e32e4c919f6f17e6a9e1"
 Force refresh of xf86VidMode current modeline

 After changing the mode with XRRSetScreenConfigAndRate, the modeline
 returned
 by XF86VidModeGetModeLine is wrong until XRRGetScreenInfo is called (at
 least for X.Org 1.14.5 and 1.15.0 with Intel video driver).

 DisplayResX::SwitchToVideo first calls XRRGetScreenInfo, then calls
 XRRSetScreenConfigAndRate. This leads to XF86VidModeGetModeLine always
 returning the previous modeline instead of the current one.

 This was causing juddering in some cases, because the refreshrate used
 in MythPlayer for initializing avsync_predictor is obtained from
 XF86VidModeGetModeLine.

 For example the following scenario was causing me consistent juddering
 every second:

 The display has modelines for 24 Hz, 50 Hz and 60 Hz modes, and the
 desktop
 mode is 60 Hz.
 I first play a 23.976 fps video. The display switches to 24 Hz mode, but
 the
 refreshrate used by avsync_predictor is set to 60. This does not cause
 noticeable judderng. Then, I play a 25 fps video. The display switches to
 50 Hz mode, and the refreshrate is set to 24 (the previous one). Every
 second
 the avsync_predictor kicks in and drops some frames.

 This patch fixes this issue by calling XRRGetScreenInfo after the mode is
 changed by XRRSetScreenConfigAndRate.

 Fixes #12150
 Signed-off-by: Jean-Yves Avenard <jyavenard at mythtv.org>
 }}}

--
Ticket URL: <https://code.mythtv.org/trac/ticket/12150#comment:2>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list