diff options
-rw-r--r-- | gst/audiobuffersplit/gstaudiobuffersplit.c | 7 | ||||
-rw-r--r-- | gst/audiobuffersplit/gstaudiobuffersplit.h | 1 |
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; |