diff options
Diffstat (limited to 'ui/gl/sync_control_vsync_provider.cc')
-rw-r--r-- | ui/gl/sync_control_vsync_provider.cc | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/ui/gl/sync_control_vsync_provider.cc b/ui/gl/sync_control_vsync_provider.cc index 16b1e8a..66d3734 100644 --- a/ui/gl/sync_control_vsync_provider.cc +++ b/ui/gl/sync_control_vsync_provider.cc @@ -125,16 +125,23 @@ void SyncControlVSyncProvider::GetVSyncParameters( if (relative_change < kRelativeIntervalDifferenceThreshold) { if (new_interval.InMicroseconds() < kMinVsyncIntervalUs || new_interval.InMicroseconds() > kMaxVsyncIntervalUs) { - LOG(FATAL) << "Calculated bogus refresh interval of " - << new_interval.InMicroseconds() << " us. " - << "Last time base of " << last_timebase_.ToInternalValue() - << " us. " - << "Current time base of " << timebase.ToInternalValue() - << " us. " - << "Last media stream count of " - << last_media_stream_counter_ << ". " - << "Current media stream count of " << media_stream_counter - << "."; +#if defined(USE_ASH) + // On ash platforms (ChromeOS essentially), the real refresh interval is + // queried from XRandR, regardless of the value calculated here, and + // this value is overriden by ui::CompositorVSyncManager. The log + // should not be fatal in this case. Reconsider all this when XRandR + // support is added to non-ash platforms. + // http://crbug.com/340851 + LOG(ERROR) +#else + LOG(FATAL) +#endif // USE_ASH + << "Calculated bogus refresh interval=" + << new_interval.InMicroseconds() + << " us., last_timebase_=" << last_timebase_.ToInternalValue() + << " us., timebase=" << timebase.ToInternalValue() + << " us., last_media_stream_counter_=" << last_media_stream_counter_ + << ", media_stream_counter=" << media_stream_counter; } else { last_good_interval_ = new_interval; } |