From 4bf9fe969e154ee5f20a8f3946589a642ab746c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= Date: Tue, 7 Jul 2009 18:18:06 +0100 Subject: [PATCH] mimenc: Put timestamp on the header buffer --- ext/mimic/gstmimenc.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ext/mimic/gstmimenc.c b/ext/mimic/gstmimenc.c index c3d3688cbe..9f6727f522 100644 --- a/ext/mimic/gstmimenc.c +++ b/ext/mimic/gstmimenc.c @@ -84,7 +84,7 @@ static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src", static gboolean gst_mimenc_setcaps (GstPad * pad, GstCaps * caps); static GstFlowReturn gst_mimenc_chain (GstPad * pad, GstBuffer * in); static GstBuffer *gst_mimenc_create_tcp_header (GstMimEnc * mimenc, - guint32 payload_size, guint32 timestamp); + guint32 payload_size, GstClockTime timestamp); static gboolean gst_mimenc_event (GstPad * pad, GstEvent * event); static GstStateChangeReturn @@ -327,7 +327,7 @@ gst_mimenc_chain (GstPad * pad, GstBuffer * in) // now let's create that tcp header header = gst_mimenc_create_tcp_header (mimenc, buffer_size, - GST_BUFFER_TIMESTAMP (buf) / GST_MSECOND); + GST_BUFFER_TIMESTAMP (out_buf)); if (!header) { gst_buffer_unref (out_buf); @@ -376,12 +376,14 @@ out_unlock: static GstBuffer * gst_mimenc_create_tcp_header (GstMimEnc * mimenc, guint32 payload_size, - guint32 timestamp) + GstClockTime timestamp) { // 24 bytes GstBuffer *buf_header = gst_buffer_new_and_alloc (24); guchar *p = (guchar *) GST_BUFFER_DATA (buf_header); + GST_BUFFER_TIMESTAMP (buf_header) = timestamp; + p[0] = 24; *((guchar *) (p + 1)) = 0; *((guint16 *) (p + 2)) = GUINT16_TO_LE (mimenc->width); @@ -391,7 +393,7 @@ gst_mimenc_create_tcp_header (GstMimEnc * mimenc, guint32 payload_size, *((guint32 *) (p + 12)) = GUINT32_TO_LE (GST_MAKE_FOURCC ('M', 'L', '2', '0')); *((guint32 *) (p + 16)) = 0; - *((guint32 *) (p + 20)) = timestamp; + *((guint32 *) (p + 20)) = timestamp / GST_MSECOND; return buf_header; }