Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: MythTV: Dev

0.18.2, IOBOUND, ringbuf, and Live TV Jitter

 

 

MythTV dev RSS feed   Index | Next | Previous | View Threaded


dspmisc at speakeasy

Jul 23, 2005, 4:33 PM

Post #1 of 3 (4058 views)
Permalink
0.18.2, IOBOUND, ringbuf, and Live TV Jitter

Regarding the various emails about video jitter...

I see this issue while the file ringbuf1.nuv is growing. Once the file size
stabilizes, I stop seeing IOBOUND errors.

This didn't happen to me when I was running 0.16. Nothing else on my system
changed since then. (DMA has always been enabled, and the ext3 filesystem
disks worked fine back then.)

The IOBOUND and video jitter issues are not seen during scheduled
recordings, so I suspect something is odd about the live TV and/or ring
buffer code.

Is there any debug data I can collect to help resolove this issue?

--davesp


lmaendle at gmx

Jul 23, 2005, 5:24 PM

Post #2 of 3 (3908 views)
Permalink
Re: 0.18.2, IOBOUND, ringbuf, and Live TV Jitter [In reply to]

Hi,
sometimes ago I played around with the following settings in
RingBuffer.cpp to have better result using mythfrontend via 54Mbit
wireless LAN.

//#define TFW_DEF_BUF_SIZE (2*1024*1024)
//#define TFW_MAX_WRITE_SIZE (TFW_DEF_BUF_SIZE / 4)
//#define TFW_MIN_WRITE_SIZE (TFW_DEF_BUF_SIZE / 8)
#define TFW_DEF_BUF_SIZE (64*1024*1024)
#define TFW_MAX_WRITE_SIZE (TFW_DEF_BUF_SIZE / 4)
#define TFW_MIN_WRITE_SIZE (TFW_DEF_BUF_SIZE / 128)

The comment lines are the original settings, with these new settings
I've got good results for recorded programs, but Live-TV had the old
behaviour.

After searching the code I've found this in tv_rec.cpp:

void TVRec::SetupRingBuffer(QString &path, long long &filesize,
long long &fillamount, bool pip)
{
ispip = pip;
filesize = gContext->GetNumSetting("BufferSize", 5);
fillamount = gContext->GetNumSetting("MaxBufferFill", 50);

path = gContext->GetSetting("LiveBufferDir") + QString("/ringbuf%1.nuv")

.arg(m_capturecardnum);

outputFilename = path;

filesize = filesize * 1024 * 1024 * 1024;
fillamount = fillamount * 1024 * 1024;

rbuffer = new RingBuffer(path, filesize, fillamount);
rbuffer->SetWriteBufferMinWriteSize(1); //<<- these line is now
commented out
}

After commenting out the last line in this function, Live-TV over
wireless LAN works reasonable.

Maybe this helps.

Und Tschüß...
Lutz Mändle Internet: lmaendle [at] gmx
Berlin/Germany

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


dspmisc at speakeasy

Jul 23, 2005, 7:02 PM

Post #3 of 3 (3891 views)
Permalink
Re: 0.18.2, IOBOUND, ringbuf, and Live TV Jitter [In reply to]

Lutz,

Sorry -- I applied both of your suggested changes and the issue remained.

The jitters only subsided after the size of the ringbuffer stabilized.

So my original question remains.

--davesp


Lutz Mändle wrote:
> Hi,
> sometimes ago I played around with the following settings in
> RingBuffer.cpp to have better result using mythfrontend via 54Mbit
> wireless LAN.
>
> //#define TFW_DEF_BUF_SIZE (2*1024*1024)
> //#define TFW_MAX_WRITE_SIZE (TFW_DEF_BUF_SIZE / 4)
> //#define TFW_MIN_WRITE_SIZE (TFW_DEF_BUF_SIZE / 8)
> #define TFW_DEF_BUF_SIZE (64*1024*1024)
> #define TFW_MAX_WRITE_SIZE (TFW_DEF_BUF_SIZE / 4)
> #define TFW_MIN_WRITE_SIZE (TFW_DEF_BUF_SIZE / 128)
>
> The comment lines are the original settings, with these new settings
> I've got good results for recorded programs, but Live-TV had the old
> behaviour.
>
> After searching the code I've found this in tv_rec.cpp:
>
> void TVRec::SetupRingBuffer(QString &path, long long &filesize,
> long long &fillamount, bool pip)
> {
> ispip = pip;
> filesize = gContext->GetNumSetting("BufferSize", 5);
> fillamount = gContext->GetNumSetting("MaxBufferFill", 50);
>
> path = gContext->GetSetting("LiveBufferDir") + QString("/ringbuf%1.nuv")
>
> .arg(m_capturecardnum);
>
> outputFilename = path;
>
> filesize = filesize * 1024 * 1024 * 1024;
> fillamount = fillamount * 1024 * 1024;
>
> rbuffer = new RingBuffer(path, filesize, fillamount);
> rbuffer->SetWriteBufferMinWriteSize(1); //<<- these line is now
> commented out
> }
>
> After commenting out the last line in this function, Live-TV over
> wireless LAN works reasonable.
>
> Maybe this helps.
>
> Und Tschüß...
> Lutz Mändle Internet: lmaendle [at] gmx
> Berlin/Germany
>
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev [at] mythtv
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

-----

Original Email:

Regarding the various emails about video jitter...

I see this issue while the file ringbuf1.nuv is growing. Once the file size
stabilizes, I stop seeing IOBOUND errors.

This didn't happen to me when I was running 0.16. Nothing else on my system
changed since then. (DMA has always been enabled, and the ext3 filesystem
disks worked fine back then.)

The IOBOUND and video jitter issues are not seen during scheduled
recordings, so I suspect something is odd about the live TV and/or ring
buffer code.

Is there any debug data I can collect to help resolove this issue?

--davesp

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

MythTV dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.