repositories
/
deb_ffmpeg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Debian version 2.5.0~trusty1.1
[deb_ffmpeg.git]
/
ffmpeg
/
libavcodec
/
libopusenc.c
diff --git
a/ffmpeg/libavcodec/libopusenc.c
b/ffmpeg/libavcodec/libopusenc.c
index 75e82dac0dd9027519b6996c9239ae01faa00a16..6bb48628ab91b9822ba10cd2c19b212414440717 100644
(file)
--- a/
ffmpeg/libavcodec/libopusenc.c
+++ b/
ffmpeg/libavcodec/libopusenc.c
@@
-87,7
+87,7
@@
static void libopus_write_header(AVCodecContext *avctx, int stream_count,
bytestream_put_buffer(&p, "OpusHead", 8);
bytestream_put_byte(&p, 1); /* Version */
bytestream_put_byte(&p, channels);
bytestream_put_buffer(&p, "OpusHead", 8);
bytestream_put_byte(&p, 1); /* Version */
bytestream_put_byte(&p, channels);
- bytestream_put_le16(&p, avctx->
delay
); /* Lookahead samples at 48kHz */
+ bytestream_put_le16(&p, avctx->
initial_padding
); /* Lookahead samples at 48kHz */
bytestream_put_le32(&p, avctx->sample_rate); /* Original sample rate */
bytestream_put_le16(&p, 0); /* Gain of 0dB is recommended. */
bytestream_put_le32(&p, avctx->sample_rate); /* Original sample rate */
bytestream_put_le16(&p, 0); /* Gain of 0dB is recommended. */
@@
-170,10
+170,11
@@
static av_cold int libopus_encode_init(AVCodecContext *avctx)
/* FIXME: Opus can handle up to 255 channels. However, the mapping for
* anything greater than 8 is undefined. */
/* FIXME: Opus can handle up to 255 channels. However, the mapping for
* anything greater than 8 is undefined. */
- if (avctx->channels > 8)
- av_log(avctx, AV_LOG_
WARNING
,
+ if (avctx->channels > 8)
{
+ av_log(avctx, AV_LOG_
ERROR
,
"Channel layout undefined for %d channels.\n", avctx->channels);
"Channel layout undefined for %d channels.\n", avctx->channels);
-
+ return AVERROR_PATCHWELCOME;
+ }
if (!avctx->bit_rate) {
/* Sane default copied from opusenc */
avctx->bit_rate = 64000 * opus->stream_count +
if (!avctx->bit_rate) {
/* Sane default copied from opusenc */
avctx->bit_rate = 64000 * opus->stream_count +
@@
-284,7
+285,7
@@
static av_cold int libopus_encode_init(AVCodecContext *avctx)
goto fail;
}
goto fail;
}
- ret = opus_multistream_encoder_ctl(enc, OPUS_GET_LOOKAHEAD(&avctx->
delay
));
+ ret = opus_multistream_encoder_ctl(enc, OPUS_GET_LOOKAHEAD(&avctx->
initial_padding
));
if (ret != OPUS_OK)
av_log(avctx, AV_LOG_WARNING,
"Unable to get number of lookahead samples: %s\n",
if (ret != OPUS_OK)
av_log(avctx, AV_LOG_WARNING,
"Unable to get number of lookahead samples: %s\n",
@@
-316,7
+317,9
@@
static int libopus_encode(AVCodecContext *avctx, AVPacket *avpkt,
int discard_padding;
if (frame) {
int discard_padding;
if (frame) {
- ff_af_queue_add(&opus->afq, frame);
+ ret = ff_af_queue_add(&opus->afq, frame);
+ if (ret < 0)
+ return ret;
if (frame->nb_samples < opus->opts.packet_size) {
audio = opus->samples;
memcpy(audio, frame->data[0], frame->nb_samples * sample_size);
if (frame->nb_samples < opus->opts.packet_size) {
audio = opus->samples;
memcpy(audio, frame->data[0], frame->nb_samples * sample_size);