diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2005-02-13 18:00:00 +0100 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2005-02-13 18:00:00 +0100 |
commit | dbacda8274e2d76b0ea42f90b94353b672fa9343 (patch) | |
tree | d3ae7234a22dddafc04d95893bc2b2f1c2898472 /audio.h | |
parent | 4d477cd144c8df2b3791b60f15337448292066fe (diff) | |
download | vdr-patch-lnbsharing-vdr-1.3.21.tar.gz vdr-patch-lnbsharing-vdr-1.3.21.tar.bz2 |
Version 1.3.21vdr-1.3.21
- Fixed cDvbDevice::SetAudioTrackDevice() to avoid a blank screen after switching
back to live mode if a recording is currently active on the primary device.
- Fixed a possible freeze in pause mode in case a device's PlayPesPacket() function
permanently returns 0 (thanks to Reinhard Nissl and Olaf Titz).
- Completed the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Restricted the "setting audio track" log message to automatic changes during replay.
- Fixed handling Transfer Mode for radio channels (thanks to Andreas Regel for
reporting this one).
- Fixed handling symbolic links in cRecordings::ScanVideoDir() (thanks to Stefan
Huelswitt).
- Completed the Danish OSD texts (thanks to Mogens Elneff).
- Forcing a new resync after a call to cRemux::Clear() (suggested by Marco Schlüßler).
- The cAudio::Play() function now has an additional parameter 'uchar Id' which tells
the function the substream id of the given audio packet, so that a plugin can
take the right action for the various kinds if audio data - which now also includes
"normal" audio with ids 0xC0...0xDF (based on suggestions by Werner Fink and Macro
Schlüßler).
- Removed the "Cleared/PlayPes(NULL, 0)" handling from cTransfer::Action(), since this
is now done when attaching the player to the device (thanks to Marco Schlüßler).
- Making sure the buffer reserve in cTransfer::Action() is re-established after
clearing the buffer.
- Added DeviceClrAvailableTracks() and DeviceSetCurrentAudioTrack() to cPlayer
(thanks to Marco Schlüßler).
- Fixed a typo in detecting UTF-8 (thanks to Reinhard Nissl).
- Now using twice the buffer reserve in cTransfer if the primary DVB card is an
unmodified version with only 2MB of SDRAM, to avoid audio stuttering when
playing Dolby Digital over the DVB card (thanks to Christian Jacobsen and Chad
Flynt for suggestions and experiments in that area).
- Making sure the first audio packet is not dropped when switching to "pre 1.3.19
Dolby Digital compatibility mode".
- The 'plugins-clean' target of the Makefile now only deletes the actual plugin
library files from this version of VDR (suggested by Andreas Brachold).
- Added a missing 'resultSkipped = 0' to cRemux::Clear() (thanks to Marco Schlüßler
for reporting this one).
- The new function cDvbDevice::SetTransferModeForDolbyDigital() can be used by
plugins that implement Dolby Digital output and thus want to prevent the cDvbDevice
from starting Transfer Mode in order to replay DD over the DVB device.
- Added missing reset of the 'repacker' to cTS2PES::Clear() (thanks to Marco
Schlüßler for reporting this one).
Diffstat (limited to 'audio.h')
-rw-r--r-- | audio.h | 23 |
1 files changed, 12 insertions, 11 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: audio.h 1.2 2002/11/03 11:50:02 kls Exp $ + * $Id: audio.h 1.3 2005/02/12 12:20:19 kls Exp $ */ #ifndef __AUDIO_H @@ -18,21 +18,22 @@ protected: cAudio(void); public: virtual ~cAudio(); - virtual void Play(const uchar *Data, int Length) = 0; - // Plays the given block of audio Data. Must return as soon as possible. - // If the entire block of data can't be processed immediately, it must - // be copied and processed in a separate thread. The Data is always a - // complete PES audio packet. + virtual void Play(const uchar *Data, int Length, uchar Id) = 0; + ///< Plays the given block of audio Data. Must return as soon as possible. + ///< If the entire block of data can't be processed immediately, it must + ///< be copied and processed in a separate thread. The Data is always a + ///< complete PES audio packet. Id indicates the type of audio data this + ///< packet holds. virtual void Mute(bool On) = 0; - // Immediately sets the audio device to be silent (On==true) or to - // normal replay (On==false). + ///< Immediately sets the audio device to be silent (On==true) or to + ///< normal replay (On==false). virtual void Clear(void) = 0; - // Clears all data that might still be awaiting processing. + ///< Clears all data that might still be awaiting processing. }; class cAudios : public cList<cAudio> { public: - void PlayAudio(const uchar *Data, int Length); + void PlayAudio(const uchar *Data, int Length, uchar Id); void MuteAudio(bool On); void ClearAudio(void); }; @@ -47,7 +48,7 @@ private: public: cExternalAudio(const char *Command); virtual ~cExternalAudio(); - virtual void Play(const uchar *Data, int Length); + virtual void Play(const uchar *Data, int Length, uchar Id); virtual void Mute(bool On); virtual void Clear(void); }; |