mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-23 14:36:24 +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
7b9a2fd4ff
commit
7e0aec2c94
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
|
static void
|
||||||
gst_dtmf_prepare_timestamps (GstDTMFSrc *dtmfsrc, GstDTMFSrcEvent *event)
|
gst_dtmf_prepare_timestamps (GstDTMFSrc *dtmfsrc)
|
||||||
{
|
{
|
||||||
GstClock *clock;
|
GstClock *clock;
|
||||||
|
|
||||||
clock = GST_ELEMENT_CLOCK (dtmfsrc);
|
clock = GST_ELEMENT_CLOCK (dtmfsrc);
|
||||||
if (clock != NULL)
|
if (clock != NULL)
|
||||||
event->timestamp = gst_clock_get_time (GST_ELEMENT_CLOCK (dtmfsrc));
|
dtmfsrc->timestamp = gst_clock_get_time (GST_ELEMENT_CLOCK (dtmfsrc));
|
||||||
|
|
||||||
else {
|
else {
|
||||||
GST_ERROR_OBJECT (dtmfsrc, "No clock set for element %s",
|
GST_ERROR_OBJECT (dtmfsrc, "No clock set for element %s",
|
||||||
GST_ELEMENT_NAME (dtmfsrc));
|
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 */
|
/* timestamp and duration of GstBuffer */
|
||||||
GST_BUFFER_DURATION (buf) = duration * GST_MSECOND;
|
GST_BUFFER_DURATION (buf) = duration * GST_MSECOND;
|
||||||
GST_BUFFER_TIMESTAMP (buf) = event->timestamp;
|
GST_BUFFER_TIMESTAMP (buf) = dtmfsrc->timestamp;
|
||||||
event->timestamp += GST_BUFFER_DURATION (buf);
|
dtmfsrc->timestamp += GST_BUFFER_DURATION (buf);
|
||||||
|
|
||||||
/* FIXME: Should we sync to clock ourselves or leave it to sink */
|
/* FIXME: Should we sync to clock ourselves or leave it to sink */
|
||||||
gst_dtmf_src_wait_for_buffer_ts (dtmfsrc, buf);
|
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) {
|
if (event->event_type == DTMF_EVENT_TYPE_STOP) {
|
||||||
GST_WARNING_OBJECT (dtmfsrc, "Received a DTMF stop event when already stopped", GST_BUFFER_SIZE (buf));
|
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) {
|
} 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 */
|
/* Don't forget to get exclusive access to the stream */
|
||||||
gst_dtmf_src_set_stream_lock (dtmfsrc, TRUE);
|
gst_dtmf_src_set_stream_lock (dtmfsrc, TRUE);
|
||||||
|
|
|
@ -58,7 +58,6 @@ enum _GstDTMFEventType {
|
||||||
typedef enum _GstDTMFEventType GstDTMFEventType;
|
typedef enum _GstDTMFEventType GstDTMFEventType;
|
||||||
|
|
||||||
struct _GstDTMFSrcEvent {
|
struct _GstDTMFSrcEvent {
|
||||||
GstClockTime timestamp;
|
|
||||||
GstDTMFEventType event_type;
|
GstDTMFEventType event_type;
|
||||||
double sample;
|
double sample;
|
||||||
guint16 event_number;
|
guint16 event_number;
|
||||||
|
@ -76,6 +75,7 @@ struct _GstDTMFSrc {
|
||||||
GstDTMFSrcEvent* last_event;
|
GstDTMFSrcEvent* last_event;
|
||||||
|
|
||||||
guint16 interval;
|
guint16 interval;
|
||||||
|
GstClockTime timestamp;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue