Added some missing cAudio handling calls

This commit is contained in:
Klaus Schmidinger 2003-03-30 12:42:23 +02:00
parent f79a442f44
commit c52b219131
4 changed files with 20 additions and 4 deletions

View File

@ -219,6 +219,7 @@ Werner Fink <werner@suse.de>
for improving thread locking in the ring buffer to avoid possible race conditions
under heavy load
for improving keyboard detection
for adding some missing cAudio handling calls
Rolf Hakenes <hakenes@hippomi.de>
for providing 'libdtv' and adapting the EIT mechanisms to it

View File

@ -2003,3 +2003,4 @@ Video Disk Recorder Revision History
(thanks to Florian Bartels for reporting this one and Sascha Volkenandt for
helping to fix it).
- Modified LOF handling to allow for C-band reception (thanks to Malcolm Caldwell).
- Added some missing cAudio handling calls (thanks to Werner Fink).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: device.c 1.37 2003/03/09 14:05:23 kls Exp $
* $Id: device.c 1.38 2003/03/30 12:39:29 kls Exp $
*/
#include "device.h"
@ -422,9 +422,16 @@ bool cDevice::ToggleMute(void)
{
int OldVolume = volume;
mute = !mute;
SetVolume(0, mute);
//XXX why is it necessary to use different sequences???
if (mute) {
SetVolume(0, mute);
Audios.MuteAudio(mute); // Mute external audio after analog audio
}
else {
Audios.MuteAudio(mute); // Enable external audio before analog audio
SetVolume(0, mute);
}
volume = OldVolume;
Audios.MuteAudio(mute);
return mute;
}
@ -478,10 +485,12 @@ void cDevice::Clear(void)
void cDevice::Play(void)
{
Audios.MuteAudio(mute);
}
void cDevice::Freeze(void)
{
Audios.MuteAudio(true);
}
void cDevice::Mute(void)
@ -520,6 +529,7 @@ void cDevice::Detach(cPlayer *Player)
player = NULL;
SetPlayMode(pmNone);
playerDetached = true;
Audios.ClearAudio();
}
}

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: dvbdevice.c 1.48 2003/03/30 11:43:14 kls Exp $
* $Id: dvbdevice.c 1.49 2003/03/30 12:40:47 kls Exp $
*/
#include "dvbdevice.h"
@ -829,6 +829,7 @@ void cDvbDevice::Clear(void)
CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER));
if (fd_audio >= 0)
CHECK(ioctl(fd_audio, AUDIO_CLEAR_BUFFER));
cDevice::Clear();
}
void cDvbDevice::Play(void)
@ -843,6 +844,7 @@ void cDvbDevice::Play(void)
if (fd_video >= 0)
CHECK(ioctl(fd_video, VIDEO_CONTINUE));
}
cDevice::Play();
}
void cDvbDevice::Freeze(void)
@ -857,6 +859,7 @@ void cDvbDevice::Freeze(void)
if (fd_video >= 0)
CHECK(ioctl(fd_video, VIDEO_FREEZE));
}
cDevice::Freeze();
}
void cDvbDevice::Mute(void)
@ -865,6 +868,7 @@ void cDvbDevice::Mute(void)
CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, false));
CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, true));
}
cDevice::Mute();
}
void cDvbDevice::StillPicture(const uchar *Data, int Length)