From a0890fe06aa663f656bbb6de2ef2ae07e7821779 Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 30 Aug 2016 19:29:59 +0800 Subject: [PATCH] comment the pcr --- README.md | 1 + trunk/src/kernel/srs_kernel_ts.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/README.md b/README.md index 495e5b215..2428319c5 100755 --- a/README.md +++ b/README.md @@ -340,6 +340,7 @@ Remark: ## History +* v2.0, 2016-08-30, comment the pcr. * v2.0, 2016-08-18, fix [srs-librtmp#4](https://github.com/ossrs/srs-librtmp/issues/4) filter frame. * v2.0, 2016-08-10, fix socket timeout for librtmp. * v2.0, 2016-08-08, fix the crash by srs_info log. diff --git a/trunk/src/kernel/srs_kernel_ts.cpp b/trunk/src/kernel/srs_kernel_ts.cpp index a11d58019..5b2b4639d 100644 --- a/trunk/src/kernel/srs_kernel_ts.cpp +++ b/trunk/src/kernel/srs_kernel_ts.cpp @@ -470,6 +470,14 @@ int SrsTsContext::encode_pes(SrsFileWriter* writer, SrsTsMessage* msg, int16_t p // it's ok to set pcr equals to dts, // @see https://github.com/ossrs/srs/issues/311 + // Fig. 3.18. Program Clock Reference of Digital-Video-and-Audio-Broadcasting-Technology, page 65 + // In MPEG-2, these are the "Program Clock Refer- ence" (PCR) values which are + // nothing else than an up-to-date copy of the STC counter fed into the transport + // stream at a certain time. The data stream thus carries an accurate internal + // "clock time". All coding and de- coding processes are controlled by this clock + // time. To do this, the receiver, i.e. the MPEG decoder, must read out the + // "clock time", namely the PCR values, and compare them with its own internal + // system clock, that is to say its own 42 bit counter. int64_t pcr = write_pcr? msg->dts : -1; // TODO: FIXME: finger it why use discontinuity of msg.