Reland: Add in missing protobuf code.

Turns out the import of histogram_pb2 failed not on the stub itself
(which I thought for a long, long time), but because of the protobuf
support code it includes in turn. This is a drawback of catching
the ImportError in histogram_proto.py.

This has a decent chance of fixing the problem.

Tbr: mbonadei@webrtc.org
Bug: chromium:1029452
Change-Id: If7ae2439b01ad1b3129d8cc8b158385101082e6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171867
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30917}
diff --git a/audio/BUILD.gn b/audio/BUILD.gn
index 739016e..d4ccd42 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -215,16 +215,18 @@
     group("low_bandwidth_audio_perf_test") {
       testonly = true
 
-      deps = [ ":low_bandwidth_audio_test" ]
+      deps = [
+        ":low_bandwidth_audio_test",
+        "//third_party/catapult/tracing/tracing/proto:histogram_proto",
+        "//third_party/protobuf:py_proto_runtime",
+      ]
 
       data = [
         "test/low_bandwidth_audio_test.py",
         "../resources/voice_engine/audio_tiny16.wav",
         "../resources/voice_engine/audio_tiny48.wav",
+        "${root_out_dir}/pyproto/tracing/tracing/proto/histogram_pb2.py",
       ]
-      deps += [ "//third_party/catapult/tracing/tracing/proto:histogram_proto" ]
-      data +=
-          [ "${root_out_dir}/pyproto/tracing/tracing/proto/histogram_pb2.py" ]
 
       # TODO(http://crbug.com/1029452): Create a cleaner target with just the
       # tracing python code. We don't need Polymer for instance.
diff --git a/audio/test/low_bandwidth_audio_test.py b/audio/test/low_bandwidth_audio_test.py
index c995cd6..4e21969 100755
--- a/audio/test/low_bandwidth_audio_test.py
+++ b/audio/test/low_bandwidth_audio_test.py
@@ -234,8 +234,10 @@
   sys.path.insert(0, histogram_proto_path)
 
   # Fail early in case the proto hasn't been built.
-  from tracing.proto import histogram_proto
-  if not histogram_proto.HAS_PROTO:
+  try:
+    import histogram_pb2
+  except ImportError as e:
+    logging.exception(e)
     raise ImportError('Could not find histogram_pb2. You need to build the '
                       'low_bandwidth_audio_perf_test target before invoking '
                       'this script. Expected to find '
@@ -245,6 +247,7 @@
 def main():
   # pylint: disable=W0101
   logging.basicConfig(level=logging.INFO)
+  logging.info('Invoked with %s', str(sys.argv))
 
   args = _ParseArgs()