diff options
author | wm4 <wm4@nowhere> | 2015-10-27 20:56:46 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-10-27 20:56:46 +0100 |
commit | aaec2aba3890e1b2ea8f4dc158d884bc85a59517 (patch) | |
tree | 61d9e3464aa0777bb7e58257e24b290c4b2146bd /audio/audio_buffer.c | |
parent | 3b95dd47d53d4d9b5a247f2dda550b5470e62b48 (diff) | |
download | mpv-aaec2aba3890e1b2ea8f4dc158d884bc85a59517.tar.bz2 mpv-aaec2aba3890e1b2ea8f4dc158d884bc85a59517.tar.xz |
player: add audio drop/duplicate mode
Not very robust in the moment.
Diffstat (limited to 'audio/audio_buffer.c')
-rw-r--r-- | audio/audio_buffer.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/audio/audio_buffer.c b/audio/audio_buffer.c index 2bd546a532..c0f1341afe 100644 --- a/audio/audio_buffer.c +++ b/audio/audio_buffer.c @@ -119,6 +119,15 @@ void mp_audio_buffer_prepend_silence(struct mp_audio_buffer *ab, int samples) mp_audio_fill_silence(ab->buffer, 0, samples); } +void mp_audio_buffer_duplicate(struct mp_audio_buffer *ab, int samples) +{ + assert(samples >= 0 && samples <= ab->buffer->samples); + int oldlen = ab->buffer->samples; + ab->buffer->samples += samples; + mp_audio_realloc_min(ab->buffer, ab->buffer->samples); + mp_audio_copy(ab->buffer, oldlen, ab->buffer, oldlen - samples, samples); +} + // Get the start of the current readable buffer. void mp_audio_buffer_peek(struct mp_audio_buffer *ab, struct mp_audio *out_mpa) { |