1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

The new function cDevice::PatPmtParser() can be used in derived devices to access the PAT/PMT of the currently replayed material

This commit is contained in:
Klaus Schmidinger 2009-12-05 11:32:31 +01:00
parent a5e9da1de3
commit 62901748b3
4 changed files with 14 additions and 9 deletions

View File

@ -6197,6 +6197,8 @@ Video Disk Recorder Revision History
- Fixed the default value for "Pause key handling" in the MANUAL (reported by - Fixed the default value for "Pause key handling" in the MANUAL (reported by
Diego Pierotto). Diego Pierotto).
2009-11-22: Version 1.7.11 2009-12-05: Version 1.7.11
- Fixed resetting the file size when regenerating the index file. - Fixed resetting the file size when regenerating the index file.
- The new function cDevice::PatPmtParser() can be used in derived devices to access
the PAT/PMT of the currently replayed material.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: device.h 2.16 2009/11/22 13:21:00 kls Exp $ * $Id: device.h 2.17 2009/12/04 15:03:16 kls Exp $
*/ */
#ifndef __DEVICE_H #ifndef __DEVICE_H
@ -498,6 +498,9 @@ private:
cTsToPes tsToPesSubtitle; cTsToPes tsToPesSubtitle;
bool isPlayingVideo; bool isPlayingVideo;
protected: protected:
const cPatPmtParser *PatPmtParser(void) const { return &patPmtParser; }
///< Returns a pointer to the patPmtParser, so that a derived device
///< can use the stream information from it.
virtual bool CanReplay(void) const; virtual bool CanReplay(void) const;
///< Returns true if this device can currently start a replay session. ///< Returns true if this device can currently start a replay session.
virtual bool SetPlayMode(ePlayMode PlayMode); virtual bool SetPlayMode(ePlayMode PlayMode);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: remux.c 2.29 2009/11/22 11:23:27 kls Exp $ * $Id: remux.c 2.30 2009/12/04 15:05:35 kls Exp $
*/ */
#include "remux.h" #include "remux.h"
@ -599,7 +599,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
pmtSize = 0; pmtSize = 0;
} }
bool cPatPmtParser::GetVersions(int &PatVersion, int &PmtVersion) bool cPatPmtParser::GetVersions(int &PatVersion, int &PmtVersion) const
{ {
PatVersion = patVersion; PatVersion = patVersion;
PmtVersion = pmtVersion; PmtVersion = pmtVersion;

10
remux.h
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: remux.h 2.20 2009/11/21 15:55:34 kls Exp $ * $Id: remux.h 2.21 2009/12/04 15:04:43 kls Exp $
*/ */
#ifndef __REMUX_H #ifndef __REMUX_H
@ -232,16 +232,16 @@ public:
///< are delivered to the parser through several subsequent calls to ///< are delivered to the parser through several subsequent calls to
///< ParsePmt(). The whole PMT data will be processed once the last packet ///< ParsePmt(). The whole PMT data will be processed once the last packet
///< has been received. ///< has been received.
bool GetVersions(int &PatVersion, int &PmtVersion); bool GetVersions(int &PatVersion, int &PmtVersion) const;
///< Returns true if a valid PAT/PMT has been parsed and stores ///< Returns true if a valid PAT/PMT has been parsed and stores
///< the current version numbers in the given variables. ///< the current version numbers in the given variables.
int PmtPid(void) { return pmtPid; } int PmtPid(void) const { return pmtPid; }
///< Returns the PMT pid as defined by the current PAT. ///< Returns the PMT pid as defined by the current PAT.
///< If no PAT has been received yet, -1 will be returned. ///< If no PAT has been received yet, -1 will be returned.
int Vpid(void) { return vpid; } int Vpid(void) const { return vpid; }
///< Returns the video pid as defined by the current PMT, or 0 if no video ///< Returns the video pid as defined by the current PMT, or 0 if no video
///< pid has been detected, yet. ///< pid has been detected, yet.
int Vtype(void) { return vtype; } int Vtype(void) const { return vtype; }
///< Returns the video stream type as defined by the current PMT, or 0 if no video ///< Returns the video stream type as defined by the current PMT, or 0 if no video
///< stream type has been detected, yet. ///< stream type has been detected, yet.
}; };