Commit Diff


commit - a0d3d6fb41f760d18ebc49d3ff47c5a97954f90c
commit + 889b534a511e17176284dc1662d4a4128445c1bd
blob - 029ceca35b82657bd756542a6ef0674e036f7a4f
blob + 72db11c014ac46103ed49db997190ef89a97c01e
--- mpegts/codec.go
+++ mpegts/codec.go
@@ -123,7 +123,7 @@ func parseAdaptationField(buf []byte) *Adaptation {
 // 5 eeee eeee
 func parsePCR(a [6]byte) PCR {
 	b := []byte{0, 0, 0, a[0], a[1], a[2], a[3], a[4] & 0x80}
-	base := binary.BigEndian.Uint64(b)
+	base := binary.BigEndian.Uint64(b) >> 7
 	// next 6 bits reserved, so remaining 1 bit in a[5] and all of a[6] have the extension.
 	ext := binary.BigEndian.Uint16([]byte{a[4] & 0x01, a[5]})
 	return PCR{base, ext}