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

Mailing List Archive: ivtv: devel

the application is not reading fast enough

 

 

ivtv devel RSS feed   Index | Next | Previous | View Threaded


md001 at gmx

Jan 17, 2007, 12:17 PM

Post #1 of 11 (3597 views)
Permalink
the application is not reading fast enough

Since using the current trunk, I get this error:

ivtv0: All encoder VBI stream buffers are full. Dropping data.
ivtv0: Cause: the application is not reading fast enough.

As suggested I tested different values of enc mpeg buffers (2, 8, and 16
instead of the default 4), but without any success. The error appears
sometimes a few seconds after starting the application. The pictures freezes
or remains black after a channel switch.

I don`t think that it is a problem of the application. I am not using
mythtv, but vdr. I looked at the myth patches, but this is a totally
differently designed application. vdr is very slim and has always "been fast
enough" with ivtv 0.8x.

The problem exists with at least two different applications and started with
the new trunk. Hans, I really think this is a driver issue!


_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


hverkuil at xs4all

Jan 17, 2007, 12:43 PM

Post #2 of 11 (3530 views)
Permalink
Re: the application is not reading fast enough [In reply to]

On Wednesday 17 January 2007 21:17, Martin Dauskardt wrote:
> Since using the current trunk, I get this error:

'current trunk'? Is that the very latest one? I remember that a previous
version had a bug resulting in these messages, but that should be
fixed.

>
> ivtv0: All encoder VBI stream buffers are full. Dropping data.
> ivtv0: Cause: the application is not reading fast enough.

'encoder VBI'! Has nothing to do with the MPEG buffers, but all with
the /dev/vbi0 device. Do you use /dev/vbi0 at all?

Regards,

Hans

>
> As suggested I tested different values of enc mpeg buffers (2, 8, and
> 16 instead of the default 4), but without any success. The error
> appears sometimes a few seconds after starting the application. The
> pictures freezes or remains black after a channel switch.
>
> I don`t think that it is a problem of the application. I am not using
> mythtv, but vdr. I looked at the myth patches, but this is a totally
> differently designed application. vdr is very slim and has always
> "been fast enough" with ivtv 0.8x.
>
> The problem exists with at least two different applications and
> started with the new trunk. Hans, I really think this is a driver
> issue!
>
>
> _______________________________________________
> ivtv-devel mailing list
> ivtv-devel[at]ivtvdriver.org
> http://ivtvdriver.org/mailman/listinfo/ivtv-devel

_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


md001 at gmx

Jan 17, 2007, 2:25 PM

Post #3 of 11 (3515 views)
Permalink
Re: the application is not reading fast enough [In reply to]

> From: Hans Verkuil <hverkuil[at]xs4all.nl>

> On Wednesday 17 January 2007 21:17, Martin Dauskardt wrote:
> > Since using the current trunk, I get this error:
>
> 'current trunk'? Is that the very latest one? I remember that a previous
> version had a bug resulting in these messages, but that should be
> fixed.

version 0.10.0 (v4l-dvb + ivtv virtual merge) Revision: 3714 loading

>
> >
> > ivtv0: All encoder VBI stream buffers are full. Dropping data.
> > ivtv0: Cause: the application is not reading fast enough.
>
> 'encoder VBI'! Has nothing to do with the MPEG buffers, but all with
> the /dev/vbi0 device. Do you use /dev/vbi0 at all?

it starts with vbi buffers, and after a few seconds also mpeg messages
appear.

Jan 17 23:10:40 linvdr user.debug vdr: [1762] transfer thread started
(pid=1762, tid=1762)
Jan 17 23:10:40 linvdr user.debug vdr: [1763] receiver on device 6 thread
started (pid=1763, tid=1763)
Jan 17 23:10:42 linvdr user.warn kernel: ivtv0: All encoder VBI stream
buffers are full. Dropping data.
Jan 17 23:10:42 linvdr user.warn kernel: ivtv0: Cause: the application is
not reading fast enough.
Jan 17 23:10:42 linvdr user.warn kernel: ivtv0: All encoder VBI stream
buffers are full. Dropping data.

