From 833252112191b2b6ff0b4b071a90f06aaeb8d6e8 Mon Sep 17 00:00:00 2001 From: Olivier Crete Date: Mon, 17 Sep 2007 16:08:20 +0000 Subject: [PATCH] [MOVED FROM GST-P-FARSIGHT] Add patch to make it work with maemo dsp sources that payload incorrectly 20070917160820-3e2dc-06b1b1d1b0918b30dabea5a0714cb732b3b8d8dd.gz --- gst/dtmf/gstdtmfsrc.c | 8 ++++++++ gst/dtmf/gstrtpdtmfsrc.c | 8 ++++++++ 2 files changed, 16 insertions(+) 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);