Fixed handling language codes and descriptions of recorded audio tracks

This commit is contained in:
Klaus Schmidinger 2006-10-07 13:59:21 +02:00
parent 09c6bced8d
commit 29c0f9e1e0
4 changed files with 10 additions and 3 deletions

View File

@ -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

View File

@ -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).

5
epg.c
View File

@ -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];
}

3
epg.h
View File

@ -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;