<div dir="ltr"><div dir="ltr">Yes, you nailed it: I'm on an older release. gst-inspect showed that the property didn't exist. I was hyper-focused on the latest source and failed to inspect my local branch. I had actually thought about that over dinner today while thinking about the post I made to this group. Thanks for confirming it for me. <br><br>Can you explain "it needs updating to place the necessary properties on the ICE object rather than on webrtcbin itself"? I'm willing to do the leg work, I'm just not sure what you mean precisely. <br><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 16, 2020 at 9:47 PM Matthew Waters <<a href="mailto:ystreet00@gmail.com">ystreet00@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div><br>
<br>
On 17/7/20 7:55 am, Ben Rush wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">Admittedly I seem to occasionally
get myself confused when it comes to
navigating objects and their properties in the
GLib Object System. Often I find
myself exploring sample code and piecing
together an understanding from that. However,
I can't seem to get at what I need here and am
hoping someone can help. <br>
<br>
First, the main problem I'm attempting to
solve is forcing WebRTCBin to restrict the
addresses and ports used when generating ICE
candidates. I'm behind a firewall, don't want
to / can't use a TURN server in my specific
scenario, and so would like to specify the
exact ports / addresses to be considered as
candidates. From examining the source, it
appears as though my only way to do that is to
rely on emitting this signal with the address
information (IP/port): <br>
<br>
<a href="https://gstreamer.freedesktop.org/documentation/webrtc/index.html?gi-language=c#GstWebRTCICE::add-local-ip-address" target="_blank">https://gstreamer.freedesktop.org/documentation/webrtc/index.html?gi-language=c#GstWebRTCICE::add-local-ip-address</a><br>
</div>
<div dir="ltr"><br>
</div>
<div>So, I assume I'll need to call
g_signal_emit_by_name() with the proper
arguments, one of which being the object to
receive the signal. All well and good, except
for the fact that the receiving object is of
type GstWebRTCICE. So, I need to get that
object. Per this documentation: <a href="https://gstreamer.freedesktop.org/documentation/webrtc/index.html?gi-language=c#webrtcbin:ice-agent" target="_blank">https://gstreamer.freedesktop.org/documentation/webrtc/index.html?gi-language=c#webrtcbin:ice-agent</a> it
appears to be a property on the webrtcbin
element. </div>
<div><br>
So, I have this code: <br>
<br>
<div> _pipeline =
gst_parse_launch("webrtcbin
bundle-policy=max-bundle name=sendrecv "</div>
<div> "autoaudiosrc ! audioconvert !
audioresample ! queue ! opusenc ! rtpopuspay
! "</div>
<div> "queue ! " RTP_CAPS_OPUS "97 !
sendrecv. ", &error);<br>
.....<br>
_webRtcElement =
gst_bin_get_by_name(GST_BIN(_pipeline),
"sendrecv");<br>
</div>
</div>
<div>.....<br>
GValue value = { 0, };</div>
<div> g_value_init(&value,
G_TYPE_OBJECT);</div>
<div>
g_object_get_property(G_OBJECT(_webRtcElement),
"ice-agent", &value);</div>
<div> GObject* object =
(GObject*)g_value_get_object(&value);</div>
<div><br>
</div>
<div>But the value of the object is always null.
What am I doing wrong? How am I navigating
this improperly? <br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
Do you have a version of GStreamer that includes that? The
'ice-agent' property on webrtcbin and 'add-local-ip-address' on
gstwebrtcice is only available in master and is not in any released
version yet.<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div>Also, I noticed this merge request: <a href="https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/856" target="_blank">https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/856</a>.
I'm hoping this doesn't mean forcing a
particular IP/port is even possible with
webrtcbin. <br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
This MR would probably by your best bet but it needs updating to
place the necessary properties on the ICE object rather than on
webrtcbin itself.<br>
<br>
Cheers<br>
-Matt<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div>Thanks in advance. </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
gstreamer-devel mailing list
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
</blockquote>
<br>
</div>
</blockquote></div>