Package: xawtv-plugins
Version: 3.94-1
Severity: important
Tags: patch

When trying to record, streamer stops with the following output:

$ streamer -o capture---30712.avi -f rgb24 -s 320x240 -r 24 -t 99:59:59 -F 
mono16 -R 32000
avi / video: 24 bit TrueColor (LE: bgr) / audio: 16bit mono (LE)
oss: read: Resource temporarily unavailable
$

(full debug output below)

I could track this down to this section of libng/plugins/snd-oss.c

        rc = read(fd,buffer+count,blocksize-count);
        if (rc < 0) {
           if (EINTR == errno)
                continue;
            perror("oss: read");
            exit(1);

with strace indicating that read returns not EINTR, but EAGAIN.

In this case the code should not fail, but retry reading.
So I suggest the following patch, which made streamer usable for me:

--- orig/xawtv-3.94/libng/plugins/snd-oss.c     2003-02-14 15:14:05.000000000 
+0100
+++ work/xawtv-3.94/libng/plugins/snd-oss.c     2006-06-02 17:34:12.000000000 
+0200
@@ -441,8 +441,8 @@
     for (;;) {
        rc = read(fd,buffer+count,blocksize-count);
        if (rc < 0) {
-           if (EINTR == errno)
+           if ( (EINTR == errno) || (EAGAIN == errno) )
                continue;
            perror("oss: read");
            exit(1);


Now for completeness, the full debug output:

$ streamer -d -o capture---30712.avi -f rgb24 -s 320x240 -r 24
 -t 99:59:59 -F mono16 -R 32000
checking writer files [multiple image files] ...
  video name=ppm ext=ppm: ext mismatch [need avi]
  video name=pgm ext=pgm: ext mismatch [need avi]
  video name=jpeg ext=jpeg: ext mismatch [need avi]
checking writer raw [single file, raw video data] ...
  video name=rgb ext=raw: ext mismatch [need avi]
  video name=gray ext=raw: ext mismatch [need avi]
  video name=422 ext=raw: ext mismatch [need avi]
  video name=422p ext=raw: ext mismatch [need avi]
  video name=4mpeg ext=yuv: ext mismatch [need avi]
  video name=4mpeg-o ext=yuv: ext mismatch [need avi]
checking writer avi [Microsoft AVI (RIFF) format] ...
  video name=rgb15 ext=avi: name mismatch [need rgb24]
  video name=rgb24 ext=avi: OK
  audio name=mono8 ext=avi: name mismatch [need mono16]
  audio name=mono16 ext=avi: OK
avi / video: 24 bit TrueColor (LE: bgr) / audio: 16bit mono (LE)
vid-open: trying: v4l2-old... 
vid-open: failed: v4l2-old
vid-open: trying: v4l2... 
v4l2: open
v4l2: device info:
  bttv 0.9.15 / BT878 video (Leadtek WinFast 20 @ PCI:0000:00:12.0
vid-open: ok: v4l2
movie_init_writer start
dsp-open: trying: oss... 
oss: bs=8192 rate=32000 channels=1 bits=16 (16bit mono (LE))
dsp-open: ok: oss
writer_audio_thread start [pid=989]
v4l2: new capture params (320x240, BGR3, 230400 byte)
setformat: 24 bit TrueColor (LE: bgr) (320x240): ok
v4l2: new capture params (320x240, BGR3, 230400 byte)
writer_video_thread start [pid=989]
movie_init_writer end (h=0x806a6b0)
movie_writer_start
oss: startrec
oss: clearbuf rc=-1 errno=Resource temporarily unavailable
v4l2: buf 0: video-cap 0x0+233472, used 0
v4l2: buf 1: video-cap 0x39000+233472, used 0
v4l2: buf 2: video-cap 0x72000+233472, used 0
v4l2: buf 3: video-cap 0xab000+233472, used 0
v4l2: buf 4: video-cap 0xe4000+233472, used 0
v4l2: buf 5: video-cap 0x11d000+233472, used 0
v4l2: buf 6: video-cap 0x156000+233472, used 0
v4l2: buf 7: video-cap 0x18f000+233472, used 0
v4l2: buf 8: video-cap 0x1c8000+233472, used 0
v4l2: buf 9: video-cap 0x201000+233472, used 0
v4l2: buf 10: video-cap 0x23a000+233472, used 0
v4l2: buf 11: video-cap 0x273000+233472, used 0
v4l2: buf 12: video-cap 0x2ac000+233472, used 0
v4l2: buf 13: video-cap 0x2e5000+233472, used 0
v4l2: buf 14: video-cap 0x31e000+233472, used 0
v4l2: buf 15: video-cap 0x357000+233472, used 0
record_audio_thread start [pid=989]
oss: read: Resource temporarily unavailable
$

-- System Information:
Debian Release: 3.1
Architecture: i386 (i586)
Kernel: Linux 2.6.8-3-386
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages xawtv-plugins depends on:
ii  libc6                 2.3.2.ds1-22sarge3 GNU C Library: Shared libraries an
ii  libdv4                0.103-2            software library for DV format dig

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to