mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-09 14:14:39 +02:00
libspeexdec: handle NULL return value from speex_packet_to_header()
This will happen when the extradata is not a valid Speex header.
This commit is contained in:
parent
769ed3057e
commit
c9df48909e
@ -40,12 +40,17 @@ static av_cold int libspeex_decode_init(AVCodecContext *avctx)
|
||||
{
|
||||
LibSpeexContext *s = avctx->priv_data;
|
||||
const SpeexMode *mode;
|
||||
SpeexHeader *header = NULL;
|
||||
int spx_mode;
|
||||
|
||||
avctx->sample_fmt = AV_SAMPLE_FMT_S16;
|
||||
if (avctx->extradata && avctx->extradata_size >= 80) {
|
||||
SpeexHeader *header = speex_packet_to_header(avctx->extradata,
|
||||
avctx->extradata_size);
|
||||
header = speex_packet_to_header(avctx->extradata,
|
||||
avctx->extradata_size);
|
||||
if (!header)
|
||||
av_log(avctx, AV_LOG_WARNING, "Invalid Speex header\n");
|
||||
}
|
||||
if (header) {
|
||||
avctx->channels = header->nb_channels;
|
||||
spx_mode = header->mode;
|
||||
speex_header_free(header);
|
||||
|
Loading…
x
Reference in New Issue
Block a user