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

Daniel Kristjansson danielk at cuymedia.net
Fri Feb 24 21:46:01 UTC 2006


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.

-- Daniel



More information about the mythtv-dev mailing list