summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2006-10-07 13:59:21 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2006-10-07 13:59:21 +0200
commit29c0f9e1e07e0ca00870e7b8e2f2c9457af80ec5 (patch)
tree9f0b029847796f7a603182226361a4bd234345e8
parent09c6bced8db2567c60896457e4b7e761f37d87c3 (diff)
downloadvdr-29c0f9e1e07e0ca00870e7b8e2f2c9457af80ec5.tar.gz
vdr-29c0f9e1e07e0ca00870e7b8e2f2c9457af80ec5.tar.bz2
Fixed handling language codes and descriptions of recorded audio tracks
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY3
-rw-r--r--epg.c5
-rw-r--r--epg.h3
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
diff --git a/HISTORY b/HISTORY
index 0b680988..9ab232a3 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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).
diff --git a/epg.c b/epg.c
index b8b6b64d..960934ff 100644
--- a/epg.c
+++ b/epg.c
@@ -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];
}
diff --git a/epg.h b/epg.h
index a937ff7d..792bb136 100644
--- a/epg.h
+++ b/epg.h
@@ -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;