....

Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: All encoder VBI stream
buffers are full. Dropping data.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: Cause: the application is
not reading fast enough.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: All encoder VBI stream
buffers are full. Dropping data.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: Cause: the application is
not reading fast enough.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: All encoder VBI stream
buffers are full. Dropping data.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: Cause: the application is
not reading fast enough.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: All encoder VBI stream
buffers are full. Dropping data.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: Cause: the application is
not reading fast enough.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: All encoder MPEG stream
buffers are full. Dropping data.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: Cause: the application is
not reading fast enough.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: All encoder VBI stream
buffers are full. Dropping data.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: Cause: the application is
not reading fast enough.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: All encoder VBI stream
buffers are full. Dropping data.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: Cause: the application is
not reading fast enough.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: All encoder MPEG stream
buffers are full. Dropping data.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: Cause: the application is
not reading fast enough.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: All encoder VBI stream
buffers are full. Dropping data.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: Cause: the application is
not reading fast enough.
Jan 17 23:10:55 linvdr user.warn kernel: ivtv0: All encoder MPEG stream
buffers are full. Dropping data.

yes, the pvrinput-plugin uses vbi (teletext).


_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


md001 at gmx

Jan 17, 2007, 3:03 PM

Post #4 of 11 (3499 views)
Permalink
Re: the application is not reading fast enough [In reply to]

>> 'encoder VBI'! Has nothing to do with the MPEG buffers, but all with
>> the /dev/vbi0 device. Do you use /dev/vbi0 at all?
>yes, the pvrinput-plugin uses vbi (teletext).

aha! I removed the vbi code in the pvrinput-plugin with an #if 0-loop:

