History

Flush final frames in libfaac encoder.

Gives decoded output identical in length to faac commandline encoder. Fixes Issue 670.

Justin Ruggles committed 15 years ago

Commit 243f8241 parent e0eb9631 file · +3 −1Browse files

Unified · Split

libavcodec/libfaac.c+3−1
@@ -124,10 +124,11 @@ static int Faac_encode_frame(AVCodecContext *avctx, · 123 unmodified lines
124{124{
125 FaacAudioContext *s = avctx->priv_data;125 FaacAudioContext *s = avctx->priv_data;
126 int bytes_written;126 int bytes_written;
127 int num_samples = data ? avctx->frame_size : 0;
127 128
128 bytes_written = faacEncEncode(s->faac_handle,129 bytes_written = faacEncEncode(s->faac_handle,
129 data,130 data,
130 avctx->frame_size * avctx->channels,131 num_samples * avctx->channels,
131 frame,132 frame,
132 buf_size);133 buf_size);
133 134
@@ -161,6 +162,7 @@ AVCodec ff_libfaac_encoder = { · 27 unmodified lines
161 Faac_encode_init,162 Faac_encode_init,
162 Faac_encode_frame,163 Faac_encode_frame,
163 Faac_encode_close,164 Faac_encode_close,
165 .capabilities = CODEC_CAP_SMALL_LAST_FRAME | CODEC_CAP_DELAY,
164 .sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_S16,AV_SAMPLE_FMT_NONE},166 .sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_S16,AV_SAMPLE_FMT_NONE},
165 .long_name = NULL_IF_CONFIG_SMALL("libfaac AAC (Advanced Audio Codec)"),167 .long_name = NULL_IF_CONFIG_SMALL("libfaac AAC (Advanced Audio Codec)"),
166 .profiles = NULL_IF_CONFIG_SMALL(profiles),168 .profiles = NULL_IF_CONFIG_SMALL(profiles),

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t