mpegtspacketizer: Convert PCR times to GStreamer times before comparing them against 500 * GST_MSECOND

Otherwise it will believe to detect PCR gaps already when there's a very small
gap of a few milliseconds, breaking playback of some files.
This commit is contained in:
Sebastian Dröge 2014-08-05 10:36:17 +02:00
parent 3e5c56e5fb
commit 9f186c6ab3

View file

@ -1962,7 +1962,8 @@ record_pcr (MpegTSPacketizer2 * packetizer, MpegTSPCR * pcrtable,
return; return;
} }
/* If PCR diff is greater than 500ms, create new group */ /* If PCR diff is greater than 500ms, create new group */
if (G_UNLIKELY (corpcr - current->pending[current->last].pcr > if (G_UNLIKELY (PCRTIME_TO_GSTTIME (corpcr) -
PCRTIME_TO_GSTTIME (current->pending[current->last].pcr) >
500 * PCR_MSECOND)) { 500 * PCR_MSECOND)) {
GST_DEBUG ("New PCR more than 500ms away, handling discont"); GST_DEBUG ("New PCR more than 500ms away, handling discont");
/* Take values from current and put them in the current group (closing it) */ /* Take values from current and put them in the current group (closing it) */