summaryrefslogtreecommitdiffstats
path: root/media/audio
diff options
context:
space:
mode:
authordalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-29 02:00:42 +0000
committerdalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-29 02:00:42 +0000
commit62e74688d406af9fae7bd720147549f8951371b0 (patch)
treeba8074b10ba93df0caa546de4f77aa4ff2eca409 /media/audio
parente19cf55a8f5072e761b7d0e853e8e8815db0c274 (diff)
downloadchromium_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.cc5
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)));