New ivtv error from mythtv: ivtv0: All encoder MPEG stream buffers are full. Dropping data

I’ve upgraded ivtv to 0.4.2 in the hopes of ridding myself of regular dropouts, but no luck. It’s also on a new motherboard (in case it was some motherboard/chipset bug that was causing it), but I’m still having problems.

I first wrote about the ivtv problem a few months ago, and while it’s pretty much gone it still does occur every once in a while.

One huge improvement over previous versions is that it doesn’t spew errors forever, it just says (once per “issue”):

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

I’m going to try increasing the mpeg buffers to see if it goes away, but I don’t hold out much hope.

3 Responses to “New ivtv error from mythtv: ivtv0: All encoder MPEG stream buffers are full. Dropping data”

  1. Ok, I know I could probably find it when I start digging through the ivtv wiki but I’ll just ask you: How do you increase the mpeg buffers?
    Cause I have the same message in dmesg 35 times!
    Maybe I should just throw more RAM at this thing.

  2. FWIW, it didn’t seem to help, but there’s just some arguments to pass to ivtv to increase the buffers. How you do it will depend on your distribution, but for me with knoppmyth I edited /etc/mythtv/modules/ivtv and added the line:

    options ivtv yuv_buffers=32 mpg_buffers=16 vbi_buffers=16 pcm_buffers=16 dec_osd_buffers=2

    those are the maximum amounts for all those buffers.

    then run:

    update-modules && rmmod ivtv && modprobe ivtv

    although ivtv can’t be in use, so that means that mythtv can’t be recording.

    If it works, instead of seeing:

    ivtv0: Allocate DMA encoder MPEG stream: 128 x 32768 buffers (4096KB total)

    you should see:

    ivtv0: Allocate DMA encoder MPEG stream: 512 x 32768 buffers (16384KB total)

  3. SirTalkalot Says:

    I experienced the exact same problem after a reboot of my mythtv system
    (with PVR-250 & PVR-500).

    cat /dev/video0
    (as well as for /dev/video1 & /dev/video2) worked fine, but recording from mythtv (0.18.1-r2) resulted in the annoying errors:

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

    Upgrading from 0.4.2 to 0.4.3 did not change anything. Noticed that the bttv moduled had not been loaded (due to conflict with the tveeprom module), and hence the video_buf was not in use. Using the kernel tveeprom module (as opposed to the one from the ivtv project) fixed the problem with bttv, but still experienced problems with full stream buffers.

    Checking the mythbackend.log I noticed several entries of the type:

    Can’t open file: ‘recordedmarkup.MYI’. (errno: 145)

    The last entry of that file had been added just prior to my reboot (after which the buffer errors started appearing). Now I seemed to be on the track of something! Checking the file:

    myisamchk /var/lib/mysql/mythconverg/recordedmarkup.MYI

    returned message about corrupt file. Fixing it:

    myisamchk -r /var/lib/mysql/mythconverg/recordedmarkup.MYI

    and now my system seems to be back on track! No more buffer errors in dmesg and rewinding my mythtv recordings is instant.

    I guess the corrupt file was a result of a recording filling the partition. I really should have gone for a separate ‘/var’ partition …

Leave a Reply