Date: Mon, 16 Mar 1998 16:31:28 -0500 From: "Alfred Perlstein" <perlsta@cs.sunyit.edu> To: <multimedia@FreeBSD.ORG> Subject: real audio encoder? Message-ID: <00a101bd5122$e40df5e0$0600a8c0@win95.local.sunyit.edu>
next in thread | raw e-mail | index | archive | help
has anyone had success using the realaudio linux 3.0 encoder to do live
streaming on freebsd?
it seems that the freebsd binary doesn't support it live streaming... so
i've been messing with the linux version...
the linux emu didn't support SOUND_MIXER_WRITE_RECSRC so i messed with the
linux-emu and added hooks for the ioctls it uses, it seems that everything
according to KTRACE is fine... but some huristics in the program prevent it
from working.
all the ioctls are successful and nothing seems to return an error code, but
it still exits with:
raencoder: Error encountered: Cannot open audio device.
all my linux emu-code does it setup a wrapper for SOUND_MIXER_WRITE_RECSRC,
the implementation seems to be the same under freebsd as linux...
if someone could explain a bit what the third argument to the ioctl is that
would be great.
any ideas/hints?
-Alfred
below, KTRACE after adding the linux emu code... the encoder is wrapped in a
shell script
1772 ktrace RET ktrace 0
1772 ktrace CALL execve(0xefbfdc5b,0xefbfdbdc,0xefbfdbe4)
1772 ktrace NAMI "./ra.sh"
1772 ktrace NAMI "/bin/sh"
1772 sh RET execve 0
1772 sh CALL getpid
1772 sh RET getpid 1772/0x6ec
1772 sh CALL geteuid
1772 sh RET geteuid 1000/0x3e8
1772 sh CALL readlink(0x4c15c,0xefbfdae8,0x3f)
1772 sh NAMI "/etc/malloc.conf"
1772 sh RET readlink -1 errno 2 No such file or directory
1772 sh CALL mmap(0,0x1000,0x3,0x1002,0xffffffff,0,0,0)
1772 sh RET mmap 163917824/0x9c53000
1772 sh CALL break(0x60000)
1772 sh RET break 0
1772 sh CALL break(0x61000)
1772 sh RET break 0
1772 sh CALL getuid
1772 sh RET getuid 1000/0x3e8
1772 sh CALL geteuid
1772 sh RET geteuid 1000/0x3e8
1772 sh CALL getgid
1772 sh RET getgid 1000/0x3e8
1772 sh CALL getegid
1772 sh RET getegid 1000/0x3e8
1772 sh CALL open(0xefbfdc58,0,0x300)
1772 sh NAMI "./ra.sh"
1772 sh RET open 3
1772 sh CALL fcntl(0x3,0,0xa)
1772 sh RET fcntl 10/0xa
1772 sh CALL close(0x3)
1772 sh RET close 0
1772 sh CALL fcntl(0xa,0x2,0x1)
1772 sh RET fcntl 0
1772 sh CALL break(0x62000)
1772 sh RET break 0
1772 sh CALL sigaction(0xc,0xefbfdaf8,0xefbfdaec)
1772 sh RET sigaction 0
1772 sh CALL __getcwd(0x61000,0x3fc)
1772 sh RET __getcwd 0
1772 sh CALL sigaction(0xc,0xefbfdaec,0)
1772 sh RET sigaction 0
1772 sh CALL read(0xa,0x5d160,0x3ff)
1772 sh GIO fd 10 read 79 bytes
"#!/bin/sh
./raencoder -W rotten -H 150.156.210.241 -o mine.ra -l line -L
"
1772 sh RET read 79/0x4f
1772 sh CALL break(0x63000)
1772 sh RET break 0
1772 sh CALL fork
1772 sh RET fork 1773/0x6ed
1772 sh CALL getpgrp
1772 sh RET getpgrp 1772/0x6ec
1772 sh CALL wait4(0xffffffff,0xefbfda78,0x2,0)
1772 sh CSW stop kernel
1773 sh RET fork 0
1773 sh CALL close(0xa)
1773 sh RET close 0
1773 sh CALL break(0x64000)
1773 sh RET break 0
1773 sh CALL execve(0x5c350,0x5c3ec,0x63004)
1773 sh NAMI "./raencoder"
1773 raencoder RET execve 0
1773 raencoder CALL ktrace(0)
1773 raencoder RET ktrace 933888/0xe4000
1773 raencoder CALL ktrace(0xe7000)
1773 raencoder RET ktrace 946176/0xe7000
1773 raencoder CALL ktrace(0xe8000)
1773 raencoder RET ktrace 950272/0xe8000
1773 raencoder CALL ktrace(0xe9000)
1773 raencoder RET ktrace 954368/0xe9000
1773 raencoder CALL ktrace(0xea000)
1773 raencoder RET ktrace 958464/0xea000
1773 raencoder CALL ktrace(0xeb000)
1773 raencoder RET ktrace 962560/0xeb000
1773 raencoder CALL ktrace(0xec000)
1773 raencoder RET ktrace 966656/0xec000
1773 raencoder CALL ktrace(0xed000)
1773 raencoder RET ktrace 970752/0xed000
1773 raencoder CALL ktrace(0xee000)
1773 raencoder RET ktrace 974848/0xee000
1773 raencoder CALL ktrace(0xef000)
1773 raencoder RET ktrace 978944/0xef000
1773 raencoder CALL listen(0xefbfd460,0xefbfd420)
1773 raencoder NAMI "/compat/linux/etc/locale/C/libc.cat"
1773 raencoder NAMI "/etc/locale/C/libc.cat"
1773 raencoder RET listen JUSTRETURN
1773 raencoder CALL listen(0xefbfd460,0xefbfd420)
1773 raencoder NAMI "/compat/linux/usr/lib/locale/C/libc.cat"
1773 raencoder NAMI "/usr/lib/locale/C/libc.cat"
1773 raencoder RET listen JUSTRETURN
1773 raencoder CALL listen(0xefbfd460,0xefbfd420)
1773 raencoder NAMI
"/compat/linux/usr/lib/locale/libc/C/usr/share/locale/C/libc.cat"
1773 raencoder NAMI "/usr/lib/locale/libc/C/usr/share/locale/C/libc.cat"
1773 raencoder RET listen JUSTRETURN
1773 raencoder CALL listen(0xefbfd460,0xefbfd420)
1773 raencoder NAMI "/compat/linux/usr/local/share/locale/C/libc.cat"
1773 raencoder NAMI "/usr/local/share/locale/C/libc.cat"
1773 raencoder RET listen JUSTRETURN
1773 raencoder CALL ioctl(0,0x5401 ,0xefbfd864)
1773 raencoder RET ioctl 0
1773 raencoder CALL ioctl(0,0x5401 ,0xefbfd8a4)
1773 raencoder RET ioctl 0
1773 raencoder CALL ioctl(0,0x5404 ,0xefbfd8a4)
1773 raencoder RET ioctl 0
1773 raencoder CALL obs_vread(0x3,0xefbfd874,0xefbfd864)
1773 raencoder RET obs_vread 0
1773 raencoder CALL obs_vread(0x7,0xefbfd874,0xefbfd864)
1773 raencoder RET obs_vread 0
1773 raencoder CALL obs_vread(0x2,0xefbfd874,0xefbfd864)
1773 raencoder RET obs_vread 0
1773 raencoder CALL obs_vread(0x11,0xefbfd874,0xefbfd864)
1773 raencoder RET obs_vread 0
1773 raencoder CALL obs_vread(0xd,0xefbfd874,0xefbfd864)
1773 raencoder RET obs_vread 0
1773 raencoder CALL ktrace(0xf0000)
1773 raencoder RET ktrace 983040/0xf0000
1773 raencoder CALL open(0xefbfde64,0,0)
1773 raencoder NAMI "/compat/linux/dev/audio"
1773 raencoder NAMI "/dev/audio"
1773 raencoder RET open 3
1773 raencoder CALL ioctl(0x3,0xc0045005 ,0xefbfd6b4)
1773 raencoder RET ioctl 0
1773 raencoder CALL ioctl(0x3,0xc0045002 ,0xefbfd6b0)
1773 raencoder RET ioctl 0
1773 raencoder CALL ioctl(0x3,0xc0045006 ,0xefbfd6ac)
1773 raencoder RET ioctl 0
1773 raencoder CALL ioctl(0x3,0xc0045009 ,0xefbfd6a8)
1773 raencoder RET ioctl 0
1773 raencoder CALL open(0x452a7,0x2,0xeab00)
1773 raencoder NAMI "/compat/linux/dev/mixer"
1773 raencoder NAMI "/dev/mixer"
1773 raencoder RET open 4
1773 raencoder CALL ioctl(0x4,0x80044dfe ,0xefbfd6d0)
1773 raencoder RET ioctl 0
1773 raencoder CALL ktrace(0xf1000)
1773 raencoder RET ktrace 987136/0xf1000
1773 raencoder CALL ktrace(0xf3000)
1773 raencoder RET ktrace 995328/0xf3000
1773 raencoder CALL ktrace(0xf5000)
1773 raencoder RET ktrace 1003520/0xf5000
1773 raencoder CALL ktrace(0xf6000)
1773 raencoder RET ktrace 1007616/0xf6000
1773 raencoder CALL ktrace(0xf7000)
1773 raencoder RET ktrace 1011712/0xf7000
1773 raencoder CALL ktrace(0xf8000)
1773 raencoder RET ktrace 1015808/0xf8000
1773 raencoder CALL ktrace(0xf9000)
1773 raencoder RET ktrace 1019904/0xf9000
1773 raencoder CALL ktrace(0xfa000)
1773 raencoder RET ktrace 1024000/0xfa000
1773 raencoder CALL ioctl(0x4,0xc0044dff ,0xefbfd724)
1773 raencoder RET ioctl 0
1773 raencoder CALL ioctl(0x4,0x80044dff ,0xefbfd720)
1773 raencoder RET ioctl 0
1773 raencoder CALL write(0x2,0xefbfd160,0x1)
1773 raencoder GIO fd 2 wrote 1 byte
"
"
1773 raencoder RET write 1
1773 raencoder CALL close(0x3)
1773 raencoder RET close 0
1773 raencoder CALL write(0x2,0xefbfd308,0x38)
1773 raencoder GIO fd 2 wrote 56 bytes
"raencoder: Error encountered: Cannot open audio device.
"
1773 raencoder RET write 56/0x38
1773 raencoder CALL ioctl(0,0x5401 ,0xefbfd8b0)
1773 raencoder RET ioctl 0
1773 raencoder CALL ioctl(0,0x5404 ,0xefbfd8b0)
1773 raencoder CSW stop kernel
1773 raencoder CSW resume kernel
1773 raencoder RET ioctl 0
1773 raencoder CALL ktrace(0xfa000)
1773 raencoder RET ktrace 1024000/0xfa000
1773 raencoder CALL ktrace(0xf0000)
1773 raencoder RET ktrace 983040/0xf0000
1773 raencoder CALL exit(0x32)
1772 sh CSW resume kernel
1772 sh RET wait4 1773/0x6ed
1772 sh CALL read(0xa,0x5d160,0x3ff)
1772 sh GIO fd 10 read 0 bytes
""
1772 sh RET read 0
1772 sh CALL exit(0x32)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?00a101bd5122$e40df5e0$0600a8c0>
