diff options
| author | Klaus Schmidinger <vdr@tvdr.de> | 2009-12-31 15:35:37 +0100 | 
|---|---|---|
| committer | Klaus Schmidinger <vdr@tvdr.de> | 2009-12-31 15:35:37 +0100 | 
| commit | 3d7338de5a2e93431296ecfed30821e007d3419b (patch) | |
| tree | 6c658162ac3b3dd0b1d6777efc0598a670cba5a9 | |
| parent | a8260204c3e66fe12173f7232feb90ece61a59e8 (diff) | |
| download | vdr-3d7338de5a2e93431296ecfed30821e007d3419b.tar.gz vdr-3d7338de5a2e93431296ecfed30821e007d3419b.tar.bz2 | |
cPatPmtParser now also stores the audio stream types
| -rw-r--r-- | HISTORY | 1 | ||||
| -rw-r--r-- | remux.c | 6 | ||||
| -rw-r--r-- | remux.h | 6 | 
3 files changed, 11 insertions, 2 deletions
| @@ -6233,3 +6233,4 @@ Video Disk Recorder Revision History  - cDevice::AddPid() now stores the stream type of the given pid (thanks to Andreas    Regel).  - Added cFont::FontName() and cFont::Size() (thanks to Andreas Regel). +- cPatPmtParser now also stores the audio stream types. @@ -4,7 +4,7 @@   * See the main source file 'vdr.c' for copyright information and   * how to reach the author.   * - * $Id: remux.c 2.36 2009/12/29 15:46:12 kls Exp $ + * $Id: remux.c 2.37 2009/12/31 15:35:37 kls Exp $   */  #include "remux.h" @@ -489,6 +489,8 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)       apids[0] = 0;       dpids[0] = 0;       spids[0] = 0; +     atypes[0] = 0; +     dtypes[0] = 0;       SI::PMT::Stream stream;       for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) {           dbgpatpmt("     stream type = %02X, pid = %d", stream.getStreamType(), stream.getPid()); @@ -504,6 +506,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)                        {                        if (NumApids < MAXAPIDS) {                           apids[NumApids] = stream.getPid(); +                         atypes[NumApids] = stream.getStreamType();                           *alangs[NumApids] = 0;                           SI::Descriptor *d;                           for (SI::Loop::Iterator it; (d = stream.streamDescriptors.getNext(it)); ) { @@ -593,6 +596,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)                        if (dpid) {                           if (NumDpids < MAXDPIDS) {                              dpids[NumDpids] = dpid; +                            dtypes[NumDpids] = stream.getStreamType();                              strn0cpy(dlangs[NumDpids], lang, sizeof(dlangs[NumDpids]));                              if (updatePrimaryDevice)                                 cDevice::PrimaryDevice()->SetAvailableTrack(ttDolby, NumDpids, dpid, lang); @@ -4,7 +4,7 @@   * See the main source file 'vdr.c' for copyright information and   * how to reach the author.   * - * $Id: remux.h 2.22 2009/12/24 12:04:47 kls Exp $ + * $Id: remux.h 2.23 2009/12/31 15:35:37 kls Exp $   */  #ifndef __REMUX_H @@ -215,8 +215,10 @@ private:    int vpid;    int vtype;    int apids[MAXAPIDS + 1]; // list is zero-terminated +  int atypes[MAXAPIDS + 1]; // list is zero-terminated    char alangs[MAXAPIDS][MAXLANGCODE2];    int dpids[MAXDPIDS + 1]; // list is zero-terminated +  int dtypes[MAXDPIDS + 1]; // list is zero-terminated    char dlangs[MAXDPIDS][MAXLANGCODE2];    int spids[MAXSPIDS + 1]; // list is zero-terminated    char slangs[MAXSPIDS][MAXLANGCODE2]; @@ -259,6 +261,8 @@ public:    int Apid(int i) const { return (0 <= i && i < MAXAPIDS) ? apids[i] : 0; }    int Dpid(int i) const { return (0 <= i && i < MAXDPIDS) ? dpids[i] : 0; }    int Spid(int i) const { return (0 <= i && i < MAXSPIDS) ? spids[i] : 0; } +  int Atype(int i) const { return (0 <= i && i < MAXAPIDS) ? atypes[i] : 0; } +  int Dtype(int i) const { return (0 <= i && i < MAXDPIDS) ? dtypes[i] : 0; }    const char *Alang(int i) const { return (0 <= i && i < MAXAPIDS) ? alangs[i] : ""; }    const char *Dlang(int i) const { return (0 <= i && i < MAXDPIDS) ? dlangs[i] : ""; }    const char *Slang(int i) const { return (0 <= i && i < MAXSPIDS) ? slangs[i] : ""; } | 
