goto drop_buffer;
}
+ if (!STREAM_HAS_CRYPTO (stream)) {
+ GST_OBJECT_UNLOCK (filter);
+ goto push_out;
+ }
+
GST_LOG_OBJECT (pad, "Received %s buffer of size %" G_GSIZE_FORMAT
" with SSRC = %u", is_rtcp ? "RTCP" : "RTP", gst_buffer_get_size (buf),
ssrc);
if (gst_srtp_get_soft_limit_reached ())
request_key_with_signal (filter, ssrc, SIGNAL_SOFT_LIMIT);
+push_out:
/* Push buffer to source pad */
otherpad = (GstPad *) gst_pad_get_element_private (pad);
ret = gst_pad_push (otherpad, buf);
GST_OBJECT_LOCK (filter);
- size_max = gst_buffer_get_size (buf) + SRTP_MAX_TRAILER_LEN + 10;
-
/* Update source caps if asked */
if (do_setcaps) {
GstCaps *caps;
GST_OBJECT_LOCK (filter);
}
+ if (!HAS_CRYPTO (filter)) {
+ GST_OBJECT_UNLOCK (filter);
+ otherpad = get_rtp_other_pad (pad);
+ return gst_pad_push (otherpad, buf);
+ }
+
+
/* Create a bigger buffer to add protection */
+ size_max = gst_buffer_get_size (buf) + SRTP_MAX_TRAILER_LEN + 10;
bufout = gst_buffer_new_allocate (NULL, size_max, NULL);
gst_buffer_map (buf, &mapin, GST_MAP_READ);