Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: VDR's first step towards NAPI
On Sunday 22 April 2001 10:52 pm, Klaus Schmidinger wrote:
> > Does this include the updated tuning code Dave Chapman wrote about in
> > http://www.linuxtv.org/mailinglists/linux-dvb/msg04381.html? Channel
> > switching works much better with VDR than with the driver's tool
> > (n)tuxzap! I can also reproduce Peter Seyringer's initialization problem
> > (http://www.linuxtv.org/mailinglists/linux-dvb/msg04385.html).
>
> This is the "latest greatest" test version I have and contains
> everything I have received from Dave. It's (of course) not yet an
> "official release".
>
I'm still working on that problem....
> > Sometimes, I will also get the following error at the start of the
> > recording:
> >
> > [REST OF LOG DELETED]
> > Apr 22 22:46:00 vdr vdr[918]: ERROR (dvbapi.c,752): Unknown error 769
I get this error very frequently when playing with the tuning facilities of
the driver (i.e. just tuning - not setting any filters). Once I get one, I
get them every time I call QPSK_GET_EVENT until I reload the driver.
>
> This error number is defined by the driver as EBUFFEROVERFLOW and happens
> at the beginning of a recording, when the driver's internal buffer hasn't
> been emptied in time. I haven't figured out yet how to start the DMX when
> the recording is to start (not when the channel is tuned). With
> DMX_OUT_TS_TAP one can apparently only use DMX_IMMEDIATE_START.
>
> I wonder if there is a way to tune to a channel and then (at a later time)
> start recording - or do we have to know whether we will be recording when
> tuning the channel, and use either DMX_IMMEDIATE_START or '0' as
> pesFilterParams.flags?
>
Yes. When you tune the channel for viewing only, use DMX_OUT_DECODER - this
tells the driver to filter the PES stream and send it to the decoder. When
you want to start recording, call the filter again, but this time using
DMX_OUT_TS_TAP - this tells the tuner to send the stream to both the decoder
and /dev/ost/dvr. Once you stop recording, you can then change the filter
back to DMX_OUT_DECODER again. All the other parameters (including the demux
file descriptor) should be the same.
This has been mentioned on the list a few times, and isn't obvious from the
API docs - DMX_OUT_TS_TAP should more logically be called
DMX_OUT_DECODER_AND_TS_TAP - or you should be able to OR the two flags.
Looking at your latest VDR, it seems that you always set the output
destination of the filter to DMX_OUT_TS_TAP - maybe this is causing problems.
It is definitely causing the driver to do unneccesary work - i.e. filling
and constantly overflowing the /dev/ost/dvr buffer.
Your ForRecording flag is the right thing to have - you just need to finish
implementing it - it is currently always True.
This is all from my experience - if I'm wrong, I hope that someone will
correct me.
Regards,
Dave.
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index