Rémi Bernon (@rbernon) commented about dlls/winegstreamer/wg_transform.c:
+ } if (sample->flags & WG_SAMPLE_FLAG_HAS_PTS) - GST_BUFFER_PTS(buffer) = sample->pts * 100; + { + pts = sample->pts += transform->ts_offset; + if (pts < 0) + { + if (transform->ts_offset == 0) + transform->ts_offset = -pts; + else + GST_WARNING("pts %ld is less than zero after applying ts_offset %ld\n", (long int)pts, (long int)transform->ts_offset); + pts = 0; + } + GST_BUFFER_PTS(buffer) = pts * 100; + + if (transform->attrs.preserve_timestamps) What about making this unconditional? Is there any case where this isn't desired if the input sample has timestamps?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/7623#note_103300