winegstreamer: Create media source read thread after initializing wg_parser.

Fixes race condition as wg_parser is used right away in the created
thread.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Paul Gofman 2021-08-25 14:43:39 +03:00 committed by Alexandre Julliard
parent 8ee30e6dcc
commit f49b8602e3
1 changed files with 2 additions and 2 deletions

View File

@ -1315,8 +1315,6 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
if (FAILED(hr = MFAllocateWorkQueue(&object->async_commands_queue)))
goto fail;
object->read_thread = CreateThread(NULL, 0, read_thread, object, 0, NULL);
if (!(parser = unix_funcs->wg_decodebin_parser_create()))
{
hr = E_OUTOFMEMORY;
@ -1324,6 +1322,8 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
}
object->wg_parser = parser;
object->read_thread = CreateThread(NULL, 0, read_thread, object, 0, NULL);
object->state = SOURCE_OPENING;
if (FAILED(hr = unix_funcs->wg_parser_connect(parser, file_size)))