TS play few seconds playback stuck(drop frame)
@rland
Submitted by Roland Jon Link to original bug (#770375)
Description
Created attachment 334120
mpegtspacketizer_basesink_level_6_log
There is a TS file(https://pan.baidu.com/s/1gfgA9Kv)
With ffplay, VLC playback is OK,but once with GStreamer It only play few seconds then playback will stuck.
I try to dig mpegtspacketizer.c:mpegts_packetizer_pts_to_ts()’ code as follows:
GstClockTime
mpegts_packetizer_pts_to_ts (MpegTSPacketizer2 * packetizer,
GstClockTime pts, guint16 pcr_pid)
{
GstClockTime res = GST_CLOCK_TIME_NONE;
MpegTSPCR *pcrtable;
.....
if (refpcr != G_MAXINT64) {
/!!!!Modifid here!!!!************/
res = pts;
// res =
// pts - PCRTIME_TO_GSTTIME (refpcr) + PCRTIME_TO_GSTTIME (refpcroffset);
/***********************************************************/
}
else
GST_WARNING ("No groups, can't calculate timestamp");
} else
GST_WARNING ("Not enough information to calculate proper timestamp");
PACKETIZER_GROUP_UNLOCK (packetizer);
GST_TIME_FORMAT " pcr_pid:0x%04x", GST_TIME_ARGS (res),
GST_TIME_ARGS (pts), pcr_pid);
return res;
}
GST_DEBUG ("Returning timestamp %" GST_TIME_FORMAT " for pts %"The above modification is just not to make a PCR <=>
PTS conversion, while using the original PTS,the result is more smoother playback than before.But,I don't know what causes this phenomenon, so I file a new bug to track this issue.
Attachment 334120, "mpegtspacketizer_basesink_level_6_log":
gst.log.zip
Version: 1.8.2