Zebediah Figura zfigura@codeweavers.com writes:
From: Derek Lesho dlesho@codeweavers.com
Instead of having mixing together IMFMediaSource::Shutdown() and the constructors' failure paths, creating confusion about what should be released where, designate ::Shutdown/::Release to shutting down fully initialized objects without checks, and keep the partially-created object cleanup code in the constructor.
Signed-off-by: Derek Lesho dlesho@codeweavers.com Signed-off-by: Zebediah Figura zfigura@codeweavers.com
v5: Resent with a couple of spacing tweaks for consistency; also use UINT_MAX instead of UINT32_MAX to match the type.
dlls/winegstreamer/gst_private.h | 1 + dlls/winegstreamer/media_source.c | 102 +++++++++++++++++++----------- 2 files changed, 66 insertions(+), 37 deletions(-)
It breaks the tests here:
tools/runtest -q -P wine -T . -M mfplat.dll -p dlls/mfplat/tests/mfplat_test.exe mfplat && touch dlls/mfplat/tests/mfplat.ok winegstreamer error: decodebin0: Your GStreamer installation is missing a plug-in. winegstreamer error: decodebin0: ../gst/playback/gstdecodebin2.c(4719): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0: no suitable plugins found: Missing decoder: MPEG-4 Video (Simple Profile) (video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple, level=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d8800cd0024009463000001b24c61766335382e32312e313034, width=(int)4, height=(int)4, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true)
winegstreamer error: qtdemux0: Internal data stream error. winegstreamer error: qtdemux0: ../gst/isomp4/qtdemux.c(6545): gst_qtdemux_loop (): /GstBin:bin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: streaming stopped, reason not-linked (-1)