diff options
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 3 | ||||
-rw-r--r-- | epg.c | 5 | ||||
-rw-r--r-- | epg.h | 3 |
4 files changed, 10 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index be608e76..6e79bc39 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2013,3 +2013,5 @@ Boguslaw Juza <bogdan@uci.agh.edu.pl> for reporting that events without an ExtendedEventDescriptor may get duplicate information in their ShortText through the EPG bugfixes in case they are received again + for reporting a problem with language codes of recorded audio tracks on channels with + multiple tracks @@ -4945,3 +4945,6 @@ Video Disk Recorder Revision History are received again). - Fixed handling video directory updates in case an other process has touched the .update file after the last NeedsUpdate() check (thanks to Petri Hintukainen). +- Fixed handling language codes and descriptions of recorded audio tracks on channels + with multiple tracks where not all of them appear in the event data (reported by + Boguslaw Juza). @@ -7,7 +7,7 @@ * Original version (as used in VDR before 1.3.0) written by * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>. * - * $Id: epg.c 1.79 2006/08/05 10:04:17 kls Exp $ + * $Id: epg.c 1.80 2006/10/07 13:47:28 kls Exp $ */ #include "epg.h" @@ -87,7 +87,8 @@ void cComponents::SetComponent(int Index, uchar Stream, uchar Type, const char * tComponent *cComponents::GetComponent(int Index, uchar Stream, uchar Type) { for (int i = 0; i < numComponents; i++) { - if (components[i].stream == Stream && components[i].type == Type) { + // In case of an audio stream the 'type' check actually just distinguishes between "normal" and "Dolby Digital": + if (components[i].stream == Stream && (Stream != 2 || (components[i].type < 5) == (Type < 5))) { if (!Index--) return &components[i]; } @@ -7,7 +7,7 @@ * Original version (as used in VDR before 1.3.0) written by * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>. * - * $Id: epg.h 1.34 2006/03/25 12:39:39 kls Exp $ + * $Id: epg.h 1.35 2006/10/07 13:47:19 kls Exp $ */ #ifndef __EPG_H @@ -43,6 +43,7 @@ public: void SetComponent(int Index, uchar Stream, uchar Type, const char *Language, const char *Description); tComponent *Component(int Index) const { return (Index < numComponents) ? &components[Index] : NULL; } tComponent *GetComponent(int Index, uchar Stream, uchar Type); // Gets the Index'th component of Stream and Type, skipping other components + // In case of an audio stream the 'type' check actually just distinguishes between "normal" and "Dolby Digital" }; class cSchedule; |