diff options
author | wm4 <wm4@nowhere> | 2013-03-21 00:58:05 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-04-13 04:21:27 +0200 |
commit | fc24ab9298ff155ad94171c1b8f16f4da422376c (patch) | |
tree | d7abfad1c1c08fc972dd643959294aa2294c2c0c /audio/filter/af_scaletempo.c | |
parent | 8bf759e888249e57ea8e786a368e0068a24838dc (diff) | |
download | mpv-fc24ab9298ff155ad94171c1b8f16f4da422376c.tar.bz2 mpv-fc24ab9298ff155ad94171c1b8f16f4da422376c.tar.xz |
audio/filter: replace pointless memcpys with assignments
The change in af_scaletempo actually fixes a memory leak. af->data
contained a pointer to an allocated buffer, which was overwritten
during format negotiation. Set the format explicitly instead.
Diffstat (limited to 'audio/filter/af_scaletempo.c')
-rw-r--r-- | audio/filter/af_scaletempo.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/audio/filter/af_scaletempo.c b/audio/filter/af_scaletempo.c index cf326fedfb..657fd7f712 100644 --- a/audio/filter/af_scaletempo.c +++ b/audio/filter/af_scaletempo.c @@ -305,7 +305,10 @@ static int control(struct af_instance* af, int cmd, void* arg) if (s->scale == 1.0) { if (s->speed_tempo && s->speed_pitch) return AF_DETACH; - memcpy(af->data, data, sizeof(struct mp_audio)); + af->data->format = data->format; + af->data->nch = data->nch; + af->data->rate = data->rate; + af->data->bps = data->bps; af->delay = 0; af->mul = 1; return af_test_output(af, data); |