|| format == GST_H264_PARSE_FORMAT_AVC3) {
tmp = GUINT32_TO_BE (size << (32 - 8 * nl));
} else {
- /* HACK: nl should always be 4 here, otherwise this won't work.
+ /* HACK: nl should always be 4 here, otherwise this won't work.
* There are legit cases where nl in avc stream is 2, but byte-stream
* SC is still always 4 bytes. */
nl = 4;
* particularly since our ts not that good they handle seeking etc */
if (h264parse->do_ts)
gst_h264_parse_get_timestamp (h264parse,
- &GST_BUFFER_TIMESTAMP (buffer), &GST_BUFFER_DURATION (buffer),
+ &GST_BUFFER_DTS (buffer), &GST_BUFFER_DURATION (buffer),
h264parse->frame_start);
if (h264parse->keyframe)
fail_unless (ctx_sink_template == &sinktemplate_bs_au);
+ /* Currently the parser can only predict DTS when dealing with raw data.
+ * Ensure that this behavior is being checked here. */
+ GST_DEBUG ("PTS: %" GST_TIME_FORMAT " DTS: %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (GST_BUFFER_PTS (buffer)),
+ GST_TIME_ARGS (GST_BUFFER_DTS (buffer)));
+ fail_if (GST_BUFFER_PTS_IS_VALID (buffer));
+ fail_unless (GST_BUFFER_DTS_IS_VALID (buffer));
+
gst_buffer_map (buffer, &map, GST_MAP_READ);
fail_unless (map.size > 4);