Hi,
I have a gstreamer application which uses rtspsrc to stream video data, and to get and set server parameters. For getting/setting parameters I use the "set-parameter" and "get-parameter" action signals. Also I need to compile this application for both windows and linux, for which I use meson and gstreamer 1.16.0 . In Linux everything works fine. When compiled in Windows, the "get-parameter" also works, but the "set-parameter" signal causes and access violation error: Exception code=0xc0000005 flags=0x0 at 0x00007FF814F00000. Access violation - attempting to execute data at address 0x00007FF814F00000 A very simple example to reconstruct: g_print("going to get parameter\n"); gboolean dummy; GstPromise *promise_get = gst_promise_new(); g_signal_emit_by_name(source, "get_parameter", "test", NULL, promise_get, &dummy); // -----> works fine g_print("going to set parameter\n"); GstPromise *promise_set = gst_promise_new(); g_signal_emit_name(source, "set-parameter", "test", "test", NULL, promise_set); // ----> ERROR Can someone please tell me if this is a bug? I also tried using gstreamer 1.17.0 but the same happens there. Before switching to meson I used MinGW to compile for windows, and there I had no problems with "set-parameter" signal. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
This post was updated on .
Here is a dump of the logs concerning rtspsrc of an example where I first
request a parameter and get response, afterwards set a parameter. I see the application receives the set-parameter request, but it crashes before it can send it to server, however I don't see anything suspicious in the logs 12024going to read register 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:8964:gst_rtspsrc_thread:<ch0_source> got command LOOP 0:00:21.274029000 12024 00000188B6EAEA50 LOG rtspsrc gstrtspsrc.c:1256:get_parameter:<ch0_source> get_parameter: 4096 0:00:21.290061000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0 0:00:21.294687000 12024 00000188B6EAEA50 LOG rtspsrc gstrtspsrc.c:1272:get_parameters:<ch0_source> get_parameters: 1 0:00:21.305984000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5547:gst_rtspsrc_loop_interleaved:<ch0_source> doing receive with timeout 40 seconds, 976677 usec 0:00:21.310473000 12024 00000188B6EAEA50 DEBUG rtspsrc gstrtspsrc.c:6007:gst_rtspsrc_loop_send_cmd:<ch0_source> sending cmd GET_PARAMETER 0:00:21.328046000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5559:gst_rtspsrc_loop_interleaved:<ch0_source> we received a server message 0:00:21.334478000 12024 00000188B6EAEA50 DEBUG rtspsrc gstrtspsrc.c:6032:gst_rtspsrc_loop_send_cmd:<ch0_source> cancel previous request LOOP 0:00:21.339049000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5592:gst_rtspsrc_loop_interleaved:<ch0_source> got data message 0:00:21.349910000 12024 00000188B6EAEA50 DEBUG rtspsrc gstrtspsrc.c:6040:gst_rtspsrc_loop_send_cmd:<ch0_source> connection flush busy LOOP 0:00:21.360083000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5357:gst_rtspsrc_handle_data:<ch0_source> pushing data of size 65024 on channel 0 0:00:21.369435000 12024 00000188B6EAEA50 DEBUG rtspsrc gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 1 0:00:21.393335000 12024 00000188B6EAEA50 DEBUG rtspsrc gstrtspsrc.c:5160:gst_rtspsrc_connection_flush:<ch0_source> connection flush 0:00:21.378851000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5547:gst_rtspsrc_loop_interleaved:<ch0_source> doing receive with timeout 40 seconds, 903846 usec 0:00:21.419065000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5618:gst_rtspsrc_loop_interleaved:<ch0_source> got interrupted 0:00:21.425884000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6105:gst_rtspsrc_loop:<ch0_source> pausing task, reason flushing 0:00:21.430860000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6007:gst_rtspsrc_loop_send_cmd:<ch0_source> sending cmd WAIT 0:00:21.441895000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6026:gst_rtspsrc_loop_send_cmd:<ch0_source> ignore, we have a pending GET_PARAMETER 0:00:21.450886000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6040:gst_rtspsrc_loop_send_cmd:<ch0_source> connection flush busy LOOP 0:00:21.456343000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 1 0:00:21.469275000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:8964:gst_rtspsrc_thread:<ch0_source> got command GET_PARAMETER 0:00:21.477672000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0 0:00:21.482189000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5160:gst_rtspsrc_connection_flush:<ch0_source> connection flush 0:00:21.503886000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:9349:gst_rtspsrc_get_parameter:<ch0_source> creating server get_parameter 0:00:21.508449000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0 0:00:21.515329000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:528:default_before_send:<ch0_source> default handler 0:00:21.535838000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:528:default_before_send:<ch0_source> default handler 0:00:21.540687000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6433:gst_rtspsrc_try_send:<ch0_source> sending message 0:00:21.546748000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9605:gst_rtspsrc_print_rtsp_message:<ch0_source> -------------------------------------------- 0:00:21.560963000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9608:gst_rtspsrc_print_rtsp_message:<ch0_source> RTSP request message 0000003D812FF120 0:00:21.568828000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9609:gst_rtspsrc_print_rtsp_message:<ch0_source> request line: 0:00:21.586959000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9611:gst_rtspsrc_print_rtsp_message:<ch0_source> method: 'GET_PARAMETER' 0:00:21.595634000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9612:gst_rtspsrc_print_rtsp_message:<ch0_source> uri: 'rtsp://192.168.0.13:8550/api/' 0:00:21.605397000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9614:gst_rtspsrc_print_rtsp_message:<ch0_source> version: '1.0' 0:00:21.609440000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9615:gst_rtspsrc_print_rtsp_message:<ch0_source> headers: 0:00:21.621570000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9589:dump_key_value:<ch0_source> key: 'Content-Type', value: 'text/parameters' 0:00:21.631298000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9617:gst_rtspsrc_print_rtsp_message:<ch0_source> body: 0:00:21.643720000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9621:gst_rtspsrc_print_rtsp_message:<ch0_source> 4096: (7) ..... some incoming video data logs ........ 0:00:35.537998000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9627:gst_rtspsrc_print_rtsp_message:<ch0_source> RTSP response message 0000003D812FF1A0 0:00:35.546915000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9628:gst_rtspsrc_print_rtsp_message:<ch0_source> status line: 0:00:35.550900000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9629:gst_rtspsrc_print_rtsp_message:<ch0_source> code: '200' 0:00:35.559559000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9630:gst_rtspsrc_print_rtsp_message:<ch0_source> reason: 'OK' 0:00:35.564766000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9632:gst_rtspsrc_print_rtsp_message:<ch0_source> version: '1.0 0:00:35.568755000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9633:gst_rtspsrc_print_rtsp_message:<ch0_source> headers: 0:00:35.584593000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9589:dump_key_value:<ch0_source> key: 'CSeq', value: '6' 0:00:35.588465000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9589:dump_key_value:<ch0_source> key: 'Server', value: 'GStreamer RTSP server' 0:00:35.607110000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9589:dump_key_value:<ch0_source> key: 'Session', value: 'ySNYIBArnBHWt4Vu' 0:00:35.631536000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9589:dump_key_value:<ch0_source> key: 'Date', value: 'Wed, 08 Jan 2020 14:11:02 GMT' 0:00:35.636800000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9589:dump_key_value:<ch0_source> key: 'Content-Length', value: '16' 0:00:35.644097000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9636:gst_rtspsrc_print_rtsp_message:<ch0_source> body: length 17 0:00:35.648621000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9639:gst_rtspsrc_print_rtsp_message:<ch0_source> 4096: 28261 (17) 0:00:35.658638000 12024 00000188B6EAF940 LOG rtspsrc gstrtspsrc.c:9697:gst_rtspsrc_print_rtsp_message:<ch0_source> -------------------------------------------- 0:00:35.670976000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6335:gst_rtsp_src_receive_response:<ch0_source> received response message 0:00:35.676652000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6354:gst_rtsp_src_receive_response:<ch0_source> got response message 200 readRegister : Register 0x1000 has value 0x6E65 0going to write register:00:35 .685208000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:8964:gst_rtspsrc_thread:<ch0_source> got command LOOP 0:00:35.686674000 12024 00000188B6EAEA50 LOG rtspsrc gstrtspsrc.c:1316:set_parameter:<ch0_source> set_parameter: 16: 10 0:00:35.701489000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0 0:00:35.720578000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5547:gst_rtspsrc_loop_interleaved:<ch0_source> doing receive with timeout 40 seconds, 951600 usec 0:00:35.720611000 12024 00000188B6EAEA50 DEBUG rtspsrc gstrtspsrc.c:6007:gst_rtspsrc_loop_send_cmd:<ch0_source> sending cmd SET_PARAMETER 0:00:35.726100000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5559:gst_rtspsrc_loop_interleaved:<ch0_source> we received a server message 0:00:35.746434000 12024 00000188B6EAEA50 DEBUG rtspsrc gstrtspsrc.c:6032:gst_rtspsrc_loop_send_cmd:<ch0_source> cancel previous request LOOP 0:00:35.754082000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5592:gst_rtspsrc_loop_interleaved:<ch0_source> got data message 0:00:35.759043000 12024 00000188B6EAEA50 DEBUG rtspsrc gstrtspsrc.c:6040:gst_rtspsrc_loop_send_cmd:<ch0_source> connection flush busy LOOP 0:00:35.788046000 12024 00000188B6EAEA50 DEBUG rtspsrc gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 1 0:00:35.792078000 12024 00000188B6EAEA50 DEBUG rtspsrc gstrtspsrc.c:5160:gst_rtspsrc_connection_flush:<ch0_source> connection flush Exception code=0xc0000005 flags=0x0 at 0x00007FFFEB1C2D0F. Access violation - attempting to write data at address 0xFFFFFFFFCCCCCCCC 0:00:35.779435000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5357:gst_rtspsrc_handle_data:<ch0_source> pushing data of size 65024 on channel 0 0:00:35.818967000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5547:gst_rtspsrc_loop_interleaved:<ch0_source> doing receive with timeout 40 seconds, 853214 usec 0:00:35.824916000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5618:gst_rtspsrc_loop_interleaved:<ch0_source> got interrupted 0:00:35.832254000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6105:gst_rtspsrc_loop:<ch0_source> pausing task, reason flushing 0:00:35.836955000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6007:gst_rtspsrc_loop_send_cmd:<ch0_source> sending cmd WAIT 0:00:35.848743000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6023:gst_rtspsrc_loop_send_cmd:<ch0_source> ignore, we have a pending SET_PARAMETER 0:00:35.853598000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:6040:gst_rtspsrc_loop_send_cmd:<ch0_source> connection flush busy LOOP 0:00:35.864058000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 1 0:00:35.868684000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:8964:gst_rtspsrc_thread:<ch0_source> got command SET_PARAMETER 0:00:35.880931000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0 0:00:35.886091000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5160:gst_rtspsrc_connection_flush:<ch0_source> connection flush 0:00:35.893998000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:9466:gst_rtspsrc_set_parameter:<ch0_source> creating server set_parameter 0:00:35.902741000 12024 00000188B6EAF940 DEBUG rtspsrc gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0 0:00:37.267162000 12024 00000188B7131680 DEBUG rtspsrc gstrtspsrc.c:3187:gst_rtspsrc_sink_chain:<ch0_source> sending 84 bytes RTCP -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list gstreamer-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |