mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
vorbisenc: avoid large stack allocation.
Code is only used during initialization, so malloc/free should be fine to use. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This commit is contained in:
parent
fcfc90ed65
commit
235d401bfa
@ -585,9 +585,11 @@ static int put_main_header(vorbis_enc_context *venc, uint8_t **out)
|
||||
{
|
||||
int i;
|
||||
PutBitContext pb;
|
||||
uint8_t buffer[50000] = {0}, *p = buffer;
|
||||
int buffer_len = sizeof buffer;
|
||||
int len, hlens[3];
|
||||
int buffer_len = 50000;
|
||||
uint8_t *buffer = av_mallocz(buffer_len), *p = buffer;
|
||||
if (!buffer)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
// identification header
|
||||
init_put_bits(&pb, p, buffer_len);
|
||||
@ -710,6 +712,7 @@ static int put_main_header(vorbis_enc_context *venc, uint8_t **out)
|
||||
buffer_len += hlens[i];
|
||||
}
|
||||
|
||||
av_freep(&buffer);
|
||||
return p - *out;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user