diff options
author | Mike Isely <isely@pobox.com> | 2007-01-19 22:57:36 -0600 |
---|---|---|
committer | Mike Isely <isely@pobox.com> | 2007-01-19 22:57:36 -0600 |
commit | 6b429737f97ec007ae906750ee2db19568d0a784 (patch) | |
tree | 68cadd78c6830f85c9e261481169824f5660b07c | |
parent | 19c10d50ad524bab82155c690457b1af90631226 (diff) | |
download | mediapointer-dvb-s2-6b429737f97ec007ae906750ee2db19568d0a784.tar.gz mediapointer-dvb-s2-6b429737f97ec007ae906750ee2db19568d0a784.tar.bz2 |
pvrusb2: Introduce fake audio input selection
From: Pantelis Koukousoulas <pakt223@freemail.gr>
This should allow mplayer pvr:// to start. The trick is that no matter
what actual input we use under this "fake" one, it will be able to do
stereo :-)
Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
-rw-r--r-- | linux/drivers/media/video/pvrusb2/pvrusb2-v4l2.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-v4l2.c b/linux/drivers/media/video/pvrusb2/pvrusb2-v4l2.c index 3255de151..e0aedfbda 100644 --- a/linux/drivers/media/video/pvrusb2/pvrusb2-v4l2.c +++ b/linux/drivers/media/video/pvrusb2/pvrusb2-v4l2.c @@ -322,13 +322,39 @@ static int pvr2_v4l2_do_ioctl(struct inode *inode, struct file *file, case VIDIOC_ENUMAUDIO: { + /* pkt: FIXME: We are returning one "fake" input here + which could very well be called "whatever_we_like". + This is for apps that want to see an audio input + just to feel comfortable, as well as to test if + it can do stereo or sth. There is actually no guarantee + that the actual audio input cannot change behind the app's + back, but most applications should not mind that either. + + Hopefully, mplayer people will work with us on this (this + whole mess is to support mplayer pvr://), or Hans will come + up with a more standard way to say "we have inputs but we + don 't want you to change them independent of video" which + will sort this mess. + */ + struct v4l2_audio *vin = arg; ret = -EINVAL; + if (vin->index > 0) break; + strncpy(vin->name, "PVRUSB2 Audio",14); + vin->capability = V4L2_AUDCAP_STEREO; + ret = 0; + break; break; } case VIDIOC_G_AUDIO: { - ret = -EINVAL; + /* pkt: FIXME: see above comment (VIDIOC_ENUMAUDIO) */ + struct v4l2_audio *vin = arg; + memset(vin,0,sizeof(*vin)); + vin->index = 0; + strncpy(vin->name, "PVRUSB2 Audio",14); + vin->capability = V4L2_AUDCAP_STEREO; + ret = 0; break; } |