I've started playing with that query but it's already fairly optimized.  It
seems to me that the only real solution is to put the database on another
machine with a whole lot of RAM.  Right now I'm up to one backend which has
two PVR-150s for recording, one backend/frontend with a PVR-350 for viewing
and recording, one backend which has no encoders for storage only, one
backend/frontend which as the master backend.

I thought that isolating each of the jobs would help, but even on the latest
trunk with enc_mpg_buffers=16 I'm still getting the:

Jan 23 23:00:26 mythcorder kernel: ivtv1: All encoder MPEG stream buffers
are full. Dropping data.
Jan 23 23:00:26 mythcorder kernel: ivtv1: Cause: the application is not
reading fast enough.
Jan 23 23:00:26 mythcorder kernel: ivtv1: All encoder MPEG stream buffers
are full. Dropping data.
Jan 23 23:00:26 mythcorder kernel: ivtv1: Cause: the application is not
reading fast enough.
Jan 23 23:00:26 mythcorder kernel: ivtv1: All encoder MPEG stream buffers
are full. Dropping data.
Jan 23 23:00:26 mythcorder kernel: ivtv1: Cause: the application is not
reading fast enough.
Jan 23 23:00:26 mythcorder kernel: ivtv1: All encoder MPEG stream buffers
are full. Dropping data.
Jan 23 23:00:26 mythcorder kernel: ivtv1: Cause: the application is not
reading fast enough.

It happens on both boxes that do encoding, usually at the beginning of the
recording, but sometimes you'll be watching a recording and it will have
done it halfway through.  It's the worst when you miss the build-up to a
joke and you only catch the punchline.

dmesg output from my main encoder:

ivtv:  ==================== START INIT IVTV ====================
ivtv:  version 0.10.0 (development snapshot compiled on Tue 23 Jan 2007
11:52:32 AM EST) loading
ivtv:  Linux version: 2.6.18-1.2849.fc6 SMP mod_unload 686 REGPARM 4KSTACKS
gcc-4.1
ivtv:  In case of problems please include the debug info between
ivtv:  the START INIT IVTV and END INIT IVTV lines, along with
ivtv:  any module options, when mailing the ivtv-users mailinglist.
ivtv0: Autodetected Hauppauge card (cx23416 based)
lirc_dev: lirc_register_plugin: sample_rate: 0
ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
lirc_mceusb2[2]: SMK eHome Infrared Transceiver on usb2:2
usbcore: registered new driver lirc_mceusb2
ivtv0: loaded v4l-cx2341x-enc.fw firmware (262144 bytes)
ivtv0: Encoder revision: 0x02050032
tveeprom 1-0050: Hauppauge model 26582, rev F0B2, serial# 9448101
tveeprom 1-0050: tuner model is TCL M2523_5N_E (idx 112, type 50)
tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08)
tveeprom 1-0050: audio processor is CX25843 (idx 37)
tveeprom 1-0050: decoder processor is CX25843 (idx 30)
tveeprom 1-0050: has no radio, has no IR remote
ivtv0: Autodetected Hauppauge WinTV PVR-150
tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
cx25840 1-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0)
cx25840 1-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
wm8775 1-001b: chip found @ 0x36 (ivtv i2c driver #0)
ivtv0: Registered device video0 for encoder MPEG (16 MB)
ivtv0: Registered device video32 for encoder YUV (2 MB)
ivtv0: Registered device vbi0 for encoder VBI (1 MB)
ivtv0: Registered device video24 for encoder PCM audio (1 MB)
tuner 1-0061: type set to 50 (TCL 2002N)
ivtv0: Initialized Hauppauge WinTV PVR-150, card #0
ALSA /var/tmp/bach-build/BUILD/alsa-driver-1.0.13/pci/ac97/ac97_codec.c:2104:
AC'97 0 analog subsections not ready
intel8x0_measure_ac97_clock: measured 50464 usecs
intel8x0: clocking to 48000
ivtv:  ======================  NEXT CARD  ======================
ivtv1: Autodetected Hauppauge card (cx23416 based)
ivtv1: Unreasonably low latency timer, setting to 64 (was 32)
ivtv1: loaded v4l-cx2341x-enc.fw firmware (262144 bytes)
ivtv1: Encoder revision: 0x02050032
tuner 2-0061: chip found @ 0xc2 (ivtv i2c driver #1)
cx25840 2-0044: cx25841-23 found @ 0x88 (ivtv i2c driver #1)
cx25840 2-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
wm8775 2-001b: chip found @ 0x36 (ivtv i2c driver #1)
tveeprom 2-0050: Hauppauge model 26032, rev C199, serial# 8297271
tveeprom 2-0050: tuner model is TCL 2002N 5H (idx 99, type 50)
tveeprom 2-0050: TV standards NTSC(M) (eeprom 0x08)
tveeprom 2-0050: audio processor is CX25841 (idx 35)
tveeprom 2-0050: decoder processor is CX25841 (idx 28)
tveeprom 2-0050: has no radio, has IR remote
ivtv1: Autodetected Hauppauge WinTV PVR-150
ivtv1: reopen i2c bus for IR-blaster support
tuner 2-0061: chip found @ 0xc2 (ivtv i2c driver #1)
cx25840 2-0044: cx25841-23 found @ 0x88 (ivtv i2c driver #1)
cx25840 2-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
wm8775 2-001b: chip found @ 0x36 (ivtv i2c driver #1)
ivtv1: Registered device video1 for encoder MPEG (16 MB)
ivtv1: Registered device video33 for encoder YUV (2 MB)
ivtv1: Registered device vbi1 for encoder VBI (1 MB)
ivtv1: Registered device video25 for encoder PCM audio (1 MB)
tuner 2-0061: type set to 50 (TCL 2002N)
ivtv1: Initialized Hauppauge WinTV PVR-150, card #1
ivtv:  ====================  END INIT IVTV  ====================

- Ian

On 1/24/07, Matthias Urlichs <[EMAIL PROTECTED]> wrote:

Hi,

Victor Perez:
> helps, heck, I may end up optimizing that slow query.

Right. Please don't try to "fix" this problem in ivtv.

I hate to say this, but if you put your database (or anything else for
that matter) on the same spindle as your real-time recording, you
deserve to lose.

--
Matthias Urlichs   |   {M:U} IT Design @ m-u-it.de   |
[EMAIL PROTECTED]
Disclaimer: The quote was selected randomly. Really. |
http://smurf.noris.de
- -
"If you took everyone who's ever been to a Dead
show, and lined them up, they'd stretch halfway to
the moon and back... and none of them would be
complaining."
-- a local Deadhead in the Seattle Times

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

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

Reply via email to