Change GstSdp.sdp_message_parse_buffer to GstSdp.SDPMessage.new_from_text in examples
authorSeungmin Kim <66779-ehf@users.noreply.gitlab.freedesktop.org>
Mon, 28 Nov 2022 14:54:27 +0000 (14:54 +0000)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 16 Dec 2022 10:40:41 +0000 (10:40 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3477>

subprojects/gst-examples/webrtc/check/validate/client.py
subprojects/gst-examples/webrtc/check/validate/webrtc_validate.py
subprojects/gst-examples/webrtc/janus/janusvideoroom.py
subprojects/gst-examples/webrtc/sendrecv/gst/webrtc_sendrecv.py

index 4a19982..9374537 100644 (file)
@@ -88,10 +88,7 @@ class WebRTCBinObserver(WebRTCObserver):
         return new_state
 
     def _deepcopy_session_description(self, desc):
-        # XXX: passing 'offer' to both a promise and an action signal without
-        # a deepcopy will segfault...
-        new_sdp = GstSdp.SDPMessage.new()[1]
-        GstSdp.sdp_message_parse_buffer(bytes(desc.sdp.as_text().encode()), new_sdp)
+        _, new_sdp = GstSdp.SDPMessage.new_from_text(desc.sdp.as_text())
         return GstWebRTC.WebRTCSessionDescription.new(desc.type, new_sdp)
 
     def _on_offer_created(self, promise, element):
index 67f3aeb..1a82181 100644 (file)
@@ -170,8 +170,7 @@ class WebRTCApplication(object):
         def have_json(msg):
             if 'sdp' in msg:
                 sdp = msg['sdp']
-                res, sdpmsg = GstSdp.SDPMessage.new()
-                GstSdp.sdp_message_parse_buffer(bytes(sdp['sdp'].encode()), sdpmsg)
+                res, sdpmsg = GstSdp.SDPMessage.new_from_text(sdp['sdp'])
                 sdptype = GstWebRTC.WebRTCSDPType.ANSWER if sdp['type'] == 'answer' else GstWebRTC.WebRTCSDPType.OFFER
                 desc = GstWebRTC.WebRTCSessionDescription.new(sdptype, sdpmsg)
                 self.client.set_remote_description(desc)
index 1364864..ab52b60 100644 (file)
@@ -358,9 +358,7 @@ class WebRTCClient:
             sdp = msg['sdp']
             assert(msg['type'] == 'answer')
             print ('Received answer:\n%s' % sdp)
-            res, sdpmsg = GstSdp.SDPMessage.new()
-            GstSdp.sdp_message_parse_buffer(bytes(sdp.encode()), sdpmsg)
-
+            res, sdpmsg = GstSdp.SDPMessage.new_from_text(sdp)
             answer = GstWebRTC.WebRTCSessionDescription.new(GstWebRTC.WebRTCSDPType.ANSWER, sdpmsg)
             promise = Gst.Promise.new()
             self.webrtc.emit('set-remote-description', answer, promise)
index 6c5442b..cfea3b7 100755 (executable)
@@ -224,16 +224,14 @@ class WebRTCClient:
             sdp = msg['sdp']['sdp']
             if msg['sdp']['type'] == 'answer':
                 print_status('Received answer:\n%s' % sdp)
-                res, sdpmsg = GstSdp.SDPMessage.new()
-                GstSdp.sdp_message_parse_buffer(bytes(sdp.encode()), sdpmsg)
+                res, sdpmsg = GstSdp.SDPMessage.new_from_text(sdp)
                 answer = GstWebRTC.WebRTCSessionDescription.new(GstWebRTC.WebRTCSDPType.ANSWER, sdpmsg)
                 promise = Gst.Promise.new()
                 self.webrtc.emit('set-remote-description', answer, promise)
                 promise.interrupt()  # we don't care about the result, discard it
             else:
                 print_status('Received offer:\n%s' % sdp)
-                res, sdpmsg = GstSdp.SDPMessage.new()
-                GstSdp.sdp_message_parse_buffer(bytes(sdp.encode()), sdpmsg)
+                res, sdpmsg = GstSdp.SDPMessage.new_from_text(sdp)
 
                 if not self.webrtc:
                     print_status('Incoming call: received an offer, creating pipeline')