Rémi Bernon (@rbernon) commented about dlls/winegstreamer/media_sink.c:
+ if (SUCCEEDED(IMFSample_GetSampleTime(sample, &time))) + { + wg_sample->flags |= WG_SAMPLE_FLAG_HAS_PTS; + wg_sample->pts = time; + } + if (SUCCEEDED(IMFSample_GetSampleDuration(sample, &duration))) + { + wg_sample->flags |= WG_SAMPLE_FLAG_HAS_DURATION; + wg_sample->duration = duration; + } + if (SUCCEEDED(IMFSample_GetUINT32(sample, &MFSampleExtension_CleanPoint, &value)) && value) + wg_sample->flags |= WG_SAMPLE_FLAG_SYNC_POINT; + if (SUCCEEDED(IMFSample_GetUINT32(sample, &MFSampleExtension_Discontinuity, &value)) && value) + wg_sample->flags |= WG_SAMPLE_FLAG_DISCONTINUITY; + + return wg_muxer_push_sample(muxer, wg_sample); Without a wg_sample_queue you need to release the wg_sample here, though you also need to remove zero-copy from the unix side as will complain otherwise.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3810#note_45165