Ive been trying to write a python Gstreamer WebRTC client, and have finally gotten all of the dependencies figured out and the right versions of everything. Now I seem to have the issue that I connect callbacks for signals that should run automatically, i.e. “on-negotiation-needed”, but those callbacks never run. Additionally, when I emit signals with attached callbacks such as “create-answer”, the callback is never run. This is evident even in signals such as “set-remote-description” as I construct the proper objects but when I check the remote description after waiting for the promise result it is still None. If anyone has had this problem before, any help would be appreciated. -- Ashwin Dharne Software Engineer, DMAI Inc. (949)878-7682 _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I've not used the WebRTC client, but nearest behaviour to what you
describe is where the thread containing the GLib.MainLoop is somehow prevented from running. Check that every callback called by the main loop does actually return. Try running an instance of the main loop yourself? On Tue, Jul 31, 2018 at 02:07:38AM -0700, Ashwin Dharne wrote: > Ive been trying to write a python Gstreamer WebRTC client, and have finally > gotten all of the dependencies figured out and the right versions of > everything. Now I seem to have the issue that I connect callbacks for signals > that should run automatically, i.e. “on-negotiation-needed”, but those > callbacks never run. Additionally, when I emit signals with attached callbacks > such as “create-answer”, the callback is never run. This is evident even in > signals such as “set-remote-description” as I construct the proper objects but > when I check the remote description after waiting for the promise result it is > still None. If anyone has had this problem before, any help would be > appreciated. > -- > Ashwin Dharne > Software Engineer, DMAI Inc. > (949)878-7682 > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel -- James Cameron http://quozl.netrek.org/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Ashwin Dharne
Have you been able to successfully run the python example from
<https://github.com/centricular/gstwebrtc-demos/blob/master/sendrecv/gst/webrtc-sendrecv.py> ? On 07/31/2018 11:07 AM, Ashwin Dharne
wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I was able to successfully run the demo. I think that I'm doing something wrong with regards to asyncio and the program is blocking before it reaches the mainloop. I'm looking into it right now. Thanks for the help! On Tue, Jul 31, 2018 at 7:37 AM Mathieu Duponchelle <[hidden email]> wrote:
Ashwin Dharne Software Engineer, DMAI Inc. (949)878-7682 _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Also, I'm trying to follow the python demo given, but I'm not seeing a statement that runs the mainloop anywhere, am I missing something? On Tue, Jul 31, 2018 at 10:39 AM Ashwin Dharne <[hidden email]> wrote:
Ashwin Dharne Software Engineer, DMAI Inc. (949)878-7682 _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 07/31/2018 07:54 PM, Ashwin Dharne wrote:
> Also, I'm trying to follow the python demo given, but I'm not seeing a statement that runs the mainloop anywhere, am I missing something? > It does not use a GMainLoop, but the asyncio event loop. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I see. On a different note, I am now attempting to run the cerbero build tool to automate the dependency building, but am getting the error GstWebRTC Namespace not available, could you possibly shed any light on what the issue might be? I understand that it relates to the .typelib file not being in the girepository-1.0 directory, but for some reason it doesn't get built there. Thanks! On Tue, Jul 31, 2018 at 11:05 AM Mathieu Duponchelle <[hidden email]> wrote: On 07/31/2018 07:54 PM, Ashwin Dharne wrote: Ashwin Dharne Software Engineer, DMAI Inc. (949)878-7682 _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I figured out that error and managed to install everything correctly, but for some reason when running I run into the errors: sys:1: Warning: g_object_set: assertion 'G_IS_OBJECT (object)' failed sys:1: Warning: invalid (NULL) pointer instance sys:1: Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (python3:8091): GStreamer-CRITICAL **: 12:28:52.849: gst_bin_add: assertion 'GST_IS_ELEMENT (element)' failed (python3:8091): GStreamer-CRITICAL **: 12:28:52.849: gst_element_link_pads_full: assertion 'GST_IS_ELEMENT (src)' failed ** (python3:8091): WARNING **: 12:28:52.849: (transportsendbin.c:387):tsb_setup_ctx: code should not be reached Segmentation fault (core dumped) I'm not sure what's wrong anymore, I've only gotten a similar error on my own client before that wasn't working and I assumed it was a dependency error. On Tue, Jul 31, 2018 at 9:00 PM Ashwin Dharne <[hidden email]> wrote:
Ashwin Dharne Software Engineer, DMAI Inc. (949)878-7682 _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le mercredi 01 août 2018 à 12:31 -0700, Ashwin Dharne a écrit :
> I figured out that error and managed to install everything correctly, > but for some reason when running I run into the errors: > > sys:1: Warning: g_object_set: assertion 'G_IS_OBJECT (object)' failed > sys:1: Warning: invalid (NULL) pointer instance > sys:1: Warning: g_signal_connect_data: assertion > 'G_TYPE_CHECK_INSTANCE (instance)' failed > > (python3:8091): GStreamer-CRITICAL **: 12:28:52.849: gst_bin_add: > assertion 'GST_IS_ELEMENT (element)' failed > > (python3:8091): GStreamer-CRITICAL **: 12:28:52.849: > gst_element_link_pads_full: assertion 'GST_IS_ELEMENT (src)' failed > > ** (python3:8091): WARNING **: 12:28:52.849: > (transportsendbin.c:387):tsb_setup_ctx: code should not be reached > Segmentation fault (core dumped) > > I'm not sure what's wrong anymore, I've only gotten a similar error > on my own client before that wasn't working and I assumed it was a > dependency error. You have a NULL pointer somewhere. Try and set G_DEBUG=fatal_criticals and then run this inside gdb to locate where this null pointer is from. > > > On Tue, Jul 31, 2018 at 9:00 PM Ashwin Dharne <[hidden email]> > wrote: > > I see. On a different note, I am now attempting to run the cerbero > > build tool to automate the dependency building, but am getting the > > error GstWebRTC Namespace not available, could you possibly shed > > any light on what the issue might be? I understand that it relates > > to the .typelib file not being in the girepository-1.0 directory, > > but for some reason it doesn't get built there. Thanks! > > > > On Tue, Jul 31, 2018 at 11:05 AM Mathieu Duponchelle < > > [hidden email]> wrote: > > > On 07/31/2018 07:54 PM, Ashwin Dharne wrote: > > > > Also, I'm trying to follow the python demo given, but I'm not > > > seeing a statement that runs the mainloop anywhere, am I missing > > > something? > > > > > > > > > > It does not use a GMainLoop, but the asyncio event loop. > > > _______________________________________________ > > > gstreamer-devel mailing list > > > [hidden email] > > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > > > > > > -- > > Ashwin Dharne > > Software Engineer, DMAI Inc. > > (949)878-7682 > > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I backtraced in gdb and got this: Thread 3 "gst-pc-ops" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffe65e2700 (LWP 23189)] _find_pad_template (element=0x0, direction=direction@entry=GST_PAD_SINK, presence=presence@entry=GST_PAD_REQUEST, name=name@entry=0x7ffff0954e4b "rtp_sink_%d") at ../subprojects/gst-plugins-bad/ext/webrtc/utils.c:32 32 const GList *l = gst_element_class_get_pad_template_list (element_class); (gdb) bt #0 0x00007ffff095017e in _find_pad_template (element=0x0, direction=direction@entry=GST_PAD_SINK, presence=presence@entry=GST_PAD_REQUEST, name=name@entry=0x7ffff0954e4b "rtp_sink_%d") at ../subprojects/gst-plugins-bad/ext/webrtc/utils.c:32 #1 0x00007ffff094f3ec in transport_send_bin_constructed (object=0x7fffe001a0c0) at ../subprojects/gst-plugins-bad/ext/webrtc/transportsendbin.c:412 #2 0x00007ffff37ff760 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #3 0x00007ffff3801420 in g_object_new_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #4 0x00007ffff3801799 in g_object_new () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #5 0x00007ffff0950087 in transport_stream_constructed (object=0x7fffe0005800) at ../subprojects/gst-plugins-bad/ext/webrtc/transportstream.c:177 #6 0x00007ffff37ff760 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #7 0x00007ffff3801420 in g_object_new_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #8 0x00007ffff3801799 in g_object_new () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #9 0x00007ffff0950167 in transport_stream_new (webrtc=<optimized out>, session_id=<optimized out>) at ../subprojects/gst-plugins-bad/ext/webrtc/transportstream.c:248 #10 0x00007ffff09455d5 in _create_transport_channel (webrtc=webrtc@entry=0xfa40f0, session_id=session_id@entry=0) at ../subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c:1367 #11 0x00007ffff094973c in sdp_media_from_transceiver (type=GST_WEBRTC_SDP_TYPE_OFFER, media_idx=0, trans=<optimized out>, media=0x7fffe65e1d00, webrtc=0xfa40f0) at ../subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c:1742 #12 0x00007ffff094973c in _create_offer_task (options=<optimized out>, webrtc=0xfa40f0) at ../subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c:1811 #13 0x00007ffff094973c in _create_sdp_task (webrtc=0xfa40f0, data=0x7fffe00072f0) at ../subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c:2205 #14 0x00007ffff09444df in _execute_op (op=0x7fffe0007310) at ../subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c:634 #15 0x00007ffff35200f5 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #16 0x00007ffff35204c0 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #17 0x00007ffff35207d2 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #18 0x00007ffff09445fa in _gst_pc_thread (webrtc=0xfa40f0) at ../subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c:585 #19 0x00007ffff3547e05 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #20 0x00007ffff7bbd6db in start_thread (arg=0x7fffe65e2700) at pthread_create.c:463 #21 0x00007ffff6cf288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 I'm not sure how to interpret this, is 'element' in _find_pad_template the culprit? I'm not ver y familiar with gstreamer's internals so I'm unsure what that entails or how to fix it. On Wed, Aug 1, 2018 at 2:21 PM Nicolas Dufresne <[hidden email]> wrote: Le mercredi 01 août 2018 à 12:31 -0700, Ashwin Dharne a écrit : Ashwin Dharne Software Engineer, DMAI Inc. (949)878-7682 _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
The only case I can think of where this
can occur is if you don't have the dtls elements available.
What does 'gst-inspect-1.0 dtls' produce? Cheers -Matt On 02/08/18 15:08, Ashwin Dharne wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (499 bytes) Download Attachment |
Free forum by Nabble | Edit this page |