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
124124 {
125125 FaacAudioContext *s = avctx->priv_data;
126126 int bytes_written;
127+ int num_samples = data ? avctx->frame_size : 0;
127128
128129 bytes_written = faacEncEncode(s->faac_handle,
129130 data,
130− avctx->frame_size * avctx->channels,
131+ num_samples * avctx->channels,
131132 frame,
132133 buf_size);
133134
@@ -161,6 +162,7 @@ AVCodec ff_libfaac_encoder = { · 27 unmodified lines
161162 Faac_encode_init,
162163 Faac_encode_frame,
163164 Faac_encode_close,
165+ .capabilities = CODEC_CAP_SMALL_LAST_FRAME | CODEC_CAP_DELAY,
164166 .sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_S16,AV_SAMPLE_FMT_NONE},
165167 .long_name = NULL_IF_CONFIG_SMALL("libfaac AAC (Advanced Audio Codec)"),
166168 .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