| Index: media/filters/audio_file_reader.cc
|
| diff --git a/media/filters/audio_file_reader.cc b/media/filters/audio_file_reader.cc
|
| index 80f8ce60a624e66d0016224d1e0b6cd88476f8d5..a987b46ceb94e523ea4a01f14c345e6559311272 100644
|
| --- a/media/filters/audio_file_reader.cc
|
| +++ b/media/filters/audio_file_reader.cc
|
| @@ -131,7 +131,6 @@ int AudioFileReader::Read(AudioBus* audio_bus) {
|
| // decoded from the packet; otherwise av_free_packet() will corrupt memory.
|
| AVPacket packet_temp = packet;
|
| do {
|
| - avcodec_get_frame_defaults(av_frame.get());
|
| int frame_decoded = 0;
|
| int result = avcodec_decode_audio4(
|
| codec_context_, av_frame.get(), &frame_decoded, &packet_temp);
|
| @@ -155,6 +154,7 @@ int AudioFileReader::Read(AudioBus* audio_bus) {
|
| int frames_read = av_frame->nb_samples;
|
| if (frames_read < 0) {
|
| continue_decoding = false;
|
| + av_frame_unref(av_frame.get());
|
| break;
|
| }
|
|
|
| @@ -177,6 +177,7 @@ int AudioFileReader::Read(AudioBus* audio_bus) {
|
|
|
| // This is an unrecoverable error, so bail out.
|
| continue_decoding = false;
|
| + av_frame_unref(av_frame.get());
|
| break;
|
| }
|
|
|
| @@ -210,6 +211,7 @@ int AudioFileReader::Read(AudioBus* audio_bus) {
|
| }
|
|
|
| current_frame += frames_read;
|
| + av_frame_unref(av_frame.get());
|
| } while (packet_temp.size > 0);
|
| av_free_packet(&packet);
|
| }
|
|
|