NetEq: Fix an UBSan error

UBSan will trigger when shifting a negative value. This change avoids
that by replacing "x << 8" with "x * (1 << 8)".

Bug: chromium:666877
Change-Id: Ic89bd98e5a3feff35075df96b104b386cb4d8803
Reviewed-on: https://webrtc-review.googlesource.com/14552
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20387}
diff --git a/modules/audio_coding/neteq/buffer_level_filter.cc b/modules/audio_coding/neteq/buffer_level_filter.cc
index 5df59c7..6005de6 100644
--- a/modules/audio_coding/neteq/buffer_level_filter.cc
+++ b/modules/audio_coding/neteq/buffer_level_filter.cc
@@ -40,9 +40,9 @@
     // value of |time_stretched_samples| from |filtered_current_level_| after
     // converting |time_stretched_samples| from samples to packets in Q8.
     // Make sure that the filtered value remains non-negative.
-    filtered_current_level_ = std::max(0,
-        filtered_current_level_ -
-        (time_stretched_samples << 8) / static_cast<int>(packet_len_samples));
+    filtered_current_level_ = std::max(
+        0, filtered_current_level_ - (time_stretched_samples * (1 << 8)) /
+                                         static_cast<int>(packet_len_samples));
   }
 }