Otherwise we're going to set a rather arbitrary DTS of segment.start (usually
0) for live sources, which confuses synchronization if the source started
capturing at a later time. And it's especially wrong for raw media, for which
we should not set any DTS at all.
https://bugzilla.gnome.org/show_bug.cgi?id=747731
if (!GST_CLOCK_TIME_IS_VALID (dts)) {
if (do_timestamp) {
dts = running_time;
- } else {
+ } else if (!GST_CLOCK_TIME_IS_VALID (pts)) {
if (GST_CLOCK_TIME_IS_VALID (basesrc->segment.start)) {
dts = basesrc->segment.start;
} else {