summaryrefslogtreecommitdiff
path: root/gst/audiobuffersplit/gstaudiobuffersplit.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/audiobuffersplit/gstaudiobuffersplit.c')
-rw-r--r--gst/audiobuffersplit/gstaudiobuffersplit.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gst/audiobuffersplit/gstaudiobuffersplit.c b/gst/audiobuffersplit/gstaudiobuffersplit.c
index bd66e9e1f..7d2738add 100644
--- a/gst/audiobuffersplit/gstaudiobuffersplit.c
+++ b/gst/audiobuffersplit/gstaudiobuffersplit.c
@@ -379,10 +379,15 @@ gst_audio_buffer_split_output (GstAudioBufferSplit * self, gboolean force,
size = MIN (size, avail);
buffer = gst_adapter_take_buffer (self->adapter, size);
+ buffer = gst_buffer_make_writable (buffer);
/* After a reset we have to set the discont flag */
if (self->current_offset == 0)
- GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
+ GST_BUFFER_FLAG_SET (buffer,
+ GST_BUFFER_FLAG_DISCONT | GST_BUFFER_FLAG_RESYNC);
+ else
+ GST_BUFFER_FLAG_UNSET (buffer,
+ GST_BUFFER_FLAG_DISCONT | GST_BUFFER_FLAG_RESYNC);
resync_time_diff =
gst_util_uint64_scale (self->current_offset, GST_SECOND, rate);