| Index: trunk/src/media/base/media_file_checker.cc
|
| ===================================================================
|
| --- trunk/src/media/base/media_file_checker.cc (revision 271953)
|
| +++ trunk/src/media/base/media_file_checker.cc (working copy)
|
| @@ -84,20 +84,18 @@
|
| // decoded; otherwise av_free_packet() will corrupt memory.
|
| AVPacket temp_packet = packet;
|
| do {
|
| + avcodec_get_frame_defaults(frame.get());
|
| result = avcodec_decode_audio4(av_context, frame.get(), &frame_decoded,
|
| &temp_packet);
|
| if (result < 0)
|
| break;
|
| - av_frame_unref(frame.get());
|
| temp_packet.size -= result;
|
| temp_packet.data += result;
|
| - frame_decoded = 0;
|
| } while (temp_packet.size > 0);
|
| } else if (av_context->codec_type == AVMEDIA_TYPE_VIDEO) {
|
| + avcodec_get_frame_defaults(frame.get());
|
| result = avcodec_decode_video2(av_context, frame.get(), &frame_decoded,
|
| &packet);
|
| - if (result >= 0 && frame_decoded)
|
| - av_frame_unref(frame.get());
|
| }
|
| av_free_packet(&packet);
|
| } while (base::TimeTicks::Now() < deadline && read_ok && result >= 0);
|
|
|