Skip to content

Instantly share code, notes, and snippets.

@yzf
Created July 17, 2019 07:09
Show Gist options
  • Save yzf/a88d02e558a32007ff9d3732c03bac91 to your computer and use it in GitHub Desktop.
Save yzf/a88d02e558a32007ff9d3732c03bac91 to your computer and use it in GitHub Desktop.
owt
diff --git a/.gitignore b/.gitignore
index 5c979d9575..02e58ab052 100644
--- a/.gitignore
+++ b/.gitignore
@@ -67,3 +67,5 @@
/x86-generic_out/
/xcodebuild
!webrtc/*
+tags
+out
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
index 81cb3e73ae..9aa3c43478 100644
--- a/build_overrides/build.gni
+++ b/build_overrides/build.gni
@@ -15,6 +15,8 @@ linux_use_bundled_binutils_override = true
# Variable that can be used to support multiple build scenarios, like having
# Chromium specific targets in a client project's GN file etc.
build_with_chromium = false
+build_with_woogeen = false
+rtc_use_h265 = true
# Use our own suppressions files.
asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc"
diff --git a/common_video/h265/h265_sps_parser.cc b/common_video/h265/h265_sps_parser.cc
index 14306d4694..0c4fbff837 100644
--- a/common_video/h265/h265_sps_parser.cc
+++ b/common_video/h265/h265_sps_parser.cc
@@ -28,6 +28,7 @@ typedef absl::optional<webrtc::H265SpsParser::SpsState> OptionalSps;
namespace webrtc {
H265SpsParser::SpsState::SpsState() = default;
+H265SpsParser::SpsState::SpsState(const H265SpsParser::SpsState& rhs) = default;
// General note: this is based off the 02/2018 version of the H.265 standard.
// You can find it on this page:
diff --git a/common_video/h265/h265_sps_parser.h b/common_video/h265/h265_sps_parser.h
index a0f86b6983..74c38f810e 100644
--- a/common_video/h265/h265_sps_parser.h
+++ b/common_video/h265/h265_sps_parser.h
@@ -26,6 +26,7 @@ class H265SpsParser {
// Add more as they are actually needed.
struct SpsState {
SpsState();
+ SpsState(const SpsState& rhs);
uint32_t width = 0;
uint32_t height = 0;
diff --git a/modules/rtp_rtcp/source/rtp_format_h265.cc b/modules/rtp_rtcp/source/rtp_format_h265.cc
index 8e8c48250a..80df2966d5 100644
--- a/modules/rtp_rtcp/source/rtp_format_h265.cc
+++ b/modules/rtp_rtcp/source/rtp_format_h265.cc
@@ -113,6 +113,7 @@ RtpPacketizerH265::Fragment::Fragment(const uint8_t* buffer, size_t length)
: buffer(buffer), length(length) {}
RtpPacketizerH265::Fragment::Fragment(const Fragment& fragment)
: buffer(fragment.buffer), length(fragment.length) {}
+RtpPacketizerH265::Fragment::~Fragment() = default;
size_t RtpPacketizerH265::SetPayloadData(
const uint8_t* payload_data,
@@ -373,6 +374,9 @@ std::string RtpPacketizerH265::ToString() {
return "RtpPacketizerH265";
}
+RtpDepacketizerH265::RtpDepacketizerH265() = default;
+RtpDepacketizerH265::~RtpDepacketizerH265() = default;
+
bool RtpDepacketizerH265::Parse(ParsedPayload* parsed_payload,
const uint8_t* payload_data,
size_t payload_data_length) {
diff --git a/modules/rtp_rtcp/source/rtp_format_h265.h b/modules/rtp_rtcp/source/rtp_format_h265.h
index 6885fd29d7..778dd717a1 100644
--- a/modules/rtp_rtcp/source/rtp_format_h265.h
+++ b/modules/rtp_rtcp/source/rtp_format_h265.h
@@ -21,7 +21,7 @@ class RtpPacketizerH265 : public RtpPacketizer {
size_t max_payload_len,
size_t last_packet_reduction_len);
- virtual ~RtpPacketizerH265();
+ ~RtpPacketizerH265() override;
size_t SetPayloadData(const uint8_t* payload_data,
size_t payload_size,
@@ -63,6 +63,7 @@ class RtpPacketizerH265 : public RtpPacketizer {
struct Fragment {
Fragment(const uint8_t* buffer, size_t length);
explicit Fragment(const Fragment& fragment);
+ ~Fragment();
const uint8_t* buffer = nullptr;
size_t length = 0;
std::unique_ptr<rtc::Buffer> tmp_buffer;
@@ -108,7 +109,8 @@ class RtpPacketizerH265 : public RtpPacketizer {
// Depacketizer for H.265.
class RtpDepacketizerH265 : public RtpDepacketizer {
public:
- virtual ~RtpDepacketizerH265() {}
+ RtpDepacketizerH265();
+ ~RtpDepacketizerH265() override;
bool Parse(ParsedPayload* parsed_payload,
const uint8_t* payload_data,
diff --git a/webrtc.gni b/webrtc.gni
index eb2b6231aa..0a287726a1 100644
--- a/webrtc.gni
+++ b/webrtc.gni
@@ -10,8 +10,8 @@ import("//build/config/features.gni")
import("//build/config/mips.gni")
import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/ui.gni")
+import("//build/ssl/ssl.gni")
import("//build_overrides/build.gni")
-import("//build_overrides/ssl/ssl.gni")
if (!build_with_chromium && is_component_build) {
print("The Gn argument `is_component_build` is currently " +
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment