summaryrefslogtreecommitdiffstats
path: root/gst/rtp/gstrtpmpadec.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/rtp/gstrtpmpadec.c')
-rw-r--r--gst/rtp/gstrtpmpadec.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/gst/rtp/gstrtpmpadec.c b/gst/rtp/gstrtpmpadec.c
index d969100c..50576a3b 100644
--- a/gst/rtp/gstrtpmpadec.c
+++ b/gst/rtp/gstrtpmpadec.c
@@ -25,7 +25,7 @@
static GstElementDetails gst_rtp_mpadec_details = {
"RTP packet parser",
"Codec/Parser/Network",
- "Extracts MPEG audio from RTP packets",
+ "Extracts MPEG audio from RTP packets (RFC 2038)",
"Wim Taymans <wim@fluendo.com>"
};
@@ -171,7 +171,14 @@ gst_rtpmpadec_chain (GstPad * pad, GstBuffer * buf)
frag_offset = (payload[2] << 8) | payload[3];
- /* strip off header */
+ /* strip off header
+ *
+ * 0 1 2 3
+ * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * | MBZ | Frag_offset |
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ */
payload_len -= 4;
payload += 4;
@@ -188,6 +195,8 @@ gst_rtpmpadec_chain (GstPad * pad, GstBuffer * buf)
gst_buffer_unref (buf);
+ /* FIXME, we can push half mpeg frames when they are split over multiple
+ * RTP packets */
ret = gst_pad_push (rtpmpadec->srcpad, outbuf);
}