[MOVED FROM GST-P-FARSIGHT] Moved the timestamp from the event to dtmfsrc structure...
authorYouness Alaoui <youness.alaoui@collabora.co.uk>
Wed, 22 Aug 2007 17:51:26 +0000 (17:51 +0000)
committerEdward Hervey <bilboed@bilboed.com>
Sat, 21 Feb 2009 16:47:59 +0000 (17:47 +0100)
20070822175126-4f0f6-53bcda2bd8ae8c56d29e62e69ac19a30e08ad350.gz

gst/dtmf/gstdtmfsrc.c
gst/dtmf/gstdtmfsrc.h

index 0959e6d..2d5d92d 100644 (file)
@@ -513,18 +513,18 @@ gst_dtmf_src_set_stream_lock (GstDTMFSrc *dtmfsrc, gboolean lock)
 }
 
 static void
-gst_dtmf_prepare_timestamps (GstDTMFSrc *dtmfsrc, GstDTMFSrcEvent *event)
+gst_dtmf_prepare_timestamps (GstDTMFSrc *dtmfsrc)
 {
   GstClock *clock;
 
   clock = GST_ELEMENT_CLOCK (dtmfsrc);
   if (clock != NULL)
-    event->timestamp = gst_clock_get_time (GST_ELEMENT_CLOCK (dtmfsrc));
+    dtmfsrc->timestamp = gst_clock_get_time (GST_ELEMENT_CLOCK (dtmfsrc));
 
   else {
     GST_ERROR_OBJECT (dtmfsrc, "No clock set for element %s",
         GST_ELEMENT_NAME (dtmfsrc));
-    event->timestamp = GST_CLOCK_TIME_NONE;
+    dtmfsrc->timestamp = GST_CLOCK_TIME_NONE;
   }
 }
 
@@ -716,8 +716,8 @@ gst_dtmf_src_create_next_tone_packet (GstDTMFSrc *dtmfsrc, GstDTMFSrcEvent *even
 
   /* timestamp and duration of GstBuffer */
   GST_BUFFER_DURATION (buf) = duration * GST_MSECOND;
-  GST_BUFFER_TIMESTAMP (buf) = event->timestamp;
-  event->timestamp += GST_BUFFER_DURATION (buf);
+  GST_BUFFER_TIMESTAMP (buf) = dtmfsrc->timestamp;
+  dtmfsrc->timestamp += GST_BUFFER_DURATION (buf);
 
   /* FIXME: Should we sync to clock ourselves or leave it to sink */
   gst_dtmf_src_wait_for_buffer_ts (dtmfsrc, buf);
@@ -743,7 +743,7 @@ gst_dtmf_src_push_next_tone_packet (GstDTMFSrc *dtmfsrc)
     if (event->event_type == DTMF_EVENT_TYPE_STOP) {
       GST_WARNING_OBJECT (dtmfsrc, "Received a DTMF stop event when already stopped", GST_BUFFER_SIZE (buf));
     } else if (event->event_type == DTMF_EVENT_TYPE_START) {
-      gst_dtmf_prepare_timestamps (dtmfsrc, event);
+      gst_dtmf_prepare_timestamps (dtmfsrc);
 
       /* Don't forget to get exclusive access to the stream */
       gst_dtmf_src_set_stream_lock (dtmfsrc, TRUE);
index 544b66e..1e341fd 100644 (file)
@@ -58,7 +58,6 @@ enum _GstDTMFEventType {
 typedef enum _GstDTMFEventType GstDTMFEventType;
 
 struct _GstDTMFSrcEvent {
-  GstClockTime      timestamp;
   GstDTMFEventType  event_type;
   double            sample;
   guint16          event_number;
@@ -76,6 +75,7 @@ struct _GstDTMFSrc {
   GstDTMFSrcEvent*  last_event;
 
   guint16          interval;
+  GstClockTime      timestamp;
 };