diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-02-17 20:43:24 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-02-17 20:43:24 +0000 |
commit | 99157727740dcc27ff8965071a862ec40c9c16aa (patch) | |
tree | 0b3794a3825c3bd2ae801bb8c08e898f829cc8b5 /mixer.c | |
parent | 17a4d061f47a8ba7e2154e24bd31cab3b683b4b0 (diff) | |
download | mpv-99157727740dcc27ff8965071a862ec40c9c16aa.tar.bz2 mpv-99157727740dcc27ff8965071a862ec40c9c16aa.tar.xz |
DVB mixer control added (very big messy hack)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4750 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mixer.c')
-rw-r--r-- | mixer.c | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -8,6 +8,12 @@ #include "config.h" #include "mixer.h" +#ifdef HAVE_DVB +#include <ost/audio.h> +audioMixer_t dvb_mixer={255,255}; +extern int vo_mpegpes_fd; +extern int vo_mpegpes_fd2; +#endif #if defined(USE_OSS_AUDIO) @@ -25,6 +31,15 @@ void mixer_getvolume( float *l,float *r ) { int fd,v,cmd,devs; +#ifdef HAVE_DVB + if(vo_mpegpes_fd2>=0){ + // DVB card + *l=dvb_mixer.volume_left/2.56; + *r=dvb_mixer.volume_right/2.56; + return; + } +#endif + fd=open( mixer_device,O_RDONLY ); if ( fd != -1 ) { @@ -47,6 +62,22 @@ void mixer_getvolume( float *l,float *r ) void mixer_setvolume( float l,float r ) { int fd,v,cmd,devs; + +#ifdef HAVE_DVB + if(vo_mpegpes_fd2>=0){ + // DVB card + dvb_mixer.volume_left=l*2.56; + dvb_mixer.volume_right=r*2.56; + if(dvb_mixer.volume_left>255) dvb_mixer.volume_left=255; + if(dvb_mixer.volume_right>255) dvb_mixer.volume_right=255; +// printf("Setting DVB volume: %d ; %d \n",dvb_mixer.volume_left,dvb_mixer.volume_right); + if ( (ioctl(vo_mpegpes_fd2,AUDIO_SET_MIXER, &dvb_mixer) < 0)){ + perror("DVB AUDIO SET MIXER: "); + return -1; + } + return; + } +#endif fd=open( mixer_device,O_RDONLY ); if ( fd != -1 ) |