diff options
Diffstat (limited to 'v4l')
-rw-r--r-- | v4l/Make.config | 7 | ||||
-rw-r--r-- | v4l/Makefile | 13 | ||||
-rwxr-xr-x | v4l/scripts/usbaudio_setup.sh | 106 |
3 files changed, 123 insertions, 3 deletions
diff --git a/v4l/Make.config b/v4l/Make.config index 802c847a2..65bc8dfea 100644 --- a/v4l/Make.config +++ b/v4l/Make.config @@ -26,7 +26,11 @@ CONFIG_VIDEO_IVTV := n CONFIG_DVB_FIRESAT := n -CONFIG_VIDEO_CPIA2 := m +CONFIG_VIDEO_CPIA2 := m + +CONFIG_VIDEO_CX88_IVTV := n + +CONFIG_VIDEO_MXB := m # doesn't build on older kernels @@ -112,3 +116,4 @@ ifeq ($(CONFIG_DVB_CORE),m) endif CONFIG_VIDEO_IVTV := $(if $(wildcard $(src)/ivtv-svnversion.h),m) +CONFIG_VIDEO_CX88_IVTV := $(if $(wildcard $(src)/cx88-ivtv.c),m) diff --git a/v4l/Makefile b/v4l/Makefile index cf22a1125..a81db15c9 100644 --- a/v4l/Makefile +++ b/v4l/Makefile @@ -88,9 +88,14 @@ ifeq ($(CONFIG_VIDEO_DEV),m) obj-m += videodev.o endif +obj-$(CONFIG_VIDEO_MXB) += mxb.o tea6420.o tea6415c.o tda9840.o +obj-$(CONFIG_VIDEO_DPC) += dpc7146.o +obj-$(CONFIG_VIDEO_HEXIUM_ORION)+= hexium_orion.o +obj-$(CONFIG_VIDEO_HEXIUM_GEMINI)+= hexium_gemini.o obj-$(CONFIG_VIDEO_BTTV) += btcx-risc.o ir-common.o bttv.o tveeprom.o obj-$(CONFIG_VIDEO_CX88) += btcx-risc.o cx88xx.o cx8800.o cx8802.o \ cx88-blackbird.o tveeprom.o +obj-$(CONFIG_VIDEO_CX88_IVTV) += cx88-ivtv.o obj-$(CONFIG_TVP5150) += tvp5150.o obj-$(CONFIG_SAA711X) += saa711x.o obj-$(CONFIG_EM28XX) += em28xx.o tveeprom.o @@ -311,8 +316,8 @@ endif inst_video += ir-kbd-i2c.ko msp3400.ko inst_video += tvp5150.ko saa711x.ko saa7134-alsa.ko saa7134-oss.ko inst_video += saa7115.ko cx25840.ko saa7127.ko compat_ioctl32.ko -inst_cx88 := cx8800.ko cx8802.ko cx88-alsa.ko -inst_cx88 += cx88-blackbird.ko cx88xx.ko cx88-dvb.ko cx88-vp3054-i2c.ko +inst_cx88 := cx88xx.ko cx8800.ko cx8802.ko cx88-alsa.ko cx88-dvb.ko +inst_cx88 += cx88-blackbird.ko cx88-vp3054-i2c.ko cx88-ivtv.ko inst_saa7134 := saa6752hs.ko saa7134.ko saa7134-empress.ko saa7134-dvb.ko inst_em28xx := em28xx.ko inst_bt8xx := bt878.ko dvb-bt8xx.ko dst.ko dst_ca.ko @@ -374,6 +379,10 @@ ivtv:: ivtv-links @echo '#define IVTV_DRIVER_VERSION_COMMENT "(v4l-dvb + ivtv virtual merge)"' > ivtv-svnversion.h @echo ivtv trunk merged. Run make to build the entire tree. +cx88-ivtv:: + @echo creating cx88-ivtv symbolic links... + @ln -sf ../v4l_experimental/cx88-ivtv.c . + links:: @echo creating symbolic links... @find ../linux/drivers/media -name '*.[ch]' -type f -exec ln -sf '{}' . \; diff --git a/v4l/scripts/usbaudio_setup.sh b/v4l/scripts/usbaudio_setup.sh new file mode 100755 index 000000000..66fdd23df --- /dev/null +++ b/v4l/scripts/usbaudio_setup.sh @@ -0,0 +1,106 @@ +#!/bin/bash +# +# Copyright (C) 2006 Markus Rechberger <mrechberger@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +which /usr/bin/dialog >/dev/null +if [ "0" != "$?" ]; then +echo "this tool requires \"dialog\" (http://hightek.org/dialog/)" +exit 1 +fi +uid=`id -u` +if [ "0" != "$uid" ]; then +echo "this tool must be run as root, you can disable this message by editing the script but only do that unless you know what you're doing!" +exit 1 +fi +which gcc > /dev/null +if [ "0" != "$?" ]; then +echo "this tool won't work unless you install gcc" +exit 1 +fi +test -f ossid +if [ "0" != "$?" ]; then +cat > ossid.c <<_EOF +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <linux/soundcard.h> +#include <fcntl.h> +#include <unistd.h> + +int main(int argc, char **argv){ + int fd; + struct mixer_info *info; + fd=open(argv[1],O_RDONLY); + if(fd>=0){ + info=malloc(sizeof(struct mixer_info)); + ioctl(fd,SOUND_MIXER_INFO,info); + printf("%c \"%s %s\"\n",(argv[1][strlen(argv[1])-1]=='p')?'0':(argv[1][strlen(argv[1])-1]+1),info->name,info->id); + free(info); + close(fd); + } else { + return 1; + } + return 0; +} +_EOF +gcc ossid.c -o ossid +rm ossid.c +fi + +test -f /proc/asound/cards +if [ "0" != "$?" ]; then +dialog --title "Welcome" --backtitle "Empia Sound Configuration" \ +--msgbox "Your system doesn't support ALSA, please have a look at \ +www.alsa-project.org and set it up properly \ + + +Press any key to continue... " 11 50 +exit 1; +fi + +dialog --title "Welcome" --backtitle "Empia Sound Configuration" \ +--msgbox "This tool was written to ease up sound configuration for +* Terratec Hybrid XS +* Terratec Cinergy 250 USB 2.0 +* Hauppauge HVR 900 +* and possible others :) + +first select an usb audio source, as target choose your soundcard +Press any key to continue... " 13 60 + +ls /dev/dsp* | while read a; do ./ossid $a; done | xargs dialog --menu "Choose your TV Audio source:" 12 60 5 2>/tmp/em2880_source.$$ +ls /dev/dsp* | while read a; do ./ossid $a; done | xargs dialog --menu "Choose your output soundcard device:" 12 60 5 2>/tmp/em2880_dst.$$ + +source=`egrep '^[0-9p]' /tmp/em2880_source.$$` +dst=`egrep '^[0-9p]' /tmp/em2880_dst.$$` + +echo "playing $source to $dst"; +if [ "$source" = "0" ]; then + device="/dev/dsp" +else + device="/dev/dsp`expr $source - 1`" +fi + +if [ "$dst" = "0" ]; then + device2="/dev/dsp" +else + device2="/dev/dsp`expr $source - 1`" +fi +clear +echo "Using command: sox -r 48000 -w -c 2 -t ossdsp $device -t ossdsp $device2" +sox -r 48000 -w -c 2 -t ossdsp $device -t ossdsp $device2 |