From: Vincent Penquerc'h Date: Wed, 30 Apr 2014 14:30:45 +0000 (+0100) Subject: avaudenc: avoid using wrong number of samples X-Git-Tag: 1.19.3~499^2~565 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=17e2e9acd9b9be3cc3637a60507892ca4a97bd0a;p=platform%2Fupstream%2Fgstreamer.git avaudenc: avoid using wrong number of samples If audio_in is NULL, we'll send a NULL frame to libav, to flush the codec. In that case, we won't know how many samples the codec will have used, so we use -1 (for don't know) when letting the base class know about the buffer. Coverity 1195177 --- diff --git a/ext/libav/gstavaudenc.c b/ext/libav/gstavaudenc.c index fcb176d..a9aa88a 100644 --- a/ext/libav/gstavaudenc.c +++ b/ext/libav/gstavaudenc.c @@ -553,7 +553,7 @@ gst_ffmpegaudenc_encode_audio (GstFFMpegAudEnc * ffmpegaudenc, pkt, gst_ffmpegaudenc_free_avpacket); codec = ffmpegaudenc->context->codec; - if ((codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE)) { + if ((codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) || !audio_in) { ret = gst_audio_encoder_finish_frame (enc, outbuf, -1); } else { ret = gst_audio_encoder_finish_frame (enc, outbuf, frame.nb_samples);