leftVol = checkVolume(left);
rightVol = checkVolume(right);
- left = 63 - leftVol / 100.0 * 63.0;
- right = 63 - rightVol / 100.0 * 63.0;
+ left = 63 - leftVol * 63 / 100;
+ right = 63 - rightVol * 63 / 100;
#if HAVE_DVB_API_VERSION < 3
audioMixer_t mixer;
printf("Setvolume: %d %d\n", leftVol, rightVol);
printf("Setvolume: %d %d\n", left, right);
+
+ //HACK?
+ FILE *f;
+ if((f = fopen("/proc/stb/avs/0/volume", "wb")) == NULL) {
+ printf("cannot open /proc/stb/avs/0/volume\n");
+ return;
+ }
+
+ fprintf(f, "%d", left);
+
+ fclose(f);
}
int eDVBVolumecontrol::getVolume()
{
int fd = openMixer();
#ifdef HAVE_DVB_API_VERSION
+ printf("ioctl AUDIO_SET_MUTE,1 %d\n",fd);
ioctl(fd, AUDIO_SET_MUTE, true);
#endif
closeMixer(fd);
{
int fd = openMixer();
#ifdef HAVE_DVB_API_VERSION
+ printf("ioctl AUDIO_SET_MUTE,0\n");
ioctl(fd, AUDIO_SET_MUTE, false);
#endif
closeMixer(fd);
else
volumeMute();
-}
\ No newline at end of file
+}