Revert "swfenc: use av_get_audio_frame_duration() instead of AVCodecContext.frame_size"

This reverts commit 620b88a302.

Fixes ticket #2272.

Conflicts:
	libavformat/swfenc.c
(cherry picked from commit 8d0757e107)
This commit is contained in:
Carl Eugen Hoyos
2013-02-17 19:56:09 +01:00
parent 397e769f74
commit 98d06b046d

View File

@@ -188,6 +188,10 @@ static int swf_write_header(AVFormatContext *s)
AVCodecContext *enc = s->streams[i]->codec; AVCodecContext *enc = s->streams[i]->codec;
if (enc->codec_type == AVMEDIA_TYPE_AUDIO) { if (enc->codec_type == AVMEDIA_TYPE_AUDIO) {
if (enc->codec_id == AV_CODEC_ID_MP3) { if (enc->codec_id == AV_CODEC_ID_MP3) {
if (!enc->frame_size) {
av_log(s, AV_LOG_ERROR, "audio frame size not set\n");
return -1;
}
swf->audio_enc = enc; swf->audio_enc = enc;
swf->audio_fifo= av_fifo_alloc(AUDIO_FIFO_SIZE); swf->audio_fifo= av_fifo_alloc(AUDIO_FIFO_SIZE);
if (!swf->audio_fifo) if (!swf->audio_fifo)
@@ -449,7 +453,7 @@ static int swf_write_audio(AVFormatContext *s,
} }
av_fifo_generic_write(swf->audio_fifo, buf, size, NULL); av_fifo_generic_write(swf->audio_fifo, buf, size, NULL);
swf->sound_samples += av_get_audio_frame_duration(enc, size); swf->sound_samples += enc->frame_size;
/* if audio only stream make sure we add swf frames */ /* if audio only stream make sure we add swf frames */
if (!swf->video_enc) if (!swf->video_enc)