Rémi Bernon (@rbernon) commented about dlls/winegstreamer/wg_transform.c:
- GST_BUFFER_PTS(buffer) = sample->pts * 100; + { + pts = sample->pts += transform->ts_offset; + if (pts < 0) + { + transform->ts_offset -= pts; + pts = 0; + } + GST_BUFFER_PTS(buffer) = pts * 100; + + if (transform->attrs.preserve_timestamps) + { + transform_timestamp = gst_caps_new_empty_simple("timestamp/x-wg-transform"); + gst_buffer_add_reference_timestamp_meta(buffer, transform_timestamp, pts * 100, + sample->flags & WG_SAMPLE_FLAG_HAS_DURATION ? sample->duration * 100 : GST_CLOCK_TIME_NONE); + gst_caps_unref(transform_timestamp); Have you tried GstVideoTimeCodeMeta / do you know what it does?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/7623#note_101240