mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-28 03:00:35 +00:00
[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
This commit is contained in:
parent
e7d5bdc4e8
commit
f73fb17b34
2 changed files with 7 additions and 7 deletions
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue