From: Ziqing Hui <zhui(a)codeweavers.com> --- dlls/mfreadwrite/writer.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dlls/mfreadwrite/writer.c b/dlls/mfreadwrite/writer.c index c708664d2fc..765b50155b9 100644 --- a/dlls/mfreadwrite/writer.c +++ b/dlls/mfreadwrite/writer.c @@ -83,6 +83,7 @@ struct sink_writer HRESULT status; MF_SINK_WRITER_STATISTICS stats; + IMFAttributes *attributes; IMFSinkWriterCallback *callback; CRITICAL_SECTION cs; @@ -225,6 +226,8 @@ static ULONG WINAPI sink_writer_Release(IMFSinkWriter *iface) IMFPresentationClock_Release(writer->clock); if (writer->sink) IMFMediaSink_Release(writer->sink); + if (writer->attributes) + IMFAttributes_Release(writer->attributes); if (writer->callback) IMFSinkWriterCallback_Release(writer->callback); for (i = 0; i < writer->streams.count; ++i) @@ -978,6 +981,7 @@ HRESULT create_sink_writer_from_sink(IMFMediaSink *sink, IMFAttributes *attribut if (attributes) { + IMFAttributes_AddRef((object->attributes = attributes)); IMFAttributes_GetUnknown(attributes, &MF_SINK_WRITER_ASYNC_CALLBACK, &IID_IMFSinkWriterCallback, (void **)&object->callback); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7571