[mythtv] LiveTV BufferSize in MB instead of GB?
David Armstrong
stretch at flat24.org
Sun May 22 22:07:33 UTC 2005
Hi,
Can the "BufferSize" setting for livetv be changed to specify size in MB
instead of GB? On my MythTV box I have a EPIA M10k 512MB box running
both front and backends; livetv buffer is on a tmpfs partition to
eliminate the hard drive ticking, and buffersize set to 384MB. I have
been running this way since v0.17 with no problems, aside from the
obvious limitation on how long I can pause.
Attached is a patch against 0.18 that achieves the above, with two
TODOs. Firstly i'm not sure my default and max sizes will suit everyone
(128MB default, 128MB increments on the slider, 4096MB max), secondly
how to handle upgrades. Clearly simply changing the meaning (from GB to
MB) of this setting where existing users have something like "1" wont be
very helpful. I'm aware there must be code somewhere that detects a
version upgrade and sorts out the database accordingly, if someone could
point me in the right direction i'll get to work on adding something.
I would appreciate any feedback or suggestions.
thanks,
David.
-------------- next part --------------
diff -ur mythtv-0.18/libs/libmythtv/tv_rec.cpp mythtv-0.18-patched/libs/libmythtv/tv_rec.cpp
--- mythtv-0.18/libs/libmythtv/tv_rec.cpp 2005-04-03 17:42:10.000000000 +0100
+++ mythtv-0.18-patched/libs/libmythtv/tv_rec.cpp 2005-05-01 11:35:00.000000000 +0100
@@ -1754,7 +1754,7 @@
long long &fillamount, bool pip)
{
ispip = pip;
- filesize = gContext->GetNumSetting("BufferSize", 5);
+ filesize = gContext->GetNumSetting("BufferSize", 128);
fillamount = gContext->GetNumSetting("MaxBufferFill", 50);
path = gContext->GetSetting("LiveBufferDir") + QString("/ringbuf%1.nuv")
@@ -1762,7 +1762,7 @@
outputFilename = path;
- filesize = filesize * 1024 * 1024 * 1024;
+ filesize = filesize * 1024 * 1024;
fillamount = fillamount * 1024 * 1024;
rbuffer = new RingBuffer(path, filesize, fillamount);
diff -ur mythtv-0.18/setup/backendsettings.cpp mythtv-0.18-patched/setup/backendsettings.cpp
--- mythtv-0.18/setup/backendsettings.cpp 2005-03-28 00:53:22.000000000 +0100
+++ mythtv-0.18-patched/setup/backendsettings.cpp 2005-05-01 11:35:00.000000000 +0100
@@ -138,8 +138,8 @@
static HostSlider *BufferSize()
{
- HostSlider* gc = new HostSlider("BufferSize", 1, 100, 1);
- gc->setLabel(QObject::tr("Live TV buffer (GB)"));
+ HostSlider* gc = new HostSlider("BufferSize", 128, 4096, 128);
+ gc->setLabel(QObject::tr("Live TV buffer (MB)"));
gc->setValue(5);
gc->setHelpText(QObject::tr("How large the live TV buffer is allowed to "
"grow."));
More information about the mythtv-dev
mailing list