For the MS/VfW codec ids, we want to write DTS timestamps instead
of PTS because that's what everyone else seems to do (and it's also
how it is in AVI). So for those input formats we use the buffer DTS
instead of the PTS. However, if there's no DTS set but only the PTS
then just take the PTS instead of dropping the input buffer. This
is useful especially for I-frame only codecs like JPEG and huffyuv,
but should also be fine as fallback in general.
Fixes regression with input JPEG frames that only have PTS set on them.
https://bugzilla.gnome.org/show_bug.cgi?id=756967
GstBuffer * buf)
{
if (track->dts_only) {
- return GST_BUFFER_DTS (buf);
+ if (GST_BUFFER_DTS_IS_VALID (buf))
+ return GST_BUFFER_DTS (buf);
+ else
+ return GST_BUFFER_PTS (buf);
} else {
return GST_BUFFER_PTS (buf);
}