Commit 7778b293 authored by Stefan Westerfeld's avatar Stefan Westerfeld

avfilter/asubprocess: use little endian sample values for wav data

Signed-off-by: Stefan Westerfeld's avatarStefan Westerfeld <stefan@space.twc.de>
parent 89310335
#include "libavutil/opt.h"
#include "libavutil/mem.h"
#include "libavutil/intreadwrite.h"
#include "libavformat/avio.h"
#include "libavformat/avio_internal.h"
......@@ -303,7 +304,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
int k = 0;
int32_t *xd = (int32_t *)in->data[0];
for (k = 0; k < in->nb_samples * inlink->ch_layout.nb_channels; k++) {
buffer[k] = xd[k] >> 16;
AV_WL16 (buffer + k, xd[k] >> 16);
}
sp_write (s->sp, buffer, 2 * k);
if (s->eof)
......@@ -360,7 +361,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
int32_t *xd = (int32_t *)out->data[0];
for (int k = 0; k < avail * inlink->ch_layout.nb_channels; k++)
{
xd[k] = buffer[k] << 16;
short v = AV_RL16 (buffer + k);
xd[k] = v << 16;
}
ret = ff_filter_frame(outlink, out);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment