diff --git a/DEPS b/DEPS index e0d38fd91e..b06edaf2f1 100644 --- a/DEPS +++ b/DEPS @@ -6,7 +6,7 @@ vars = { 'extra_gyp_flag': '-Dextra_gyp_flag=0', 'chromium_git': 'https://chromium.googlesource.com', - 'chromium_revision': 'd66326c14bb70a1d61d75b096a9a344bc9a53c1a', + 'chromium_revision': '4df108a08782de0f5275a52491eedcaacfe1907f', } # NOTE: Prefer revision numbers to tags for svn deps. Use http rather than diff --git a/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc b/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc index 7ebcd203a1..c3d287ce0d 100644 --- a/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc +++ b/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc @@ -112,6 +112,10 @@ class MediaCodecVideoDecoder : public webrtc::VideoDecoder, // Type of video codec. VideoCodecType codecType_; + // Render EGL context - owned by factory, should not be allocated/destroyed + // by VideoDecoder. + jobject render_egl_context_; + bool key_frame_required_; bool inited_; bool sw_fallback_required_; @@ -165,10 +169,6 @@ class MediaCodecVideoDecoder : public webrtc::VideoDecoder, // Global references; must be deleted in Release(). std::vector input_buffers_; - - // Render EGL context - owned by factory, should not be allocated/destroyed - // by VideoDecoder. - jobject render_egl_context_; }; MediaCodecVideoDecoder::MediaCodecVideoDecoder( diff --git a/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc b/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc index b36dc0bb34..64831c3174 100644 --- a/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc +++ b/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc @@ -250,9 +250,6 @@ MediaCodecVideoEncoder::MediaCodecVideoEncoder( JNIEnv* jni, VideoCodecType codecType, jobject egl_context) : codecType_(codecType), callback_(NULL), - inited_(false), - use_surface_(false), - picture_id_(0), codec_thread_(new Thread()), j_media_codec_video_encoder_class_( jni, @@ -264,6 +261,9 @@ MediaCodecVideoEncoder::MediaCodecVideoEncoder( *j_media_codec_video_encoder_class_, "", "()V"))), + inited_(false), + use_surface_(false), + picture_id_(0), egl_context_(egl_context) { ScopedLocalRefFrame local_ref_frame(jni); // It would be nice to avoid spinning up a new thread per MediaCodec, and diff --git a/talk/app/webrtc/java/jni/androidvideocapturer_jni.h b/talk/app/webrtc/java/jni/androidvideocapturer_jni.h index 91fc1acd13..89ecacb3a5 100644 --- a/talk/app/webrtc/java/jni/androidvideocapturer_jni.h +++ b/talk/app/webrtc/java/jni/androidvideocapturer_jni.h @@ -40,7 +40,7 @@ namespace webrtc_jni { -class NativeHandleImpl; +struct NativeHandleImpl; class SurfaceTextureHelper; // AndroidVideoCapturerJni implements AndroidVideoCapturerDelegate. diff --git a/talk/app/webrtc/objc/avfoundationvideocapturer.h b/talk/app/webrtc/objc/avfoundationvideocapturer.h index ded80f6647..32de09aadd 100644 --- a/talk/app/webrtc/objc/avfoundationvideocapturer.h +++ b/talk/app/webrtc/objc/avfoundationvideocapturer.h @@ -71,7 +71,6 @@ class AVFoundationVideoCapturer : public cricket::VideoCapturer { RTCAVFoundationVideoCapturerInternal* _capturer; rtc::Thread* _startThread; // Set in Start(), unset in Stop(). - uint64_t _startTime; }; // AVFoundationVideoCapturer } // namespace webrtc diff --git a/talk/app/webrtc/peerconnectionendtoend_unittest.cc b/talk/app/webrtc/peerconnectionendtoend_unittest.cc index e907192da4..7413b9d0bc 100644 --- a/talk/app/webrtc/peerconnectionendtoend_unittest.cc +++ b/talk/app/webrtc/peerconnectionendtoend_unittest.cc @@ -50,56 +50,6 @@ namespace { const size_t kMaxWait = 10000; -void RemoveLinesFromSdp(const std::string& line_start, - std::string* sdp) { - const char kSdpLineEnd[] = "\r\n"; - size_t ssrc_pos = 0; - while ((ssrc_pos = sdp->find(line_start, ssrc_pos)) != - std::string::npos) { - size_t end_ssrc = sdp->find(kSdpLineEnd, ssrc_pos); - sdp->erase(ssrc_pos, end_ssrc - ssrc_pos + strlen(kSdpLineEnd)); - } -} - -// Add |newlines| to the |message| after |line|. -void InjectAfter(const std::string& line, - const std::string& newlines, - std::string* message) { - const std::string tmp = line + newlines; - rtc::replace_substrs(line.c_str(), line.length(), - tmp.c_str(), tmp.length(), message); -} - -void Replace(const std::string& line, - const std::string& newlines, - std::string* message) { - rtc::replace_substrs(line.c_str(), line.length(), - newlines.c_str(), newlines.length(), message); -} - -void UseExternalSdes(std::string* sdp) { - // Remove current crypto specification. - RemoveLinesFromSdp("a=crypto", sdp); - RemoveLinesFromSdp("a=fingerprint", sdp); - // Add external crypto. - const char kAudioSdes[] = - "a=crypto:1 AES_CM_128_HMAC_SHA1_80 " - "inline:PS1uQCVeeCFCanVmcjkpPywjNWhcYD0mXXtxaVBR\r\n"; - const char kVideoSdes[] = - "a=crypto:1 AES_CM_128_HMAC_SHA1_80 " - "inline:d0RmdmcmVCspeEc3QGZiNWpVLFJhQX1cfHAwJSoj\r\n"; - const char kDataSdes[] = - "a=crypto:1 AES_CM_128_HMAC_SHA1_80 " - "inline:NzB4d1BINUAvLEw6UzF3WSJ+PSdFcGdUJShpX1Zj\r\n"; - InjectAfter("a=mid:audio\r\n", kAudioSdes, sdp); - InjectAfter("a=mid:video\r\n", kVideoSdes, sdp); - InjectAfter("a=mid:data\r\n", kDataSdes, sdp); -} - -void RemoveBundle(std::string* sdp) { - RemoveLinesFromSdp("a=group:BUNDLE", sdp); -} - } // namespace class PeerConnectionEndToEndTest diff --git a/talk/app/webrtc/webrtcsession_unittest.cc b/talk/app/webrtc/webrtcsession_unittest.cc index 5997c5328f..bf7fc83d0b 100644 --- a/talk/app/webrtc/webrtcsession_unittest.cc +++ b/talk/app/webrtc/webrtcsession_unittest.cc @@ -171,15 +171,6 @@ static const char kAudioTrack2[] = "audio2"; enum RTCCertificateGenerationMethod { ALREADY_GENERATED, DTLS_IDENTITY_STORE }; -// Add some extra |newlines| to the |message| after |line|. -static void InjectAfter(const std::string& line, - const std::string& newlines, - std::string* message) { - const std::string tmp = line + newlines; - rtc::replace_substrs(line.c_str(), line.length(), tmp.c_str(), tmp.length(), - message); -} - class MockIceObserver : public webrtc::IceObserver { public: MockIceObserver() diff --git a/talk/libjingle.gyp b/talk/libjingle.gyp index afde2fa992..04da73f687 100755 --- a/talk/libjingle.gyp +++ b/talk/libjingle.gyp @@ -62,6 +62,13 @@ '<(libyuv_dir)/include', ], 'conditions': [ + ['clang==1', { + 'cflags': [ + # Disabled due to failing when compiled with -Wall, see + # https://bugs.chromium.org/p/webrtc/issues/detail?id=5399 + '-Wno-overloaded-virtual', + ], + }], ['OS=="linux"', { 'defines': [ 'HAVE_GTK', @@ -357,6 +364,9 @@ # common.gypi enables this for mac but we want this to be disabled # like it is for ios. 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO', + # Disabled due to failing when compiled with -Wall, see + # https://bugs.chromium.org/p/webrtc/issues/detail?id=5397 + 'WARNING_CFLAGS': ['-Wno-unused-property-ivar'], }, 'conditions': [ ['OS=="ios"', { diff --git a/talk/libjingle_tests.gyp b/talk/libjingle_tests.gyp index e7b354b126..078b43bf21 100755 --- a/talk/libjingle_tests.gyp +++ b/talk/libjingle_tests.gyp @@ -139,6 +139,16 @@ }, }, },], + ['clang==1', { + # Disabled due to failing when compiled with -Wall, see + # https://bugs.chromium.org/p/webrtc/issues/detail?id=5398 + 'cflags': [ + '-Wno-unused-function', + ], + 'xcode_settings': { + 'WARNING_CFLAGS': ['-Wno-unused-function'], + }, + },], ['OS=="ios"', { 'sources!': [ 'media/sctp/sctpdataengine_unittest.cc', diff --git a/talk/media/devices/carbonvideorenderer.cc b/talk/media/devices/carbonvideorenderer.cc index 846135d925..b711ae4fbd 100644 --- a/talk/media/devices/carbonvideorenderer.cc +++ b/talk/media/devices/carbonvideorenderer.cc @@ -40,7 +40,6 @@ CarbonVideoRenderer::CarbonVideoRenderer(int x, int y) image_height_(0), x_(x), y_(y), - image_ref_(NULL), window_ref_(NULL) { } diff --git a/talk/media/devices/carbonvideorenderer.h b/talk/media/devices/carbonvideorenderer.h index 52c974060c..e8329ea031 100644 --- a/talk/media/devices/carbonvideorenderer.h +++ b/talk/media/devices/carbonvideorenderer.h @@ -65,7 +65,6 @@ class CarbonVideoRenderer : public VideoRenderer { int image_height_; int x_; int y_; - CGImageRef image_ref_; WindowRef window_ref_; }; diff --git a/third_party/gflags/BUILD.gn b/third_party/gflags/BUILD.gn index a2f1c3d413..e8a5a13ff6 100644 --- a/third_party/gflags/BUILD.gn +++ b/third_party/gflags/BUILD.gn @@ -13,7 +13,7 @@ if (is_win) { } config("gflags_config") { - include_dirs = [ + include_dirs = [ "$gflags_gen_arch_root/include", # For configured files. "src", # For everything else. ] @@ -25,6 +25,13 @@ config("gflags_config") { "GFLAGS_DLL_DECLARE_FLAG=", "GFLAGS_DLL_DEFINE_FLAG=", ] + + # GN orders flags on a target before flags from configs. The default config + # adds -Wall, and this flag have to be after -Wall -- so they need to + # come from a config and can't be on the target directly. + if (is_clang) { + cflags = [ "-Wno-unused-local-typedef" ] + } } source_set("gflags") { @@ -42,9 +49,7 @@ source_set("gflags") { ] } - include_dirs = [ - "$gflags_gen_arch_root/include/private", # For config.h - ] + include_dirs = [ "$gflags_gen_arch_root/include/private" ] # For config.h public_configs = [ ":gflags_config" ] diff --git a/third_party/gflags/gflags.gyp b/third_party/gflags/gflags.gyp index 76d2448b7e..d3f2788664 100644 --- a/third_party/gflags/gflags.gyp +++ b/third_party/gflags/gflags.gyp @@ -79,8 +79,10 @@ }, }], ['clang==1', { + 'cflags': ['-Wno-unused-local-typedef',], 'cflags!': ['-Wheader-hygiene',], 'xcode_settings': { + 'WARNING_CFLAGS': ['-Wno-unused-local-typedef',], 'WARNING_CFLAGS!': ['-Wheader-hygiene',], }, }], diff --git a/webrtc/base/latebindingsymboltable_unittest.cc b/webrtc/base/latebindingsymboltable_unittest.cc index 30ebd17cba..0079f20342 100644 --- a/webrtc/base/latebindingsymboltable_unittest.cc +++ b/webrtc/base/latebindingsymboltable_unittest.cc @@ -21,9 +21,10 @@ namespace rtc { #define LIBM_SYMBOLS_CLASS_NAME LibmTestSymbolTable #define LIBM_SYMBOLS_LIST \ - X(acos) \ - X(sin) \ - X(tan) + X(acosf) \ + X(sinf) \ + X(tanf) + #define LATE_BINDING_SYMBOL_TABLE_CLASS_NAME LIBM_SYMBOLS_CLASS_NAME #define LATE_BINDING_SYMBOL_TABLE_SYMBOLS_LIST LIBM_SYMBOLS_LIST @@ -39,9 +40,9 @@ TEST(LateBindingSymbolTable, libm) { EXPECT_FALSE(table.IsLoaded()); ASSERT_TRUE(table.Load()); EXPECT_TRUE(table.IsLoaded()); - EXPECT_EQ(table.acos()(0.5), acos(0.5)); - EXPECT_EQ(table.sin()(0.5), sin(0.5)); - EXPECT_EQ(table.tan()(0.5), tan(0.5)); + EXPECT_EQ(table.acosf()(0.5f), acosf(0.5f)); + EXPECT_EQ(table.sinf()(0.5f), sinf(0.5f)); + EXPECT_EQ(table.tanf()(0.5f), tanf(0.5f)); // It would be nice to check that the addresses are the same, but the nature // of dynamic linking and relocation makes them actually be different. table.Unload(); diff --git a/webrtc/base/linux.cc b/webrtc/base/linux.cc index 1586b27b07..0894d39c77 100644 --- a/webrtc/base/linux.cc +++ b/webrtc/base/linux.cc @@ -233,33 +233,6 @@ bool ConfigParser::ParseLine(std::string* key, std::string* value) { return true; } -#if !defined(WEBRTC_CHROMIUM_BUILD) -static bool ExpectLineFromStream(FileStream* stream, - std::string* out) { - StreamResult res = stream->ReadLine(out); - if (res != SR_SUCCESS) { - if (res != SR_EOS) { - LOG(LS_ERROR) << "Error when reading from stream"; - } else { - LOG(LS_ERROR) << "Incorrect number of lines in stream"; - } - return false; - } - return true; -} - -static void ExpectEofFromStream(FileStream* stream) { - std::string unused; - StreamResult res = stream->ReadLine(&unused); - if (res == SR_SUCCESS) { - LOG(LS_WARNING) << "Ignoring unexpected extra lines from stream"; - } else if (res != SR_EOS) { - LOG(LS_WARNING) << "Error when checking for extra lines from stream"; - } -} - -#endif - std::string ReadLinuxUname() { struct utsname buf; if (uname(&buf) < 0) {