ICE candidate negotiation process

Neil Young foreverneilyoung at googlemail.com
Sat Jul 11 14:26:39 UTC 2020


OK, solved it:

        self.logger.info("***ON ICE CONNECTION STATE {}".format(self.webrtc.get_property(param2.name)))

> Am 10.07.2020 um 20:42 schrieb Neil Young <foreverneilyoung at googlemail.com>:
> 
> Well, after SDP offer and answer and all ICE candidates have been sent and received I'm getting these callbacks in a row:
> 
> 2020-07-10 20:39:06,132 df.py-INFO    : ***ON ICE CONNECTION STATE <enum GST_WEBRTC_ICE_CONNECTION_STATE_NEW of type GstWebRTC.WebRTCICEConnectionState>
> 2020-07-10 20:39:06,132 df.py-INFO    : ***ON ICE GATHERING STATE <enum GST_WEBRTC_ICE_GATHERING_STATE_NEW of type GstWebRTC.WebRTCICEGatheringState>
> 2020-07-10 20:39:06,152 df.py-INFO    : ***ON ICE CONNECTION STATE <enum GST_WEBRTC_ICE_CONNECTION_STATE_NEW of type GstWebRTC.WebRTCICEConnectionState>
> 2020-07-10 20:39:06,197 df.py-INFO    : ***ON ICE GATHERING STATE <enum GST_WEBRTC_ICE_GATHERING_STATE_NEW of type GstWebRTC.WebRTCICEGatheringState>
> 
> Is this correct? 
> 
> The handler:
> 
>     def on_ice_connection_state(self, _, param2):
>         self.logger.info <http://logger.info/>("***ON ICE CONNECTION STATE {}".format(param2.default_value))
>     
>     def on_ice_gathering_state(self, _, param2):
>         self.logger.info <http://logger.info/>("***ON ICE GATHERING STATE {}".format(param2.default_value))
> 
> 
> The setup:
> 
>         self.webrtc.connect('notify::ice-connection-state', self.on_ice_connection_state)
>         self.webrtc.connect('notify::ice-gathering-state', self.on_ice_gathering_state)
> 
> 
> 
>> Am 10.07.2020 um 20:34 schrieb Neil Young <foreverneilyoung at googlemail.com <mailto:foreverneilyoung at googlemail.com>>:
>> 
>> Maybe like so:
>> 
>> 
>>  print("***ON ICE CONNECTION STATE {} {}".format(param1, param2.default_value))
>> 
>> But it is not helpful, since it always just returns "STATE_NEW" on different callbacks...
>> 
>> ***ON ICE CONNECTION STATE <__gi__.GstWebRTCBin object at 0x113cf34b0 (GstWebRTCBin at 0x7fa8c52ba220)> <enum GST_WEBRTC_ICE_CONNECTION_STATE_NEW of type GstWebRTC.WebRTCICEConnectionState>
>> ***ON ICE CONNECTION STATE <__gi__.GstWebRTCBin object at 0x113cf34b0 (GstWebRTCBin at 0x7fa8c52ba220)> <enum GST_WEBRTC_ICE_CONNECTION_STATE_NEW of type GstWebRTC.WebRTCICEConnectionState>
>> 
>>> Am 10.07.2020 um 20:29 schrieb Neil Young <foreverneilyoung at googlemail.com <mailto:foreverneilyoung at googlemail.com>>:
>>> 
>>> A bit further:
>>> 
>>>         self.webrtc.connect('notify::ice-connection-state', self.on_ice_connection_state)
>>> 
>>> and later:
>>> 
>>> 
>>>     def on_ice_connection_state(self, param1, param2):
>>>         print("***ON ICE CONNECTION STATE {} {}".format(param1, type(param2)))
>>>         
>>> ***ON ICE CONNECTION STATE <__gi__.GstWebRTCBin object at 0x112639a00 (GstWebRTCBin at 0x7fe915310220)> <class 'gobject.GParamSpec'>
>>> 
>>> But I can't currently figure out, what element of the "gobject.GParamSpec" contains the value. I can access "name", "nick", "blurb", "flags", but no value...
>>> 
>>> 
>>> 
>>> 
>>>> Am 10.07.2020 um 12:20 schrieb Matthew Waters <ystreet00 at gmail.com <mailto:ystreet00 at gmail.com>>:
>>>> 
>>>> I'm not aware of anything for this specific example, no.  There are
>>>> plenty of other examples regarding GObject notify signalling for other
>>>> properties though.
>>>> 
>>>> On 10/7/20 2:55 pm, Neil Young wrote:
>>>>> Thanks Matthew. Are you aware of any sample code, demonstrating that for GStreamer and Python?
>>>>> 
>>>>> 
>>>>>> 'ice-connection-state' and 'ice-gathering-state' on webrtcbin.  Use the
>>>>>> GObject notify signal to track changes.
>>>>>> 
>>>>>>> On 10/7/20 3:36 am, Neil Young wrote:
>>>>>>> Hi,
>>>>>>> 
>>>>>>> I'm wondering, if there would be kind of a status callback, which provides me the ICE negotiation state. I'm using the Python bindings of GStreamer.
>>>>>>> 
>>>>>>> Regards
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> gstreamer-devel mailing list
>>>>>>> gstreamer-devel at lists.freedesktop.org <mailto:gstreamer-devel at lists.freedesktop.org>
>>>>>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel <https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel>
>>>>>> 
>>>> 
>>>> 
>>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200711/111366a3/attachment.htm>


More information about the gstreamer-devel mailing list