Index: mpegtspacketizer.c =================================================================== RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mpegtsparse/mpegtspacketizer.c,v retrieving revision 1.10 diff -r1.10 mpegtspacketizer.c 175a176 > guint8 flags; 196a198,201 > } else if (length > 0) { > flags = *packet->data; > if ( (packet->has_pcr = (flags & 0x10)) ) > packet->pcr = (GST_READ_UINT64_BE (packet->data+-1) >> 6) & 0x3ffffffffff; Index: mpegtspacketizer.h =================================================================== RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mpegtsparse/mpegtspacketizer.h,v retrieving revision 1.3 diff -r1.3 mpegtspacketizer.h 67a68,69 > guint8 has_pcr; > guint64 pcr; Index: mpegtsparse.c =================================================================== RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mpegtsparse/mpegtsparse.c,v retrieving revision 1.11 diff -r1.11 mpegtsparse.c 628c628 < guint16 pid, GstBuffer * buffer) --- > guint16 pid, GstBuffer * buffer, MpegTSPacketizerPacket * packet) 652a653,656 > if (packet->has_pcr) > GST_BUFFER_TIMESTAMP (buffer) = (((packet->pcr >> 9) & 0x1ffffffff)*(100000))/9; > else > GST_BUFFER_TIMESTAMP (buffer) = GST_CLOCK_TIME_NONE; 710a715 > 712c717 < mpegts_parse_tspad_push (parse, tspad, pid, buffer); --- > mpegts_parse_tspad_push (parse, tspad, pid, buffer, packet);