summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gst/dtmf/gstdtmfsrc.c8
-rw-r--r--gst/dtmf/gstrtpdtmfsrc.c8
2 files changed, 16 insertions, 0 deletions
diff --git a/gst/dtmf/gstdtmfsrc.c b/gst/dtmf/gstdtmfsrc.c
index 2429a71c..e0a73dd1 100644
--- a/gst/dtmf/gstdtmfsrc.c
+++ b/gst/dtmf/gstdtmfsrc.c
@@ -480,7 +480,11 @@ gst_dtmf_prepare_timestamps (GstDTMFSrc *dtmfsrc)
clock = gst_element_get_clock (GST_ELEMENT (dtmfsrc));
if (clock != NULL) {
+#ifdef MAEMO_BROKEN
+ dtmfsrc->timestamp = gst_clock_get_time (clock);
+#else
dtmfsrc->timestamp = gst_clock_get_time (clock) - base_time;
+#endif
gst_object_unref (clock);
} else {
gchar *dtmf_name = gst_element_get_name (dtmfsrc);
@@ -712,8 +716,12 @@ gst_dtmf_src_create (GstBaseSrc * basesrc, guint64 offset,
clock = gst_element_get_clock (GST_ELEMENT (basesrc));
+#ifdef MAEMO_BROKEN
+ clockid = gst_clock_new_single_shot_id (clock, dtmfsrc->timestamp);
+#else
clockid = gst_clock_new_single_shot_id (clock, dtmfsrc->timestamp +
gst_element_get_base_time (GST_ELEMENT (dtmfsrc)));
+#endif
gst_object_unref (clock);
GST_OBJECT_LOCK (dtmfsrc);
diff --git a/gst/dtmf/gstrtpdtmfsrc.c b/gst/dtmf/gstrtpdtmfsrc.c
index 9c796fff..5c979cf1 100644
--- a/gst/dtmf/gstrtpdtmfsrc.c
+++ b/gst/dtmf/gstrtpdtmfsrc.c
@@ -540,7 +540,11 @@ gst_rtp_dtmf_prepare_timestamps (GstRTPDTMFSrc *dtmfsrc)
GstClock *clock;
GstClockTime base_time;
+#ifdef MAEMO_BROKEN
+ base_time = 0;
+#else
base_time = gst_element_get_base_time (GST_ELEMENT (dtmfsrc));
+#endif
clock = gst_element_get_clock (GST_ELEMENT (dtmfsrc));
if (clock != NULL) {
@@ -765,8 +769,12 @@ gst_rtp_dtmf_src_create (GstBaseSrc * basesrc, guint64 offset,
clock = gst_element_get_clock (GST_ELEMENT (basesrc));
+#ifdef MAEMO_BROKEN
+ clockid = gst_clock_new_single_shot_id (clock, dtmfsrc->timestamp);
+#else
clockid = gst_clock_new_single_shot_id (clock, dtmfsrc->timestamp +
gst_element_get_base_time (GST_ELEMENT (dtmfsrc)));
+#endif
gst_object_unref (clock);
GST_OBJECT_LOCK (dtmfsrc);