summaryrefslogtreecommitdiffstats
path: root/gst/rtp/gstrtpmpvdepay.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2007-03-29 14:03:21 +0000
committerWim Taymans <wim.taymans@gmail.com>2007-03-29 14:03:21 +0000
commitda3e23d3758e7c5b38b27c4894f1f0845e5231e9 (patch)
treefc46d7425d473f313be940b326dc11d7274d5a57 /gst/rtp/gstrtpmpvdepay.c
parentd26cbc8c663b56976224a433c18817be5a57fe45 (diff)
gst/rtp/: Use more efficient adapter and rtpbuffer methods when possible.
Original commit message from CVS: * gst/rtp/gstrtpL16depay.c: (gst_rtp_L16_depay_process): * gst/rtp/gstrtpgsmdepay.c: (gst_rtp_gsm_depay_process): * gst/rtp/gstrtpilbcdepay.c: (gst_rtp_ilbc_depay_process): * gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_process): * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process): * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_flush): * gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_setcaps), (gst_rtp_mp4v_depay_process): * gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_flush): * gst/rtp/gstrtpmpadepay.c: (gst_rtp_mpa_depay_process): * gst/rtp/gstrtpmpapay.c: (gst_rtp_mpa_pay_flush): * gst/rtp/gstrtpmpvdepay.c: (gst_rtp_mpv_depay_process): * gst/rtp/gstrtppcmadepay.c: (gst_rtp_pcma_depay_process): * gst/rtp/gstrtppcmudepay.c: (gst_rtp_pcmu_depay_process): * gst/rtp/gstrtpsv3vdepay.c: (gst_rtp_sv3v_depay_process): Use more efficient adapter and rtpbuffer methods when possible.
Diffstat (limited to 'gst/rtp/gstrtpmpvdepay.c')
-rw-r--r--gst/rtp/gstrtpmpvdepay.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/gst/rtp/gstrtpmpvdepay.c b/gst/rtp/gstrtpmpvdepay.c
index 2f828295..08d92a5d 100644
--- a/gst/rtp/gstrtpmpvdepay.c
+++ b/gst/rtp/gstrtpmpvdepay.c
@@ -158,13 +158,13 @@ gst_rtp_mpv_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
goto bad_packet;
{
- gint payload_len;
+ gint payload_len, payload_header;
guint8 *payload;
guint8 T;
- guint32 timestamp;
payload_len = gst_rtp_buffer_get_payload_len (buf);
payload = gst_rtp_buffer_get_payload (buf);
+ payload_header = 0;
if (payload_len <= 4)
goto empty_packet;
@@ -181,6 +181,7 @@ gst_rtp_mpv_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
T = (payload[0] & 0x04);
payload_len -= 4;
+ payload_header += 4;
payload += 4;
if (T) {
@@ -197,13 +198,11 @@ gst_rtp_mpv_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
goto empty_packet;
payload_len -= 4;
+ payload_header += 4;
payload += 4;
}
- timestamp = gst_rtp_buffer_get_timestamp (buf);
-
- outbuf = gst_buffer_new_and_alloc (payload_len);
- memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
+ outbuf = gst_rtp_buffer_get_payload_subbuffer (buf, payload_header, -1);
GST_DEBUG_OBJECT (rtpmpvdepay,
"gst_rtp_mpv_depay_chain: pushing buffer of size %d",