winegstreamer: Check for failure from gst_element_set_state() instead of counting pads.

Especially since pads might be exposed before failure is reported.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2018-02-22 09:06:14 -06:00 committed by Alexandre Julliard
parent 5374d5ca59
commit 2ea0d6ff81
1 changed files with 3 additions and 3 deletions

View File

@ -1160,11 +1160,11 @@ static HRESULT GST_Connect(GSTInPin *pPin, IPin *pConnectPin, ALLOCATOR_PROPERTI
ResetEvent(This->event);
gst_element_set_state(This->container, GST_STATE_PLAYING);
WaitForSingleObject(This->event, -1);
gst_element_get_state(This->container, NULL, NULL, -1);
ret = gst_element_get_state(This->container, NULL, NULL, -1);
if (!This->cStreams)
if (ret == GST_STATE_CHANGE_FAILURE)
{
FIXME("GStreamer could not find any streams\n");
ERR("GStreamer failed to play stream\n");
return E_FAIL;
}