From: Youness Alaoui Date: Wed, 22 Aug 2007 17:51:26 +0000 (+0000) Subject: [MOVED FROM GST-P-FARSIGHT] Moved the timestamp from the event to dtmfsrc structure... X-Git-Tag: 1.1.1~302^2~134 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f73fb17b344173684c3f22ca2c6de4de094ec2f9;p=platform%2Fupstream%2Fgst-plugins-good.git [MOVED FROM GST-P-FARSIGHT] Moved the timestamp from the event to dtmfsrc structure since we have only one event at a time, so let's keep it stored in the dtmfsrc struct 20070822175126-4f0f6-53bcda2bd8ae8c56d29e62e69ac19a30e08ad350.gz --- diff --git a/gst/dtmf/gstdtmfsrc.c b/gst/dtmf/gstdtmfsrc.c index 0959e6d..2d5d92d 100644 --- a/gst/dtmf/gstdtmfsrc.c +++ b/gst/dtmf/gstdtmfsrc.c @@ -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); diff --git a/gst/dtmf/gstdtmfsrc.h b/gst/dtmf/gstdtmfsrc.h index 544b66e..1e341fd 100644 --- a/gst/dtmf/gstdtmfsrc.h +++ b/gst/dtmf/gstdtmfsrc.h @@ -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; };