[mythtv] [mythtv-commits] Ticket #1356: DTVRecorder::FindKeyframes in 0.19 causes video gltiches in firewire recordings

Jim Westfall jwestfall at surrealistic.net
Sat Feb 25 16:30:30 UTC 2006


Daniel Kristjansson <danielk at cuymedia.net> wrote [02.24.06]:
> On Fri, 2006-02-24 at 13:42 -0800, Jim Westfall wrote:
> > Daniel Kristjansson <danielk at cuymedia.net> wrote [02.24.06]:
> > > On Fri, 2006-02-24 at 10:10 -0500, Steven Adeff wrote:
> > > > On 2/24/06, MythTV <mythtv at cvs.mythtv.org> wrote:
> > > > >  What is needed is buffering between the device read and ProcessTSPacket.
> > > > >
> > > > >  See ticket #712.
> > > > Daniel, is it safe to add your patch from #712 to 0.19 for testing?
> > > 
> > > Maybe, but it won't help with firewire. That patch only changes the
> > > buffering for HDTVRecorder. HDTVRecorder is already buffered, that
> > > patch just makes it use the same buffering as the DVBRecorder.
> > > Someone needs to make the same changes that were made to DVBRecorder
> > > to the FirewireRecorder. It is not terribly high on my to do list;
> > > I don't have the firewire recorder working here...
> > > 
> > 
> > What would be the preferred way to go about doing this?  DeviceReadBuffer 
> > strictly reads data from an fd, which isnt how we get data from the 
> > firewire device.  There is a callback function that hands us tspackets.
> > 
> > I am thinking I could add a push_data(char*,len) to DeviceReadBuffer that 
> > allows you to put data onto the buffer.  Then have a push_only option 
> > that makes the main running loop sleep();continue; to bypass all the fd 
> > related polling/reading.
> 
> Seems reasonable, but you really don't have to use that class unless it
> is useful to you. Also, you would probably want to use QWaitCondition
> on the data instead of a sleep();continue; busy loop.
> 

I did some poking around libraw/libiec61883 last night and I dont think we 
need to do any buffering in myth.  libiec61883 has libraw/kernel setup a 
1000 packet buffer.  We have access to change the size, but if the buffer 
gets completely full we should get drop packet notices.

jim


More information about the mythtv-dev mailing list