diff --git a/video_engine/test/auto_test/source/vie_autotest_custom_call.cc b/video_engine/test/auto_test/source/vie_autotest_custom_call.cc
index 5e0642a..368fa89 100644
--- a/video_engine/test/auto_test/source/vie_autotest_custom_call.cc
+++ b/video_engine/test/auto_test/source/vie_autotest_custom_call.cc
@@ -578,7 +578,7 @@
         "Keep the call running indefinitely\n")
             .WithDefault("Keep the call running indefinitely").Choose();
     if (selection == 3) {
-        AutoTestSleep(std::numeric_limits<long>::max());
+        AutoTestSleep(std::numeric_limits<int>::max());
     }
 
     while (selection == 2) {
diff --git a/video_engine/vie_base_impl.cc b/video_engine/vie_base_impl.cc
index 82d9ab9..617ab40 100644
--- a/video_engine/vie_base_impl.cc
+++ b/video_engine/vie_base_impl.cc
@@ -35,7 +35,7 @@
   if (!video_engine) {
     return NULL;
   }
-  VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine);
+  VideoEngineImpl* vie_impl = static_cast<VideoEngineImpl*>(video_engine);
   ViEBaseImpl* vie_base_impl = vie_impl;
   (*vie_base_impl)++;  // Increase ref count.
 
diff --git a/video_engine/vie_capture_impl.cc b/video_engine/vie_capture_impl.cc
index 6c17f14..b5b6c02 100644
--- a/video_engine/vie_capture_impl.cc
+++ b/video_engine/vie_capture_impl.cc
@@ -28,7 +28,7 @@
   if (!video_engine) {
     return NULL;
   }
-  VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine);
+  VideoEngineImpl* vie_impl = static_cast<VideoEngineImpl*>(video_engine);
   ViECaptureImpl* vie_capture_impl = vie_impl;
   // Increase ref count.
   (*vie_capture_impl)++;
diff --git a/video_engine/vie_codec_impl.cc b/video_engine/vie_codec_impl.cc
index 67ac417..77b4d89 100644
--- a/video_engine/vie_codec_impl.cc
+++ b/video_engine/vie_codec_impl.cc
@@ -33,7 +33,7 @@
   if (!video_engine) {
     return NULL;
   }
-  VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine);
+  VideoEngineImpl* vie_impl = static_cast<VideoEngineImpl*>(video_engine);
   ViECodecImpl* vie_codec_impl = vie_impl;
   // Increase ref count.
   (*vie_codec_impl)++;
diff --git a/video_engine/vie_encryption_impl.cc b/video_engine/vie_encryption_impl.cc
index 8e14aa0..93e7ed8 100644
--- a/video_engine/vie_encryption_impl.cc
+++ b/video_engine/vie_encryption_impl.cc
@@ -25,7 +25,7 @@
   if (video_engine == NULL) {
     return NULL;
   }
-  VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine);
+  VideoEngineImpl* vie_impl = static_cast<VideoEngineImpl*>(video_engine);
   ViEEncryptionImpl* vie_encryption_impl = vie_impl;
   // Increase ref count.
   (*vie_encryption_impl)++;
diff --git a/video_engine/vie_external_codec_impl.cc b/video_engine/vie_external_codec_impl.cc
index f7f8fee..4d0bebe 100644
--- a/video_engine/vie_external_codec_impl.cc
+++ b/video_engine/vie_external_codec_impl.cc
@@ -26,7 +26,7 @@
   if (video_engine == NULL) {
     return NULL;
   }
-  VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine);
+  VideoEngineImpl* vie_impl = static_cast<VideoEngineImpl*>(video_engine);
   ViEExternalCodecImpl* vie_external_codec_impl = vie_impl;
   // Increase ref count.
   (*vie_external_codec_impl)++;
diff --git a/video_engine/vie_image_process_impl.cc b/video_engine/vie_image_process_impl.cc
index 79f574c..354a584 100644
--- a/video_engine/vie_image_process_impl.cc
+++ b/video_engine/vie_image_process_impl.cc
@@ -28,7 +28,7 @@
   if (!video_engine) {
     return NULL;
   }
-  VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine);
+  VideoEngineImpl* vie_impl = static_cast<VideoEngineImpl*>(video_engine);
   ViEImageProcessImpl* vie_image_process_impl = vie_impl;
   // Increase ref count.
   (*vie_image_process_impl)++;
diff --git a/video_engine/vie_impl.cc b/video_engine/vie_impl.cc
index d455a69..8a4067c 100644
--- a/video_engine/vie_impl.cc
+++ b/video_engine/vie_impl.cc
@@ -32,7 +32,7 @@
   }
   WEBRTC_TRACE(kTraceApiCall, kTraceVideo, kModuleId,
                "VideoEngine::Delete(vie = 0x%p)", video_engine);
-  VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine);
+  VideoEngineImpl* vie_impl = static_cast<VideoEngineImpl*>(video_engine);
 
   // Check all reference counters.
   ViEBaseImpl* vie_base = vie_impl;
diff --git a/video_engine/vie_network_impl.cc b/video_engine/vie_network_impl.cc
index 9323879..3eeab17 100644
--- a/video_engine/vie_network_impl.cc
+++ b/video_engine/vie_network_impl.cc
@@ -31,7 +31,7 @@
   if (!video_engine) {
     return NULL;
   }
-  VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine);
+  VideoEngineImpl* vie_impl = static_cast<VideoEngineImpl*>(video_engine);
   ViENetworkImpl* vie_networkImpl = vie_impl;
   // Increase ref count.
   (*vie_networkImpl)++;
diff --git a/video_engine/vie_render_impl.cc b/video_engine/vie_render_impl.cc
index 4b400cc..260a3b8 100644
--- a/video_engine/vie_render_impl.cc
+++ b/video_engine/vie_render_impl.cc
@@ -33,7 +33,7 @@
   if (!video_engine) {
     return NULL;
   }
-  VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine);
+  VideoEngineImpl* vie_impl = static_cast<VideoEngineImpl*>(video_engine);
   ViERenderImpl* vie_render_impl = vie_impl;
   // Increase ref count.
   (*vie_render_impl)++;
diff --git a/video_engine/vie_rtp_rtcp_impl.cc b/video_engine/vie_rtp_rtcp_impl.cc
index 4233894..5a4d528 100644
--- a/video_engine/vie_rtp_rtcp_impl.cc
+++ b/video_engine/vie_rtp_rtcp_impl.cc
@@ -79,7 +79,7 @@
   if (!video_engine) {
     return NULL;
   }
-  VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine);
+  VideoEngineImpl* vie_impl = static_cast<VideoEngineImpl*>(video_engine);
   ViERTP_RTCPImpl* vie_rtpimpl = vie_impl;
   // Increase ref count.
   (*vie_rtpimpl)++;
