[MOVED FROM GST-P-FARSIGHT] Add patch to make it work with maemo dsp sources that payload incorrectly

20070917160820-3e2dc-06b1b1d1b0918b30dabea5a0714cb732b3b8d8dd.gz
This commit is contained in:
Olivier Crete 2007-09-17 16:08:20 +00:00 committed by Edward Hervey
parent 908f5167ae
commit 8332521121
2 changed files with 16 additions and 0 deletions

View file

@ -480,7 +480,11 @@ gst_dtmf_prepare_timestamps (GstDTMFSrc *dtmfsrc)
clock = gst_element_get_clock (GST_ELEMENT (dtmfsrc)); clock = gst_element_get_clock (GST_ELEMENT (dtmfsrc));
if (clock != NULL) { if (clock != NULL) {
#ifdef MAEMO_BROKEN
dtmfsrc->timestamp = gst_clock_get_time (clock);
#else
dtmfsrc->timestamp = gst_clock_get_time (clock) - base_time; dtmfsrc->timestamp = gst_clock_get_time (clock) - base_time;
#endif
gst_object_unref (clock); gst_object_unref (clock);
} else { } else {
gchar *dtmf_name = gst_element_get_name (dtmfsrc); 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)); 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 + clockid = gst_clock_new_single_shot_id (clock, dtmfsrc->timestamp +
gst_element_get_base_time (GST_ELEMENT (dtmfsrc))); gst_element_get_base_time (GST_ELEMENT (dtmfsrc)));
#endif
gst_object_unref (clock); gst_object_unref (clock);
GST_OBJECT_LOCK (dtmfsrc); GST_OBJECT_LOCK (dtmfsrc);

View file

@ -540,7 +540,11 @@ gst_rtp_dtmf_prepare_timestamps (GstRTPDTMFSrc *dtmfsrc)
GstClock *clock; GstClock *clock;
GstClockTime base_time; GstClockTime base_time;
#ifdef MAEMO_BROKEN
base_time = 0;
#else
base_time = gst_element_get_base_time (GST_ELEMENT (dtmfsrc)); base_time = gst_element_get_base_time (GST_ELEMENT (dtmfsrc));
#endif
clock = gst_element_get_clock (GST_ELEMENT (dtmfsrc)); clock = gst_element_get_clock (GST_ELEMENT (dtmfsrc));
if (clock != NULL) { if (clock != NULL) {
@ -765,8 +769,12 @@ gst_rtp_dtmf_src_create (GstBaseSrc * basesrc, guint64 offset,
clock = gst_element_get_clock (GST_ELEMENT (basesrc)); 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 + clockid = gst_clock_new_single_shot_id (clock, dtmfsrc->timestamp +
gst_element_get_base_time (GST_ELEMENT (dtmfsrc))); gst_element_get_base_time (GST_ELEMENT (dtmfsrc)));
#endif
gst_object_unref (clock); gst_object_unref (clock);
GST_OBJECT_LOCK (dtmfsrc); GST_OBJECT_LOCK (dtmfsrc);