if (GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT (frame)) {
priv->distance_from_sync = 0;
GST_BUFFER_FLAG_UNSET (frame->output_buffer, GST_BUFFER_FLAG_DELTA_UNIT);
- /* For keyframes, DTS = PTS */
+ /* For keyframes, DTS = PTS, if decoder doesn't decide otherwise */
if (!GST_CLOCK_TIME_IS_VALID (frame->dts)) {
frame->dts = frame->pts;
- } else if (GST_CLOCK_TIME_IS_VALID (frame->pts) && frame->pts != frame->dts) {
- GST_WARNING_OBJECT (encoder, "keyframe PTS (%" GST_TIME_FORMAT
- ") != DTS (%" GST_TIME_FORMAT ")", GST_TIME_ARGS (frame->pts),
- GST_TIME_ARGS (frame->dts));
}
} else {
GST_BUFFER_FLAG_SET (frame->output_buffer, GST_BUFFER_FLAG_DELTA_UNIT);