void cPvrReadThread::Action(void)
{
unsigned char buffer[BUFFSIZE];
int r;
struct v4l2_format vbifmt;
struct v4l2_ext_controls ctrls;
struct v4l2_ext_control ctrl;
active = true;
#if 0
if (vbi_fd > 0) {

ctrl.id = V4L2_CID_MPEG_STREAM_VBI_FMT;
ctrl.value = V4L2_MPEG_STREAM_VBI_FMT_IVTV;

ctrls.ctrl_class=V4L2_CTRL_CLASS_MPEG;
ctrls.controls=&ctrl;
ctrls.count=1;

if (ioctl(vbi_fd, VIDIOC_S_EXT_CTRLS, &ctrls) != 0) {
log(0, "Error setting vbi mode, %d:%s", errno, strerror(errno));
}
else {
log(3, "cPvrReadThread::Action: V4L2_CID_MPEG_STREAM_VBI_FMT successfully
set.");
}

vbifmt.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
vbifmt.fmt.sliced.service_set = V4L2_SLICED_TELETEXT_B;
if (ioctl(vbi_fd, VIDIOC_S_FMT, &vbifmt) < 0) {
log(0, "Error setting vbi mode, %d:%s", errno,
strerror(errno));
}
}
#endif
while (active)
{
r = read(video_fd, buffer, BUFFSIZE);
if (r == -1)
{
log(0, "Error reading from video device, %d:%s", errno, strerror(errno));
break;
}
if ((r > 0) && (Paused == 0))
{
ParseProgramStream(buffer, r);
}
}
}


and now it works (of course without teletext)! no more dmesg-errors! Should
I try to increase the enc vbi buffers, or is the vbi-stuff in trunk still in
progress?


_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


hverkuil at xs4all

Jan 17, 2007, 3:07 PM

Post #5 of 11 (3514 views)
Permalink
Re: the application is not reading fast enough [In reply to]

On Wednesday 17 January 2007 23:25, Martin Dauskardt wrote:
> > From: Hans Verkuil <hverkuil[at]xs4all.nl>
> >
> > On Wednesday 17 January 2007 21:17, Martin Dauskardt wrote:
> > > Since using the current trunk, I get this error:
> >
> > 'current trunk'? Is that the very latest one? I remember that a
> > previous version had a bug resulting in these messages, but that
> > should be fixed.
>
> version 0.10.0 (v4l-dvb + ivtv virtual merge) Revision: 3714 loading
>
> > > ivtv0: All encoder VBI stream buffers are full. Dropping data.
> > > ivtv0: Cause: the application is not reading fast enough.
> >
> > 'encoder VBI'! Has nothing to do with the MPEG buffers, but all
> > with the /dev/vbi0 device. Do you use /dev/vbi0 at all?
>
> it starts with vbi buffers, and after a few seconds also mpeg
> messages appear.

Hmm. Are you using select() or poll() to wait for input? I haven't
tested that much. Can you do some logging with ivtvctl -D3? That way
you can see whether data is actually being read.

You can also see how full the queues are by running
v4l2-ctl --log-status.

Regards,

Hans

_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


hverkuil at xs4all

Jan 17, 2007, 3:18 PM

Post #6 of 11 (3516 views)
Permalink
Re: the application is not reading fast enough [In reply to]

On Thursday 18 January 2007 00:03, Martin Dauskardt wrote:
> >> 'encoder VBI'! Has nothing to do with the MPEG buffers, but all
> >> with the /dev/vbi0 device. Do you use /dev/vbi0 at all?
> >
> >yes, the pvrinput-plugin uses vbi (teletext).
>
> aha! I removed the vbi code in the pvrinput-plugin with an #if
> 0-loop:
>
> void cPvrReadThread::Action(void)
> {
> unsigned char buffer[BUFFSIZE];
> int r;
> struct v4l2_format vbifmt;
> struct v4l2_ext_controls ctrls;
> struct v4l2_ext_control ctrl;
> active = true;
> #if 0
> if (vbi_fd > 0) {
>
> ctrl.id = V4L2_CID_MPEG_STREAM_VBI_FMT;
> ctrl.value = V4L2_MPEG_STREAM_VBI_FMT_IVTV;
>
> ctrls.ctrl_class=V4L2_CTRL_CLASS_MPEG;
> ctrls.controls=&ctrl;
> ctrls.count=1;
>
> if (ioctl(vbi_fd, VIDIOC_S_EXT_CTRLS, &ctrls) != 0) {
> log(0, "Error setting vbi mode, %d:%s", errno,
> strerror(errno)); }
> else {
> log(3, "cPvrReadThread::Action: V4L2_CID_MPEG_STREAM_VBI_FMT
> successfully set.");
> }
>
> vbifmt.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
> vbifmt.fmt.sliced.service_set = V4L2_SLICED_TELETEXT_B;
> if (ioctl(vbi_fd, VIDIOC_S_FMT, &vbifmt) < 0) {
> log(0, "Error setting vbi mode, %d:%s", errno,
> strerror(errno));
> }
> }
> #endif
> while (active)
> {
> r = read(video_fd, buffer, BUFFSIZE);
> if (r == -1)
> {
> log(0, "Error reading from video device, %d:%s", errno,
> strerror(errno)); break;
> }
> if ((r > 0) && (Paused == 0))
> {
> ParseProgramStream(buffer, r);
> }
> }
> }
>
>
> and now it works (of course without teletext)! no more dmesg-errors!
> Should I try to increase the enc vbi buffers, or is the vbi-stuff in
> trunk still in progress?

No, that should be OK. Question: are you ever reading from vbi_fd? Or
just using ioctl? This might be a subtle driver bug: it is reading VBI
data to embed into the MPEG stream, but it may think that you at the
same time also try to read it from the vbi0 device. But that is only
true when the vbi0 is actually read from at least once.

So if you actually read from vbi0, then that is the reason for these
messages. If you don't read from vbi0, then it is a driver bug.
Although I don't see why that would also lead to MPEG stream errors.

Regards,

Hans

_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


md001 at gmx

Jan 18, 2007, 11:58 AM

Post #7 of 11 (3497 views)
Permalink
Re: the application is not reading fast enough [In reply to]

ok, it seems as if it is not the pvrinput-plugin (which does only open vbi0 for ioctls, without reading from it) but the teletext-plugin.

The log with ivtvctl -D3:

Jan 18 20:41:38 linvdr user.info kernel: ivtv0 info: ivtv start v4l2 stream
Jan 18 20:41:38 linvdr user.debug vdr: [3798] LIRC remote control thread started (pid=3798, tid=3798)
Jan 18 20:41:38 linvdr user.debug vdr: [3799] KBD remote control thread started (pid=3799, tid=3799)
Jan 18 20:41:38 linvdr user.debug vdr: [3789] remote control KBD - keys known
Jan 18 20:41:38 linvdr user.info vdr: [3789] switching to channel 17
Jan 18 20:41:38 linvdr user.info kernel: ivtv0 info: Setup VBI API header 0x0000bd02 pkts 1 buffs 8 ln 38 sz 64
Jan 18 20:41:38 linvdr user.info kernel: ivtv0 info: Setup VBI start 0x002fea04 frames 8 fpi 1 lines 0x000000f1
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: ENC: PGM Index at 0x00180150 with 400 elements
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: VBI insertion started
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: ivtv start v4l2 stream
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: ENC: read(131072), got 131072
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: close stopping capture
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: close stopping embedded VBI capture
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: Stop Capture
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: Stop Capture
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: Mute
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: v4l2 ioctl: set frequency 9076
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: Unmute
Jan 18 20:41:39 linvdr user.debug vdr: [3789] creating directory /vtx/C-0-567-9076
Jan 18 20:41:39 linvdr user.debug vdr: [3789] setting watchdog timer to 900 seconds
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 warning: DEC: start_decode, stream already started! Stopping
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: Stop Decode at 0, flags: 0
Jan 18 20:41:39 linvdr user.debug vdr: [3801] transfer thread started (pid=3801, tid=3801)
Jan 18 20:41:39 linvdr user.debug vdr: [3802] receiver on device 6 thread started (pid=3802, tid=3802)
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: Starting v4l2_decode (gop_offset 0)
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: Setting some initial decoder settings
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: ivtv start v4l2 stream
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: Decoder VBI RE-Insert start 0x0019ac00 size 0x0000be00
Jan 18 20:41:39 linvdr user.info kernel: ivtv0-fb info: ivtvfb_prep_dec_dma_to_device, 1638400 bytes, 401 pages
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: Setup VBI API header 0x0000bd02 pkts 1 buffs 8 ln 38 sz 64
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: ivtv_unmap_user_dma
Jan 18 20:41:39 linvdr user.info kernel: ivtv0 info: Setup VBI start 0x002fea04 frames 8 fpi 1 lines 0x000000f1
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: ENC: PGM Index at 0x00180150 with 400 elements
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: VBI insertion started
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: ivtv start v4l2 stream
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: ENC: read(131072), got 131072
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: ENC: read(131072), got 131072
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: ENC: read(131072), got 131072
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:40 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
.... (and so on)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:41 linvdr user.info kernel: ivtv0 info: Wrote 1000 bytes to decoder MPEG (0)
Jan 18 20:41:42 linvdr user.info kernel: ivtv0-fb info: ivtvfb_prep_dec_dma_to_device, 1638400 bytes, 401 pages
Jan 18 20:41:42 linvdr user.info kernel: ivtv0 info: ivtv_unmap_user_dma
Jan 18 20:41:42 linvdr user.debug vdr: [3789] assuming manual start of VDR
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: All encoder VBI stream buffers are full. Dropping data.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: Cause: the application is not reading fast enough.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: All encoder VBI stream buffers are full. Dropping data.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: Cause: the application is not reading fast enough.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: All encoder VBI stream buffers are full. Dropping data.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: Cause: the application is not reading fast enough.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: All encoder VBI stream buffers are full. Dropping data.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: Cause: the application is not reading fast enough.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: All encoder VBI stream buffers are full. Dropping data.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: Cause: the application is not reading fast enough.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: All encoder VBI stream buffers are full. Dropping data.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: Cause: the application is not reading fast enough.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: All encoder VBI stream buffers are full. Dropping data.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: Cause: the application is not reading fast enough.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: All encoder VBI stream buffers are full. Dropping data.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: Cause: the application is not reading fast enough.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: All encoder VBI stream buffers are full. Dropping data.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: Cause: the application is not reading fast enough.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: All encoder VBI stream buffers are full. Dropping data.
Jan 18 20:41:43 linvdr user.warn kernel: ivtv0: Cause: the application is not reading fast enough.

Could it be caused by the changes in rev. 3710: "Add new code to retrieve program indices. Does not handle VBI insertion (yet)." ?

--
"Feel free" - 5 GB Mailbox, 50 FreeSMS/Monat ...
Jetzt GMX ProMail testen: http://www.gmx.net/de/go/promail

_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


md001 at gmx

Jan 18, 2007, 12:42 PM

Post #8 of 11 (3495 views)
Permalink
Re: the application is not reading fast enough [In reply to]

if I start it without ivtvctl -D3, the errors appear again -even without teletext-plugin ...
setting ivtvctl -D3 before I start the application, and it works (without teletext-plugin of course)

does this make any sense?? Voodoo? I testedt it several times!
--
"Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail

_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


hverkuil at xs4all

Jan 19, 2007, 2:52 AM

Post #9 of 11 (3480 views)
Permalink
Re: the application is not reading fast enough [In reply to]

On Thursday 18 January 2007 20:58, Martin Dauskardt wrote:
> ok, it seems as if it is not the pvrinput-plugin (which does only open
vbi0 for ioctls, without reading from it) but the teletext-plugin.
>
> The log with ivtvctl -D3:

Based on the log and a peek at the code I can confirm this is a driver
bug. If the vbi device is open, but is never read from, then the driver
erroneously thinks that someone is reading from the vbi device. I'll
see if I can fix that today.

>
> Could it be caused by the changes in rev. 3710: "Add new code to
retrieve program indices. Does not handle VBI insertion (yet)." ?

No. Unrelated.

Regards,

Hans

>
> --
> "Feel free" - 5 GB Mailbox, 50 FreeSMS/Monat ...
> Jetzt GMX ProMail testen: http://www.gmx.net/de/go/promail
>
> _______________________________________________
> ivtv-devel mailing list
> ivtv-devel[at]ivtvdriver.org
> http://ivtvdriver.org/mailman/listinfo/ivtv-devel
>
>

_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


milos at groupwhere

Jan 19, 2007, 3:46 PM

Post #10 of 11 (3475 views)
Permalink
Re: the application is not reading fast enough [In reply to]

FWIW, there is an issue with the nvidia driver for xorg. If GLX is
enabled, this can happen. For me, as soon as I disabled glx the problem
goes away. I use 0.9.1 on 2.6.19 and the latest nvidia driver 9746 for
amd64.

Martin Dauskardt wrote:
> Since using the current trunk, I get this error:
>
> ivtv0: All encoder VBI stream buffers are full. Dropping data.
> ivtv0: Cause: the application is not reading fast enough.
>
> As suggested I tested different values of enc mpeg buffers (2, 8, and 16
> instead of the default 4), but without any success. The error appears
> sometimes a few seconds after starting the application. The pictures freezes
> or remains black after a channel switch.
>
> I don`t think that it is a problem of the application. I am not using
> mythtv, but vdr. I looked at the myth patches, but this is a totally
> differently designed application. vdr is very slim and has always "been fast
> enough" with ivtv 0.8x.
>
> The problem exists with at least two different applications and started with
> the new trunk. Hans, I really think this is a driver issue!
>
>
> _______________________________________________
> ivtv-devel mailing list
> ivtv-devel[at]ivtvdriver.org
> http://ivtvdriver.org/mailman/listinfo/ivtv-devel
>

_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


linuxtv at nzbaxters

Feb 11, 2007, 1:26 PM

Post #11 of 11 (3328 views)
Permalink
Re: the application is not reading fast enough [In reply to]

> On Thursday 18 January 2007 20:58, Martin Dauskardt wrote:
>> ok, it seems as if it is not the pvrinput-plugin (which does only open
> vbi0 for ioctls, without reading from it) but the teletext-plugin.
>>
>> The log with ivtvctl -D3:
>
> Based on the log and a peek at the code I can confirm this is a driver
> bug. If the vbi device is open, but is never read from, then the driver
> erroneously thinks that someone is reading from the vbi device. I'll
> see if I can fix that today.
>

Martin, did this fix this "VBI stream buffers are full" problem for you??

I'm also running VDR/pvrinput (with the v4l2 IOCTL changes)


[vdruser[at]media pvrinput]$ diff -Naur device.c device.c.org
--- device.c 2007-02-12 10:22:01.000000000 +1300
+++ device.c.org 2007-02-12 10:24:14.000000000 +1300
@@ -404,29 +404,29 @@
struct v4l2_ext_control ctrl;
active = true;

-// if (vbi_fd > 0) {
-//
-// ctrl.id = V4L2_CID_MPEG_STREAM_VBI_FMT;
-// ctrl.value = V4L2_MPEG_STREAM_VBI_FMT_IVTV;
-//
-// ctrls.ctrl_class=V4L2_CTRL_CLASS_MPEG;
-// ctrls.controls=&ctrl;
-// ctrls.count=1;
-//
-// if (ioctl(vbi_fd, VIDIOC_S_EXT_CTRLS, &ctrls) != 0) {
-// log(0, "Error setting vbi mode, %d:%s", errno,
strerror(errno));
-// }
-// else {
-// log(3, "cPvrReadThread::Action:
V4L2_CID_MPEG_STREAM_VBI_FMT successfully set.");
-// }
-//
-// vbifmt.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
-// vbifmt.fmt.sliced.service_set = V4L2_SLICED_TELETEXT_B;
-// if (ioctl(vbi_fd, VIDIOC_S_FMT, &vbifmt) < 0) {
-// log(0, "Error setting vbi mode, %d:%s", errno,
strerror(errno));
-// }
-// }
-//
+ if (vbi_fd > 0) {
+
+ ctrl.id = V4L2_CID_MPEG_STREAM_VBI_FMT;
+ ctrl.value = V4L2_MPEG_STREAM_VBI_FMT_IVTV;
+
+ ctrls.ctrl_class=V4L2_CTRL_CLASS_MPEG;
+ ctrls.controls=&ctrl;
+ ctrls.count=1;
+
+ if (ioctl(vbi_fd, VIDIOC_S_EXT_CTRLS, &ctrls) != 0) {
+ log(0, "Error setting vbi mode, %d:%s", errno,
strerror(errno));
+ }
+ else {
+ log(3, "cPvrReadThread::Action:
V4L2_CID_MPEG_STREAM_VBI_FMT successfully set.");
+ }
+
+ vbifmt.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
+ vbifmt.fmt.sliced.service_set = V4L2_SLICED_TELETEXT_B;
+ if (ioctl(vbi_fd, VIDIOC_S_FMT, &vbifmt) < 0) {
+ log(0, "Error setting vbi mode, %d:%s", errno,
strerror(errno));
+ }
+ }
+
while (active)
{
r = read(video_fd, buffer, BUFFSIZE);




_______________________________________________
ivtv-devel mailing list
ivtv-devel[at]ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

ivtv devel 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.