summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst/audiobuffersplit/gstaudiobuffersplit.c7
-rw-r--r--gst/audiobuffersplit/gstaudiobuffersplit.h1
2 files changed, 3 insertions, 5 deletions
diff --git a/gst/audiobuffersplit/gstaudiobuffersplit.c b/gst/audiobuffersplit/gstaudiobuffersplit.c
index d73e391da..225fb9b7b 100644
--- a/gst/audiobuffersplit/gstaudiobuffersplit.c
+++ b/gst/audiobuffersplit/gstaudiobuffersplit.c
@@ -328,11 +328,7 @@ gst_audio_buffer_split_output (GstAudioBufferSplit * self, gboolean force,
GstFlowReturn ret = GST_FLOW_OK;
GstClockTime resync_time;
- GST_OBJECT_LOCK (self);
- resync_time =
- gst_audio_stream_align_get_timestamp_at_discont (self->stream_align);
- GST_OBJECT_UNLOCK (self);
-
+ resync_time = self->resync_time;
size = samples_per_buffer * bpf;
/* If we accumulated enough error for one sample, include one
@@ -425,6 +421,7 @@ gst_audio_buffer_split_handle_discont (GstAudioBufferSplit * self,
self->current_offset = 0;
self->accumulated_error = 0;
+ self->resync_time = GST_BUFFER_PTS (buffer);
}
return ret;
diff --git a/gst/audiobuffersplit/gstaudiobuffersplit.h b/gst/audiobuffersplit/gstaudiobuffersplit.h
index 10bbdc80d..ae24b8fff 100644
--- a/gst/audiobuffersplit/gstaudiobuffersplit.h
+++ b/gst/audiobuffersplit/gstaudiobuffersplit.h
@@ -53,6 +53,7 @@ struct _GstAudioBufferSplit {
GstAdapter *adapter;
GstAudioStreamAlign *stream_align;
+ GstClockTime resync_time;
guint64 current_offset; /* offset from start time in samples */
guint samples_per_buffer;