Access Violation MSVC Build When rtmpsrc sets uri
Using a simple pipeline gst-launch-1.0 uridecodebin uri=rtmp://somertmpstream.com/live/foo ! videoconvert ! autovideosink
I'm receiving an access violation with the MSVC build. I did a wipe and rebuild and the problem persists. Others in IRC tried with both an 1.16 mingw build on windows and the latest master linux build so I think this is something specific to MSVC.
I'm going to do a master mingw build just be sure, I'll report back with those results later.
The specific line in question is here: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/blob/master/ext/rtmp/gstrtmpsrc.c#L251
My exact build is python ./cerbero-uninstalled -v visualstudio -v intelmsdk package gstreamer-1.0
Please let me know if anything else would be helpful.
ntdll.dll!RtlReportCriticalFailure()
ntdll.dll!RtlpHeapHandleError()
ntdll.dll!RtlpHpHeapHandleError()
ntdll.dll!RtlpLogHeapFailure()
ntdll.dll!RtlFreeHeap()
ucrtbase.dll!_free_base()
gstrtmp.dll!gst_rtmp_src_uri_set_uri(_GstURIHandler * handler, const char * uri, _GError * * error) Line 251
at c:\code\cerbero\build\sources\msvc_x86_64\gst-plugins-bad-1.0-1.17.0.1\ext\rtmp\gstrtmpsrc.c(251)
gstreamer-1.0-0.dll!gst_uri_handler_set_uri(_GstURIHandler * handler, const char * uri, _GError * * error) Line 832
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gsturi.c(832)
gstreamer-1.0-0.dll!gst_element_make_from_uri(const GstURIType type, const char * uri, const char * elementname, _GError * * error) Line 664
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gsturi.c(664)
gstplayback.dll!gen_source_element(_GstURIDecodeBin * decoder) Line 1306
at c:\code\cerbero\build\sources\msvc_x86_64\gst-plugins-base-1.0-1.17.0.1\gst\playback\gsturidecodebin.c(1306)
gstplayback.dll!setup_source(_GstURIDecodeBin * decoder) Line 2198
at c:\code\cerbero\build\sources\msvc_x86_64\gst-plugins-base-1.0-1.17.0.1\gst\playback\gsturidecodebin.c(2198)
gstplayback.dll!gst_uri_decode_bin_change_state(_GstElement * element, GstStateChange transition) Line 2823
at c:\code\cerbero\build\sources\msvc_x86_64\gst-plugins-base-1.0-1.17.0.1\gst\playback\gsturidecodebin.c(2823)
gstreamer-1.0-0.dll!gst_element_change_state(_GstElement * element, GstStateChange transition) Line 2959
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstelement.c(2959)
gstreamer-1.0-0.dll!gst_element_set_state_func(_GstElement * element, GstState state) Line 2915
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstelement.c(2915)
gstreamer-1.0-0.dll!gst_element_set_state(_GstElement * element, GstState state) Line 2814
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstelement.c(2814)
gstreamer-1.0-0.dll!gst_bin_element_set_state(_GstBin * bin, _GstElement * element, unsigned __int64 base_time, unsigned __int64 start_time, GstState current, GstState next) Line 2603
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstbin.c(2603)
gstreamer-1.0-0.dll!gst_bin_change_state_func(_GstElement * element, GstStateChange transition) Line 2943
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstbin.c(2943)
gstreamer-1.0-0.dll!gst_pipeline_change_state(_GstElement * element, GstStateChange transition) Line 504
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstpipeline.c(504)
gstreamer-1.0-0.dll!gst_element_change_state(_GstElement * element, GstStateChange transition) Line 2959
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstelement.c(2959)
gstreamer-1.0-0.dll!gst_element_continue_state(_GstElement * element, GstStateChangeReturn ret) Line 2669
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstelement.c(2669)
gstreamer-1.0-0.dll!gst_element_change_state(_GstElement * element, GstStateChange transition) Line 2998
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstelement.c(2998)
gstreamer-1.0-0.dll!gst_element_set_state_func(_GstElement * element, GstState state) Line 2915
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstelement.c(2915)
gstreamer-1.0-0.dll!gst_element_set_state(_GstElement * element, GstState state) Line 2814
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\gst\gstelement.c(2814)
gst-launch-1.0.exe!main(int argc, char * * argv) Line 1135
at c:\code\cerbero\build\sources\msvc_x86_64\gstreamer-1.0-1.17.0.1\tools\gst-launch.c(1135)
[External Code]