[mythtv] [mythtv-commits] Ticket #1356: DTVRecorder::FindKeyframes in 0.19 causes video gltiches in firewire recordings
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.
More information about the mythtv-dev