diff options
author | Miguel París Díaz <mparisdiaz@gmail.com> | 2015-07-24 09:42:53 +0200 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2015-07-24 09:28:01 +0100 |
commit | 7db723831ddcc07f506e64e027b504ac16a067f7 (patch) | |
tree | 000276f14cc198eb08ef54ae15899493b09cdc68 /ext/srtp/gstsrtpenc.c | |
parent | 90a1ff1383335b4e57019a710be9165b98a50a7c (diff) | |
download | gstreamer-plugins-bad-7db723831ddcc07f506e64e027b504ac16a067f7.tar.gz |
srtpenc: do not check input buffers
With this we avoid an unnecessary and considerable overhead.
https://bugzilla.gnome.org/show_bug.cgi?id=752774
Diffstat (limited to 'ext/srtp/gstsrtpenc.c')
-rw-r--r-- | ext/srtp/gstsrtpenc.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/ext/srtp/gstsrtpenc.c b/ext/srtp/gstsrtpenc.c index 8489da42b..eb00886a4 100644 --- a/ext/srtp/gstsrtpenc.c +++ b/ext/srtp/gstsrtpenc.c @@ -162,12 +162,6 @@ enum PROP_ALLOW_REPEAT_TX }; -typedef struct ValidateBufferItData -{ - GstSrtpEnc *filter; - gboolean is_rtcp; -} ValidateBufferItData; - typedef struct ProcessBufferItData { GstSrtpEnc *filter; @@ -970,34 +964,6 @@ gst_srtp_enc_replace_random_key (GstSrtpEnc * filter) filter->key_changed = TRUE; } -static gboolean -gst_srtp_enc_check_buffer (GstSrtpEnc * filter, GstBuffer * buf, - gboolean is_rtcp) -{ - if (!is_rtcp) { - GstRTPBuffer rtpbuf = GST_RTP_BUFFER_INIT; - - if (!gst_rtp_buffer_map (buf, GST_MAP_READ, &rtpbuf)) { - GST_ELEMENT_ERROR (filter, STREAM, WRONG_TYPE, (NULL), - ("Could not map RTP buffer")); - return FALSE; - } - - gst_rtp_buffer_unmap (&rtpbuf); - } else { - GstRTCPBuffer rtcpbuf = GST_RTCP_BUFFER_INIT; - - if (!gst_rtcp_buffer_map (buf, GST_MAP_READ, &rtcpbuf)) { - GST_ELEMENT_ERROR (filter, STREAM, WRONG_TYPE, (NULL), - ("Could not map RTCP buffer")); - return FALSE; - } - gst_rtcp_buffer_unmap (&rtcpbuf); - } - - return TRUE; -} - static GstFlowReturn gst_srtp_enc_check_set_caps (GstSrtpEnc * filter, GstPad * pad, gboolean is_rtcp) @@ -1109,10 +1075,6 @@ gst_srtp_enc_chain (GstPad * pad, GstObject * parent, GstBuffer * buf, GstPad *otherpad; GstBuffer *bufout = NULL; - if (!gst_srtp_enc_check_buffer (filter, buf, is_rtcp)) { - goto fail; - } - if ((ret = gst_srtp_enc_check_set_caps (filter, pad, is_rtcp)) != GST_FLOW_OK) { goto out; } @@ -1163,19 +1125,6 @@ fail: } static gboolean -validate_buffer_it (GstBuffer ** buffer, guint index, gpointer user_data) -{ - ValidateBufferItData *data = user_data; - - if (!gst_srtp_enc_check_buffer (data->filter, *buffer, data->is_rtcp)) { - GST_WARNING_OBJECT (data->filter, "Invalid buffer, dropping"); - gst_buffer_replace (buffer, NULL); - } - - return TRUE; -} - -static gboolean process_buffer_it (GstBuffer ** buffer, guint index, gpointer user_data) { ProcessBufferItData *data = user_data; @@ -1200,17 +1149,11 @@ gst_srtp_enc_chain_list (GstPad * pad, GstObject * parent, GstFlowReturn ret = GST_FLOW_OK; GstPad *otherpad; GstBufferList *out_list = NULL; - ValidateBufferItData validate_data; ProcessBufferItData process_data; - validate_data.filter = filter; - validate_data.is_rtcp = is_rtcp; - GST_LOG_OBJECT (pad, "Buffer chain with list of %d", gst_buffer_list_length (buf_list)); - gst_buffer_list_foreach (buf_list, validate_buffer_it, &validate_data); - if (!gst_buffer_list_length (buf_list)) goto out; |