diff options
author | dalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-29 02:00:42 +0000 |
---|---|---|
committer | dalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-29 02:00:42 +0000 |
commit | 62e74688d406af9fae7bd720147549f8951371b0 (patch) | |
tree | ba8074b10ba93df0caa546de4f77aa4ff2eca409 /media/audio | |
parent | e19cf55a8f5072e761b7d0e853e8e8815db0c274 (diff) | |
download | chromium_src-62e74688d406af9fae7bd720147549f8951371b0.zip chromium_src-62e74688d406af9fae7bd720147549f8951371b0.tar.gz chromium_src-62e74688d406af9fae7bd720147549f8951371b0.tar.bz2 |
Fix address casting in audio hashing.
Per basictypes.h address-casting is bad! Instead use bit_cast<>.
BUG=none
TEST=BasicPlaybackHashed still passes without hash update.
Review URL: https://chromiumcodereview.appspot.com/10702028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144856 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/audio')
-rw-r--r-- | media/audio/null_audio_sink.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/media/audio/null_audio_sink.cc b/media/audio/null_audio_sink.cc index b37a16e..bf42d17 100644 --- a/media/audio/null_audio_sink.cc +++ b/media/audio/null_audio_sink.cc @@ -104,10 +104,11 @@ void NullAudioSink::FillBufferTask() { DCHECK_EQ(sizeof(float), sizeof(uint32)); int channels = audio_data_.size(); for (int channel_idx = 0; channel_idx < channels; ++channel_idx) { + float* channel = audio_data_[channel_idx]; for (int frame_idx = 0; frame_idx < frames_received; frame_idx++) { // Convert float to uint32 w/o conversion loss. - uint32 frame = base::ByteSwapToLE32(*reinterpret_cast<uint32*>( - &audio_data_[channel_idx][frame_idx])); + uint32 frame = base::ByteSwapToLE32( + bit_cast<uint32>(channel[frame_idx])); base::MD5Update( &md5_channel_contexts_[channel_idx], base::StringPiece( reinterpret_cast<char*>(&frame), sizeof(frame))); |