Diff
Modified: trunk/Source/ThirdParty/libwebrtc/CMakeLists.txt (211045 => 211046)
--- trunk/Source/ThirdParty/libwebrtc/CMakeLists.txt 2017-01-23 19:23:34 UTC (rev 211045)
+++ trunk/Source/ThirdParty/libwebrtc/CMakeLists.txt 2017-01-23 19:32:37 UTC (rev 211046)
@@ -155,6 +155,7 @@
${LIBWEBRTC_INPUT_DIR}/webrtc/modules/video_coding/video_coding_impl.cc
${LIBWEBRTC_INPUT_DIR}/webrtc/modules/video_coding/video_receiver.cc
${LIBWEBRTC_INPUT_DIR}/webrtc/modules/video_coding/video_sender.cc
+ ${LIBWEBRTC_INPUT_DIR}/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc
${LIBWEBRTC_INPUT_DIR}/webrtc/modules/video_coding/codecs/vp9/vp9_noop.cc)
add_library(WebrtcModulesVideo_CodingVideo_Coding STATIC ${WebrtcModulesVideo_CodingVideo_Coding_SOURCES})
target_compile_options(WebrtcModulesVideo_CodingVideo_Coding PRIVATE "-fno-strict-aliasing" "-fstack-protector-strong" "-fcolor-diagnostics" "-arch" "x86_64" "-gdwarf-2" "-mmacosx-version-min=10.9" "-Wall" "-Werror" "-Wextra" "-Wpartial-availability" "-Wno-missing-field-initializers" "-Wno-unused-parameter" "-Wno-c++11-narrowing" "-Wno-covered-switch-default" "-Wno-deprecated-register" "-Wno-unneeded-internal-declaration" "-Wno-inconsistent-missing-override" "-Wno-shift-negative-value" "-O0" "-fvisibility=hidden" "-Wheader-hygiene" "-Wstring-conversion" "-Wno-strict-overflow" "-Wimplicit-fallthrough" "-Wthread-safety" "-Winconsistent-missing-override" "-Wundef" "-std=c99&
quot; "-fno-threadsafe-statics" "-fvisibility-inlines-hidden" "-Wno-undefined-bool-conversion" "-Wno-tautological-undefined-compare" "-stdlib=libc++" "-fno-rtti" "-fno-exceptions" "-Wnon-virtual-dtor" "-Woverloaded-virtual" "-Wobjc-missing-property-synthesis" "-fobjc-call-cxx-cdtors")
@@ -4218,6 +4219,7 @@
CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/session_info.cc.o
CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/packet.cc.o
CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/timestamp_map.cc.o
+CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc.o
CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/inter_frame_delay.cc.o
CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/h264_sps_pps_tracker.cc.o
CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/frame_buffer2.cc.o
Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (211045 => 211046)
--- trunk/Source/ThirdParty/libwebrtc/ChangeLog 2017-01-23 19:23:34 UTC (rev 211045)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog 2017-01-23 19:32:37 UTC (rev 211046)
@@ -1,3 +1,19 @@
+2017-01-23 Youenn Fablet <[email protected]>
+
+ [WebRTC] Make VP8 optional in libwebrtc
+ https://bugs.webkit.org/show_bug.cgi?id=167257
+
+ Reviewed by Darin Adler.
+
+ Reusing strategy used to have VP9 optional for VP8 codec.
+
+ * CMakeLists.txt: Updated tocompile and link vp8_noop.cc
+ * Source/webrtc/media/engine/webrtcvideoengine2.cc:
+ * Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h:
+ * Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:
+ * Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc: Added.
+ * Source/webrtc/video/video_encoder.cc:
+
2017-01-20 Youenn Fablet <[email protected]>
[WebRTC] Update build system to make G711 optional in libwebrtc
Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/webrtcvideoengine2.cc (211045 => 211046)
--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/webrtcvideoengine2.cc 2017-01-23 19:23:34 UTC (rev 211045)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/webrtcvideoengine2.cc 2017-01-23 19:32:37 UTC (rev 211046)
@@ -115,10 +115,13 @@
const cricket::VideoCodec& codec) override {
RTC_DCHECK(factory_ != NULL);
// If it's a codec type we can simulcast, create a wrapped encoder.
+#ifndef RTC_DISABLE_VP8
+ ASSERT(webrtc::VP8Encoder::IsSupported());
if (CodecNamesEq(codec.name.c_str(), kVp8CodecName)) {
return new webrtc::SimulcastEncoderAdapter(
new EncoderFactoryAdapter(factory_));
}
+#endif
webrtc::VideoEncoder* encoder = factory_->CreateVideoEncoder(codec);
if (encoder) {
non_simulcast_encoders_.push_back(encoder);
@@ -430,9 +433,11 @@
std::vector<VideoCodec> DefaultVideoCodecList() {
std::vector<VideoCodec> codecs;
- AddCodecAndMaybeRtxCodec(
+ if (webrtc::VP8Encoder::IsSupported() && webrtc::VP8Decoder::IsSupported()) {
+ AddCodecAndMaybeRtxCodec(
MakeVideoCodecWithDefaultFeedbackParams(kDefaultVp8PlType, kVp8CodecName),
&codecs);
+ }
if (webrtc::VP9Encoder::IsSupported() && webrtc::VP9Decoder::IsSupported()) {
AddCodecAndMaybeRtxCodec(MakeVideoCodecWithDefaultFeedbackParams(
kDefaultVp9PlType, kVp9CodecName),
Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h (211045 => 211046)
--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h 2017-01-23 19:23:34 UTC (rev 211045)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h 2017-01-23 19:32:37 UTC (rev 211046)
@@ -19,6 +19,7 @@
class VP8Encoder : public VideoEncoder {
public:
+ static bool IsSupported();
static VP8Encoder* Create();
virtual ~VP8Encoder() {}
@@ -26,6 +27,7 @@
class VP8Decoder : public VideoDecoder {
public:
+ static bool IsSupported();
static VP8Decoder* Create();
virtual ~VP8Decoder() {}
Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc (211045 => 211046)
--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc 2017-01-23 19:23:34 UTC (rev 211045)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc 2017-01-23 19:32:37 UTC (rev 211046)
@@ -103,10 +103,18 @@
}
} // namespace
+bool VP8Encoder::IsSupported() {
+ return true;
+}
+
VP8Encoder* VP8Encoder::Create() {
return new VP8EncoderImpl();
}
+bool VP8Decoder::IsSupported() {
+ return true;
+}
+
VP8Decoder* VP8Decoder::Create() {
return new VP8DecoderImpl();
}
Added: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc (0 => 211046)
--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc (rev 0)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc 2017-01-23 19:32:37 UTC (rev 211046)
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2017 Apple Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ *
+ */
+
+#if !defined(RTC_DISABLE_VP8)
+#error
+#endif // !defined(RTC_DISABLE_VP8)
+
+#include "webrtc/base/checks.h"
+#include "webrtc/modules/video_coding/codecs/vp8/include/vp8.h"
+
+namespace webrtc {
+
+bool VP8Encoder::IsSupported() {
+ return false;
+}
+
+VP8Encoder* VP8Encoder::Create() {
+ RTC_NOTREACHED();
+ return nullptr;
+}
+
+bool VP8Decoder::IsSupported() {
+ return false;
+}
+
+VP8Decoder* VP8Decoder::Create() {
+ RTC_NOTREACHED();
+ return nullptr;
+}
+
+} // namespace webrtc
Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/video/video_encoder.cc (211045 => 211046)
--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/video/video_encoder.cc 2017-01-23 19:23:34 UTC (rev 211045)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/video/video_encoder.cc 2017-01-23 19:32:37 UTC (rev 211046)
@@ -39,7 +39,7 @@
case kH264:
return H264Encoder::IsSupported();
case kVp8:
- return true;
+ return VP8Encoder::IsSupported();
case kVp9:
return VP9Encoder::IsSupported();
case kUnsupportedCodec:
Modified: trunk/Tools/ChangeLog (211045 => 211046)
--- trunk/Tools/ChangeLog 2017-01-23 19:23:34 UTC (rev 211045)
+++ trunk/Tools/ChangeLog 2017-01-23 19:32:37 UTC (rev 211046)
@@ -1,3 +1,13 @@
+2017-01-23 Youenn Fablet <[email protected]>
+
+ [WebRTC] Make VP8 optional in libwebrtc
+ https://bugs.webkit.org/show_bug.cgi?id=167257
+
+ Reviewed by Darin Adler.
+
+ * Scripts/webkitpy/libwebrtc/generate_cmake.py:
+ (CMakeGenerator.remove_libvpx): Adding vp8_noop.cc to the build system.
+
2017-01-23 Jer Noble <[email protected]>
Video details does not apear and missing scrubber in Control Center
Modified: trunk/Tools/Scripts/webkitpy/libwebrtc/generate_cmake.py (211045 => 211046)
--- trunk/Tools/Scripts/webkitpy/libwebrtc/generate_cmake.py 2017-01-23 19:23:34 UTC (rev 211045)
+++ trunk/Tools/Scripts/webkitpy/libwebrtc/generate_cmake.py 2017-01-23 19:32:37 UTC (rev 211046)
@@ -281,6 +281,8 @@
target = self.targets["//webrtc/modules/video_coding:video_coding"]
target["defines"].append("RTC_DISABLE_VP8")
target["defines"].append("RTC_DISABLE_VP9")
+ target["sources"].append("//webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc")
+ target["source_outputs"]["//webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc"] = ["obj/webrtc/modules/video_coding/webrtc_vp8/vp8_noop.o"]
target["sources"].append("//webrtc/modules/video_coding/codecs/vp9/vp9_noop.cc")
target["source_outputs"]["//webrtc/modules/video_coding/codecs/vp9/vp9_noop.cc"] = ["obj/webrtc/modules/video_coding/webrtc_vp9/vp9_noop.o"]