Permalink
Browse files

Remove the dvd drive speed setting

Reasons for this include:

In testing dvd playback was most consistent error free at just 1x whereas speeds
up to the maximum of 12x were liable to result in the drive spinning down
between reads causing video buffers to starve.

1x is the quietest speed so it also has that going for it.

Removing drive speed as a variable means we can more easily tune read buffers
to work for everyone.

Fewer settings means a simpler configuration and end-user experience.

Higher speeds did not significantly improve seek or playback start times. I also
tested various discs with timestretch at 1.5x and observed no issues with drive
speed at 1x.
  • Loading branch information...
1 parent bfe8fbe commit c54b2050b319dd6bede4385594738b5ebc104c3c @stuartm stuartm committed Jan 8, 2012
Showing with 5 additions and 17 deletions.
  1. +5 −4 mythtv/libs/libmythtv/dvdringbuffer.cpp
  2. +0 −13 mythtv/programs/mythfrontend/videoglobalsettings.cpp
@@ -19,6 +19,8 @@
if (++m_buttonVersion > 1024) \
m_buttonVersion = 1;
+#define DVD_DRIVE_SPEED 1
+
static const char *dvdnav_menu_table[] =
{
NULL,
@@ -209,7 +211,7 @@ long long DVDRingBuffer::Seek(long long pos, int whence, bool has_lock)
if (ret >= 0)
{
readpos = ret;
-
+
ignorereadpos = -1;
if (readaheadrunning)
@@ -1684,14 +1686,13 @@ double DVDRingBuffer::GetFrameRate(void)
return dvdfps;
}
-/** \brief set dvd speed. uses the DVDDriveSpeed Setting from the settings
+/** \brief set dvd speed. uses the constant DVD_DRIVE_SPEED
* table
*/
void DVDRingBuffer::SetDVDSpeed(void)
{
QMutexLocker lock(&m_seekLock);
- int dvdDriveSpeed = gCoreContext->GetNumSetting("DVDDriveSpeed", 12);
- SetDVDSpeed(dvdDriveSpeed);
+ SetDVDSpeed(DVD_DRIVE_SPEED);
}
/** \brief set dvd speed.
@@ -160,18 +160,6 @@ HostComboBox *SetOnInsertDVD()
return gc;
}
-HostSlider *SetDVDDriveSpeed()
-{
- HostSlider *gs = new HostSlider("DVDDriveSpeed", 2, 12, 2);
- gs->setLabel(QObject::tr("DVD Drive Speed"));
- gs->setValue(12);
- gs->setHelpText(QObject::tr("Set DVD Drive Speed during DVD Playback. "
- "Speed is in multiples of 177KB/s. "
- "Slower speeds may reduce drive noise but in "
- "some cases it causes playback to stutter."));
- return gs;
-}
-
HostCheckBox *VideoTreeRemember()
{
HostCheckBox *gc = new HostCheckBox("mythvideo.VideoTreeRemember");
@@ -295,7 +283,6 @@ VideoGeneralSettings::VideoGeneralSettings()
VConfigPage page2(pages, false);
page2->addChild(SetOnInsertDVD());
- page2->addChild(SetDVDDriveSpeed());
page2->addChild(VideoTreeRemember());
// page 3

0 comments on commit c54b205

Please sign in to comment.