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>