mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 17:20:36 +00:00
rtpopusdepay: minor perf improvements
Use the ::process_rtp_packet() vfunc to avoid mapping the RTP buffer twice. gst_rtp_buffer_get_payload_buffer() returns a new sub-buffer which will always be writable, so no need to make it writable.
This commit is contained in:
parent
f9a740b319
commit
a9f9166004
1 changed files with 5 additions and 8 deletions
|
@ -52,7 +52,7 @@ GST_STATIC_PAD_TEMPLATE ("src",
|
|||
);
|
||||
|
||||
static GstBuffer *gst_rtp_opus_depay_process (GstRTPBaseDepayload * depayload,
|
||||
GstBuffer * buf);
|
||||
GstRTPBuffer * rtp_buffer);
|
||||
static gboolean gst_rtp_opus_depay_setcaps (GstRTPBaseDepayload * depayload,
|
||||
GstCaps * caps);
|
||||
|
||||
|
@ -77,7 +77,7 @@ gst_rtp_opus_depay_class_init (GstRTPOpusDepayClass * klass)
|
|||
"Extracts Opus audio from RTP packets",
|
||||
"Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>");
|
||||
|
||||
gstbasertpdepayload_class->process = gst_rtp_opus_depay_process;
|
||||
gstbasertpdepayload_class->process_rtp_packet = gst_rtp_opus_depay_process;
|
||||
gstbasertpdepayload_class->set_caps = gst_rtp_opus_depay_setcaps;
|
||||
|
||||
GST_DEBUG_CATEGORY_INIT (rtpopusdepay_debug, "rtpopusdepay", 0,
|
||||
|
@ -140,16 +140,13 @@ gst_rtp_opus_depay_setcaps (GstRTPBaseDepayload * depayload, GstCaps * caps)
|
|||
}
|
||||
|
||||
static GstBuffer *
|
||||
gst_rtp_opus_depay_process (GstRTPBaseDepayload * depayload, GstBuffer * buf)
|
||||
gst_rtp_opus_depay_process (GstRTPBaseDepayload * depayload,
|
||||
GstRTPBuffer * rtp_buffer)
|
||||
{
|
||||
GstBuffer *outbuf;
|
||||
GstRTPBuffer rtpbuf = { NULL, };
|
||||
|
||||
gst_rtp_buffer_map (buf, GST_MAP_READ, &rtpbuf);
|
||||
outbuf = gst_rtp_buffer_get_payload_buffer (&rtpbuf);
|
||||
gst_rtp_buffer_unmap (&rtpbuf);
|
||||
outbuf = gst_rtp_buffer_get_payload_buffer (rtp_buffer);
|
||||
|
||||
outbuf = gst_buffer_make_writable (outbuf);
|
||||
gst_rtp_drop_non_audio_meta (depayload, outbuf);
|
||||
|
||||
return outbuf;
|
||||
|
|
Loading…
Reference in a new issue