diff options
author | crogers@google.com <crogers@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-30 19:51:17 +0000 |
---|---|---|
committer | crogers@google.com <crogers@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-30 19:51:17 +0000 |
commit | aa998003c3d763095f8d099620840daaa3d9b92b (patch) | |
tree | 95cda5c3fb27f0b5be23cf4b3e542cad24d6d785 /media | |
parent | 5d904b9e9557916894feced1d0bad88e240f1b64 (diff) | |
download | chromium_src-aa998003c3d763095f8d099620840daaa3d9b92b.zip chromium_src-aa998003c3d763095f8d099620840daaa3d9b92b.tar.gz chromium_src-aa998003c3d763095f8d099620840daaa3d9b92b.tar.bz2 |
Fix crash in AudioFileReader::Read() by checking for properly initialized AVCodec
Review URL: http://codereview.chromium.org/7785003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98863 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r-- | media/filters/audio_file_reader.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/media/filters/audio_file_reader.cc b/media/filters/audio_file_reader.cc index 6b7f819..c757233 100644 --- a/media/filters/audio_file_reader.cc +++ b/media/filters/audio_file_reader.cc @@ -90,7 +90,15 @@ bool AudioFileReader::Open() { return false; } - result = av_seek_frame(format_context_, 0, 0, 0); + if ((result = av_seek_frame(format_context_, 0, 0, 0)) < 0) { + DLOG(WARNING) << "AudioFileReader::Open() : could not seek frame -" + << " result: " << result; + return false; + } + } else { + DLOG(WARNING) << "AudioFileReader::Open() : could not find codec -" + << " result: " << result; + return false; } return true; @@ -116,8 +124,8 @@ bool AudioFileReader::Read(const std::vector<float*>& audio_data, if (audio_data.size() != channels) return false; - DCHECK(format_context_ && codec_context_); - if (!format_context_ || !codec_context_) { + DCHECK(format_context_ && codec_context_ && codec_); + if (!format_context_ || !codec_context_ || !codec_) { DLOG(WARNING) << "AudioFileReader::Read() : reader is not opened!"; return false; } |