1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

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 for improving thread locking in the ring buffer to avoid possible race conditions
under heavy load under heavy load
for improving keyboard detection for improving keyboard detection
for adding some missing cAudio handling calls
Rolf Hakenes <hakenes@hippomi.de> Rolf Hakenes <hakenes@hippomi.de>
for providing 'libdtv' and adapting the EIT mechanisms to it 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 (thanks to Florian Bartels for reporting this one and Sascha Volkenandt for
helping to fix it). helping to fix it).
- Modified LOF handling to allow for C-band reception (thanks to Malcolm Caldwell). - 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 * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "device.h"
@ -422,9 +422,16 @@ bool cDevice::ToggleMute(void)
{ {
int OldVolume = volume; int OldVolume = volume;
mute = !mute; 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; volume = OldVolume;
Audios.MuteAudio(mute);
return mute; return mute;
} }
@ -478,10 +485,12 @@ void cDevice::Clear(void)
void cDevice::Play(void) void cDevice::Play(void)
{ {
Audios.MuteAudio(mute);
} }
void cDevice::Freeze(void) void cDevice::Freeze(void)
{ {
Audios.MuteAudio(true);
} }
void cDevice::Mute(void) void cDevice::Mute(void)
@ -520,6 +529,7 @@ void cDevice::Detach(cPlayer *Player)
player = NULL; player = NULL;
SetPlayMode(pmNone); SetPlayMode(pmNone);
playerDetached = true; playerDetached = true;
Audios.ClearAudio();
} }
} }

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "dvbdevice.h"
@ -829,6 +829,7 @@ void cDvbDevice::Clear(void)
CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER)); CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER));
if (fd_audio >= 0) if (fd_audio >= 0)
CHECK(ioctl(fd_audio, AUDIO_CLEAR_BUFFER)); CHECK(ioctl(fd_audio, AUDIO_CLEAR_BUFFER));
cDevice::Clear();
} }
void cDvbDevice::Play(void) void cDvbDevice::Play(void)
@ -843,6 +844,7 @@ void cDvbDevice::Play(void)
if (fd_video >= 0) if (fd_video >= 0)
CHECK(ioctl(fd_video, VIDEO_CONTINUE)); CHECK(ioctl(fd_video, VIDEO_CONTINUE));
} }
cDevice::Play();
} }
void cDvbDevice::Freeze(void) void cDvbDevice::Freeze(void)
@ -857,6 +859,7 @@ void cDvbDevice::Freeze(void)
if (fd_video >= 0) if (fd_video >= 0)
CHECK(ioctl(fd_video, VIDEO_FREEZE)); CHECK(ioctl(fd_video, VIDEO_FREEZE));
} }
cDevice::Freeze();
} }
void cDvbDevice::Mute(void) 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_AV_SYNC, false));
CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, true)); CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, true));
} }
cDevice::Mute();
} }
void cDvbDevice::StillPicture(const uchar *Data, int Length) void cDvbDevice::StillPicture(const uchar *Data, int Length)