[PATCH RFC 2/2] app: kaffeine: Fix missing PCR on stream recordings.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux