summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Vander Stichele <thomas@apestaart.org>2004-06-23 13:22:50 +0000
committerThomas Vander Stichele <thomas@apestaart.org>2004-06-23 13:22:50 +0000
commitab70fa99a267e43b588c7a975245d31717e4fddb (patch)
treee09b259475f1f679cb0d2affb20f8201c9843c3b
parenteaf0270298bfb1b3afd079c3e8ce7e0371b60a2b (diff)
fix by Company
Original commit message from CVS: fix by Company
-rw-r--r--ChangeLog5
-rw-r--r--ext/alsa/gstalsasink.c12
2 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index b8145534c..099ec161a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2004-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
+ * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
+ apply a fix suggested by Company
+
+2004-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
+
* ext/alsa/gstalsa.c: (gst_alsa_init), (gst_alsa_dispose),
(gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
diff --git a/ext/alsa/gstalsasink.c b/ext/alsa/gstalsasink.c
index 049ce7e23..5959b4691 100644
--- a/ext/alsa/gstalsasink.c
+++ b/ext/alsa/gstalsasink.c
@@ -220,13 +220,15 @@ gst_alsa_sink_check_event (GstAlsaSink * sink, gint pad_nr)
GST_SECOND * this->transmitted / this->format->rate -
gst_alsa_sink_get_time (this);
if (gst_event_discont_get_value (event, GST_FORMAT_TIME, &value)) {
- gst_element_set_time_delay (GST_ELEMENT (this), value, delay);
- } else if (this->format &&
- (gst_event_discont_get_value (event, GST_FORMAT_DEFAULT, &value) ||
- gst_event_discont_get_value (event, GST_FORMAT_BYTES,
+ gst_element_set_time_delay (GST_ELEMENT (this), MIN (value, delay),
+ delay);
+ } else if (this->format
+ && (gst_event_discont_get_value (event, GST_FORMAT_DEFAULT, &value)
+ || gst_event_discont_get_value (event, GST_FORMAT_BYTES,
&value))) {
value = gst_alsa_samples_to_timestamp (this, value);
- gst_element_set_time_delay (GST_ELEMENT (this), value, delay);
+ gst_element_set_time_delay (GST_ELEMENT (this), MIN (value, delay),
+ delay);
} else {
GST_WARNING_OBJECT (this,
"couldn't extract time from discont event. Bad things might happen!");