aboutsummaryrefslogtreecommitdiff
path: root/src/output_thread.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-04-23 09:20:10 +0200
committerAnton Khirnov <anton@khirnov.net>2015-02-20 08:56:03 +0100
commit1b3144727158b18f080732ff35ef1f6a123a946d (patch)
tree3cff858317d498ffb02e27364d6a2afde53943c3 /src/output_thread.c
parente41776f458722d778b5a0db49816f775ef4f9eee (diff)
music chunk: switch to AVFrame.
Diffstat (limited to 'src/output_thread.c')
-rw-r--r--src/output_thread.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/output_thread.c b/src/output_thread.c
index 4eef2ccd..78592d6e 100644
--- a/src/output_thread.c
+++ b/src/output_thread.c
@@ -325,12 +325,10 @@ ao_chunk_data(struct audio_output *ao, const struct music_chunk *chunk,
assert(!music_chunk_is_empty(chunk));
assert(music_chunk_check_format(chunk, &ao->in_audio_format));
- const char *data = chunk->data;
- size_t length = chunk->length;
-
- (void)ao;
-
- assert(length % audio_format_frame_size(&ao->in_audio_format) == 0);
+ const char *data = chunk->frame ? chunk->frame->data[0] : NULL;
+ size_t length = data ? av_samples_get_buffer_size(NULL, ao->in_audio_format.channels,
+ chunk->frame->nb_samples,
+ chunk->frame->format, 1) : 0;
if (length > 0 && replay_gain_filter != NULL) {
if (chunk->replay_gain_serial != *replay_gain_serial_p) {