diff --git a/gst/dtmf/gstdtmfsrc.c b/gst/dtmf/gstdtmfsrc.c index 2429a71c66..e0a73dd1ed 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 9c796fff4a..5c979cf124 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);