summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-29 09:23:03 +0000
committerhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-29 09:23:03 +0000
commitb16b8fd3126b67440e3a5b608649594dd79b3cd5 (patch)
treec5830e798269864dbf460312667d4098eb89fdb6 /media
parentff58e001c0571dd4c5f1306e341a224205d9f7bb (diff)
downloadchromium_src-b16b8fd3126b67440e3a5b608649594dd79b3cd5.zip
chromium_src-b16b8fd3126b67440e3a5b608649594dd79b3cd5.tar.gz
chromium_src-b16b8fd3126b67440e3a5b608649594dd79b3cd5.tar.bz2
Revert 220228 "FFmpeg roll for M31."
Causing compile failure on "Google Chrome ChromeOS" http://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20ChromeOS/builds/57680 > FFmpeg roll for M31. > > BUG=none > TEST=asan media_unittests, ffmpeg_regression_tests + manual. > > Review URL: https://chromiumcodereview.appspot.com/23172019 TBR=dalecurtis@chromium.org Review URL: https://codereview.chromium.org/23753002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220237 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r--media/filters/ffmpeg_audio_decoder.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_decoder.cc
index f922e98..cce22b78 100644
--- a/media/filters/ffmpeg_audio_decoder.cc
+++ b/media/filters/ffmpeg_audio_decoder.cc
@@ -357,7 +357,6 @@ bool FFmpegAudioDecoder::ConfigureDecoder() {
codec_context_->opaque = this;
codec_context_->get_buffer2 = GetAudioBufferImpl;
- codec_context_->refcounted_frames = 1;
AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
if (!codec || avcodec_open2(codec_context_, codec, NULL) < 0) {
@@ -397,8 +396,10 @@ void FFmpegAudioDecoder::ReleaseFFmpegResources() {
av_free(codec_context_);
}
- if (av_frame_)
- av_frame_free(&av_frame_);
+ if (av_frame_) {
+ av_free(av_frame_);
+ av_frame_ = NULL;
+ }
}
void FFmpegAudioDecoder::ResetTimestampState() {
@@ -425,6 +426,9 @@ void FFmpegAudioDecoder::RunDecodeLoop(
// want to hand it to the decoder at least once, otherwise we would end up
// skipping end of stream packets since they have a size of zero.
do {
+ // Reset frame to default values.
+ avcodec_get_frame_defaults(av_frame_);
+
int frame_decoded = 0;
int result = avcodec_decode_audio4(
codec_context_, av_frame_, &frame_decoded, &packet);
@@ -483,7 +487,6 @@ void FFmpegAudioDecoder::RunDecodeLoop(
// This is an unrecoverable error, so bail out.
QueuedAudioBuffer queue_entry = { kDecodeError, NULL };
queued_audio_.push_back(queue_entry);
- av_frame_unref(av_frame_);
break;
}
@@ -506,11 +509,8 @@ void FFmpegAudioDecoder::RunDecodeLoop(
}
decoded_frames = output->frame_count();
- av_frame_unref(av_frame_);
}
- // WARNING: |av_frame_| no longer has valid data at this point.
-
if (decoded_frames > 0) {
// Set the timestamp/duration once all the extra frames have been
// discarded.