diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2005-02-06 18:00:00 +0100 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2005-02-06 18:00:00 +0100 |
commit | 4d477cd144c8df2b3791b60f15337448292066fe (patch) | |
tree | a5eca7e54ae14fa8a16b28f02a9b472b2c7023ea /device.h | |
parent | e36fe18c483b8e520752f61975e44ddd0317a332 (diff) | |
download | vdr-patch-lnbsharing-4d477cd144c8df2b3791b60f15337448292066fe.tar.gz vdr-patch-lnbsharing-4d477cd144c8df2b3791b60f15337448292066fe.tar.bz2 |
Version 1.3.20vdr-1.3.20
- Fixed displaying the "Audio" menu with the "Green" button from the "Main" menu
in case there is only one audio track (thanks to Sascha Volkenandt for reporting
this one).
- Now setting primaryDevice = NULL before deleting the devices in cDevice::Shutdown()
to avoid problems in case other threads access it (thanks to Wolfgang Rohdewald for
pointing this out).
- Fixed a buffer overflow in case a station defines all 32 audio PIDs (thanks to
Christian Jacobsen for reporting this one).
- Fixed masking SubStreamType in cDevice::PlayPesPacket() (thanks to Werner Fink
for pointing out this one).
- The new function cPlugin::Stop() shall be used to stop any background activities
of a plugin. Previously this was done in the plugin's destructor, but it is
better to do this in a dedicated function that can be called early when shutting
down.
- Moved the call to SetAudioChannel(0) into cDevice::ClrAvailableTracks() to have it
executed also when starting a replay.
- Completed the Danish OSD texts (thanks to Mogens Elneff).
- Completed the French OSD texts (thanks to Olivier Jacques).
- The new setup option "OSD/Channel info time" can be used to define the time after
which the channel display is removed if no key has been pressed (thanks to
Olivier Jacques).
- Modified cDolbyRepacker to make sure PES packets don't exceed the requested length
(thanks to Reinhard Nissl).
- Fixed several memory leaks that were introduced through the use of cString (thanks
to Stefan Huelswitt for reporting these).
- Added CMD_SPU_CHG_COLCON to cDvbSpuDecoder::setTime() (thanks to Marco Schlüßler).
- Making sure the current audio track is actually one of the ones available in a
recording (thanks to Sascha Volkenandt for reporting a problem when starting
replay of a recording that has no Dolby Digital audio after switching to a channel
that has DD and selecting the DD audio track).
- Removed 'flags' from tTrackId (thought we would need this, but apparently we don't).
- Making sure the "Mute" and "Volume+/-" keys don't interfere with digital audio.
- Fixed the "pre 1.3.19" compatibility mode for old Dolby Digital recordings (thanks
to Werner Fink for pointing out that this can be triggered in the default branch).
- Calling pesAssembler->Reset() in cDevice::AttachPlayer() to avoid problems with
residual data in replay and Transfer Mode (thanks to Werner Fink for pointing this
out).
- Added MPEG1 replay capability to cPesAssembler (thanks to Stefan Huelswitt).
Diffstat (limited to 'device.h')
-rw-r--r-- | device.h | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.h 1.53 2005/01/22 14:58:07 kls Exp $ + * $Id: device.h 1.55 2005/02/06 11:43:04 kls Exp $ */ #ifndef __DEVICE_H @@ -78,8 +78,6 @@ struct tTrackId { uint16_t id; // The PES packet id or the PID. char language[8]; // something like either "eng" or "deu/eng" char description[32]; // something like "Dolby Digital 5.1" - // for future use: - uint32_t flags; // Used to further identify the actual track. }; class cChannel; @@ -315,17 +313,18 @@ public: private: tTrackId availableTracks[ttMaxTrackTypes]; eTrackType currentAudioTrack; + int currentAudioTrackMissingCount; bool pre_1_3_19_PrivateStream; protected: virtual void SetAudioTrackDevice(eTrackType Type); ///< Sets the current audio track to the given value. public: void ClrAvailableTracks(bool DescriptionsOnly = false); - bool SetAvailableTrack(eTrackType Type, int Index, uint16_t Id, const char *Language = NULL, const char *Description = NULL, uint32_t Flags = 0); + bool SetAvailableTrack(eTrackType Type, int Index, uint16_t Id, const char *Language = NULL, const char *Description = NULL); ///< Sets the track of the given Type and Index to the given values. ///< Type must be one of the basic eTrackType values, like ttAudio or ttDolby. ///< Index tells which track of the given basic type is meant. - ///< If Id is 0 any existing id (and flags) will be left untouched and only the + ///< If Id is 0 any existing id will be left untouched and only the ///< given Language and Description will be set. ///< \return Returns true if the track was set correctly, false otherwise. const tTrackId *GetTrack(eTrackType Type); @@ -339,6 +338,10 @@ public: bool SetCurrentAudioTrack(eTrackType Type); ///< Sets the current audio track to the given Type. ///< \return Returns true if Type is a valid audio track, false otherwise. + void EnsureAudioTrack(bool Force = false); + ///< Makes sure an audio track is selected that is actually available. + ///< If Force is true, the language and Dolby Digital settings will + ///< be verified even if the current audio track is available. // Audio facilities |