From: Philippe Normand Date: Tue, 10 Dec 2024 16:15:09 +0000 (+0000) Subject: webrtc: Simplify fmtp handling in codec stats X-Git-Tag: 1.24.11~31 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4544b00b0caeb20e54a54f8f820fa29adcdcea82;p=platform%2Fupstream%2Fgstreamer.git webrtc: Simplify fmtp handling in codec stats Parsing the whole caps as SDP media only to retrieve the fmtp field afterwards seems a bit superfluous. By looking up the a-fmtp attribute directly the number of allocations in this function gets down a bit. Part-of: --- diff --git a/subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcstats.c b/subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcstats.c index 2577323e51..5bc3e22980 100644 --- a/subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcstats.c +++ b/subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcstats.c @@ -803,8 +803,8 @@ _get_codec_stats_from_pad (GstWebRTCBin * webrtc, GstPad * pad, GstStructure *caps_s = gst_caps_get_structure (caps, 0); gint pt; const gchar *encoding_name, *media, *encoding_params; - GstSDPMedia sdp_media = { 0 }; guint channels = 0; + const gchar *fmtp; if (gst_structure_get_int (caps_s, "payload", &pt)) gst_structure_set (stats, "payload-type", G_TYPE_UINT, pt, NULL); @@ -840,15 +840,10 @@ _get_codec_stats_from_pad (GstWebRTCBin * webrtc, GstPad * pad, else gst_structure_set (stats, "codec-type", G_TYPE_STRING, "encode", NULL); - gst_sdp_media_init (&sdp_media); - if (gst_sdp_media_set_media_from_caps (caps, &sdp_media) == GST_SDP_OK) { - const gchar *fmtp = gst_sdp_media_get_attribute_val (&sdp_media, "fmtp"); - - if (fmtp) { - gst_structure_set (stats, "sdp-fmtp-line", G_TYPE_STRING, fmtp, NULL); - } + fmtp = gst_structure_get_string (caps_s, "a-fmtp"); + if (fmtp) { + gst_structure_set (stats, "sdp-fmtp-line", G_TYPE_STRING, fmtp, NULL); } - gst_sdp_media_uninit (&sdp_media); /* FIXME: transportId */ }