mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
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: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8125>
This commit is contained in:
parent
7d793d8836
commit
ed28bde0a6
1 changed files with 4 additions and 9 deletions
|
@ -815,8 +815,8 @@ _get_codec_stats_from_pad (GstWebRTCBin * webrtc, GstPad * pad,
|
||||||
GstStructure *caps_s = gst_caps_get_structure (caps, 0);
|
GstStructure *caps_s = gst_caps_get_structure (caps, 0);
|
||||||
gint pt;
|
gint pt;
|
||||||
const gchar *encoding_name, *media, *encoding_params;
|
const gchar *encoding_name, *media, *encoding_params;
|
||||||
GstSDPMedia sdp_media = { 0 };
|
|
||||||
guint channels = 0;
|
guint channels = 0;
|
||||||
|
const gchar *fmtp;
|
||||||
|
|
||||||
if (gst_structure_get_int (caps_s, "payload", &pt))
|
if (gst_structure_get_int (caps_s, "payload", &pt))
|
||||||
gst_structure_set (stats, "payload-type", G_TYPE_UINT, pt, NULL);
|
gst_structure_set (stats, "payload-type", G_TYPE_UINT, pt, NULL);
|
||||||
|
@ -852,15 +852,10 @@ _get_codec_stats_from_pad (GstWebRTCBin * webrtc, GstPad * pad,
|
||||||
else
|
else
|
||||||
gst_structure_set (stats, "codec-type", G_TYPE_STRING, "encode", NULL);
|
gst_structure_set (stats, "codec-type", G_TYPE_STRING, "encode", NULL);
|
||||||
|
|
||||||
gst_sdp_media_init (&sdp_media);
|
fmtp = gst_structure_get_string (caps_s, "a-fmtp");
|
||||||
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) {
|
if (fmtp) {
|
||||||
gst_structure_set (stats, "sdp-fmtp-line", G_TYPE_STRING, fmtp, NULL);
|
gst_structure_set (stats, "sdp-fmtp-line", G_TYPE_STRING, fmtp, NULL);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
gst_sdp_media_uninit (&sdp_media);
|
|
||||||
|
|
||||||
/* FIXME: transportId */
|
/* FIXME: transportId */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue