The ISO/IEC standard 13818-1 or ITU-T Rec. H.222.0 standard allow transport
vendors to place PCR (Program Clock Reference) on a different PID.

This patch adds it recording to file.

Signed-off-by: Malcolm Priestley <tvbox...@gmail.com>
---
 src/dvb/dvbrecording.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/dvb/dvbrecording.cpp b/src/dvb/dvbrecording.cpp
index ecb4777..12a57dc 100644
--- a/src/dvb/dvbrecording.cpp
+++ b/src/dvb/dvbrecording.cpp
@@ -961,6 +961,7 @@ void DvbRecordingFile::pmtSectionChanged(const QByteArray 
&pmtSectionData_)
        pmtSectionData = pmtSectionData_;
        DvbPmtSection pmtSection(pmtSectionData);
        DvbPmtParser pmtParser(pmtSection);
+       int pcr_pid = pmtSection.pcr_pid();
        QSet<int> newPids;
 
        if (pmtParser.videoPid != -1) {
@@ -979,6 +980,13 @@ void DvbRecordingFile::pmtSectionChanged(const QByteArray 
&pmtSectionData_)
                newPids.insert(pmtParser.teletextPid);
        }
 
+       /* check PCR PID is set */
+       if (pcr_pid != 0x1fff) {
+               /* Check not already in list */
+               if (!newPids.contains(pcr_pid))
+                       newPids.insert(pcr_pid);
+       }
+
        for (int i = 0; i < pids.size(); ++i) {
                int pid = pids.at(i);
 
-- 
2.13.2

Reply via email to