Skip to content

Commit

Permalink
Merge branch 'feature/m130.6723' into feature/m131.6778
Browse files Browse the repository at this point in the history
  • Loading branch information
melpon committed Oct 18, 2024
2 parents c5c30df + 798b2e6 commit 14a9a15
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 509 deletions.
7 changes: 7 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@
VERSION ファイルを上げただけの場合は変更履歴記録は不要。
パッチやビルドの変更のみ記録すること。

## 2024-10-08

- [FIX] `ios_simulcast.patch` のパッチと同等の処理が実装され不要になったため削除
- @tnoho
- [FIX] macOS と iOS でビルドエラーが発生するのを `ios_fix_optional.patch` のパッチを当てて修正
- @tnoho

## 2024-09-20

- [CHANGE] Ubuntu18.04 armv8 のビルドを削除
Expand Down
15 changes: 4 additions & 11 deletions patches/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,17 +221,6 @@ bool success = [session configureWebRTCSession:nil];
}
```

## ios_simulcast.patch

iOS でのサイマルキャストのサポートを追加するパッチ。次の機能を追加する。

- サイマルキャストのエンコーダー (`RTCVideoEncoderFactorySimulcast`, `RTCVideoEncoderSimulcast`)
- この実装は C++ API の `SimulcastEncoderAdapter` の簡単なラッパーであり、新しいファイルを追加するので既存の仕様に破壊的変更を行わない
- scalability mode のサポート (`RTCVideoCodecInfo`, `RTCRtpEncodingParameters`)
- C++ API でサポートされているプロパティを ObjC ラッパーに追加する

同等の機能が本家に実装されるか、 PR を出して取り込まれたら削除する。

## ios_proxy.patch

iOS での Proxy のサポートを追加するパッチ。
Expand Down Expand Up @@ -330,6 +319,10 @@ rtc_use_perfetto=false した時にコンパイルエラーになる問題を修
M126 で perfetto を使うようになったけど、これは rtc_use_perfetto=false で無効にできるため試してみたところ、必要な部分が ifdef で囲まれていなかったためコンパイルエラーになった。
このパッチはその問題を修正するもの。
## ios_fix_optional.patch
Abseil ライブラリではなく C++ 標準ライブラリを利用するようにするパッチ。
## fix_moved_function_call.patch
SesseionDescription のコールバック実行中に PeerConnection が破棄された時にクラッシュする問題を修正するパッチ。
Expand Down
12 changes: 0 additions & 12 deletions patches/fix_windows_boringssl_string_util.patch

This file was deleted.

22 changes: 11 additions & 11 deletions patches/h265.patch
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ index 33a535525e..3a6c13a013 100644
# Use our own suppressions files.
asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc"
diff --git a/common_video/h264/sps_parser.cc b/common_video/h264/sps_parser.cc
index e14334249c..c58b7543fa 100644
index 936080e2a7..d3d43478c1 100644
--- a/common_video/h264/sps_parser.cc
+++ b/common_video/h264/sps_parser.cc
@@ -164,9 +164,11 @@ absl::optional<SpsParser::SpsState> SpsParser::ParseSpsUpToVui(
@@ -164,9 +164,11 @@ std::optional<SpsParser::SpsState> SpsParser::ParseSpsUpToVui(
// to signify resolutions that aren't multiples of 16.
//
// pic_width_in_mbs_minus1: ue(v)
Expand Down Expand Up @@ -58,8 +58,8 @@ index 16b967dad4..c880c8ddb9 100644
namespace webrtc {

H265VpsParser::VpsState::VpsState() = default;
@@ -47,6 +49,51 @@ absl::optional<H265VpsParser::VpsState> H265VpsParser::ParseInternal(
return absl::nullopt;
@@ -45,6 +47,51 @@ std::optional<H265VpsParser::VpsState> H265VpsParser::ParseInternal(
return std::nullopt;
}

+ // vps_base_layer_internal_flag u(1)
Expand All @@ -70,7 +70,7 @@ index 16b967dad4..c880c8ddb9 100644
+ vps.vps_max_sub_layers_minus1 = reader.ReadBits(6);
+
+ if (!reader.Ok() || (vps.vps_max_sub_layers_minus1 >= kMaxSubLayers)) {
+ return absl::nullopt;
+ return std::nullopt;
+ }
+
+ // vps_max_sub_layers_minus1 u(3)
Expand All @@ -82,7 +82,7 @@ index 16b967dad4..c880c8ddb9 100644
+
+ auto profile_tier_level = H265SpsParser::ParseProfileTierLevel(true, vps.vps_max_sub_layers_minus1, reader);
+ if (!reader.Ok() || !profile_tier_level) {
+ return absl::nullopt;
+ return std::nullopt;
+ }
+
+ bool vps_sub_layer_ordering_info_present_flag = reader.Read<bool>();
Expand All @@ -92,7 +92,7 @@ index 16b967dad4..c880c8ddb9 100644
+ // vps_max_num_reorder_pics[ i ]: ue(v)
+ vps.vps_max_num_reorder_pics[i] = reader.ReadExponentialGolomb();
+ if (!reader.Ok() || (i > 0 && vps.vps_max_num_reorder_pics[i] < vps.vps_max_num_reorder_pics[i - 1])) {
+ return absl::nullopt;
+ return std::nullopt;
+ }
+
+ // vps_max_latency_increase_plus1: ue(v)
Expand All @@ -104,7 +104,7 @@ index 16b967dad4..c880c8ddb9 100644
+ }
+ }
+ if (!reader.Ok() || !profile_tier_level) {
+ return absl::nullopt;
+ return std::nullopt;
+ }
+
return vps;
Expand Down Expand Up @@ -132,14 +132,14 @@ index c793996bc1..6b7ac9dbd7 100644

// Unpack RBSP and parse VPS state from the supplied buffer.
diff --git a/video/rtp_video_stream_receiver2.cc b/video/rtp_video_stream_receiver2.cc
index ae9cb190a0..e875a5e109 100644
index d6c859f535..22471a1245 100644
--- a/video/rtp_video_stream_receiver2.cc
+++ b/video/rtp_video_stream_receiver2.cc
@@ -1246,8 +1246,7 @@ void RtpVideoStreamReceiver2::StartReceive() {
@@ -1235,8 +1235,7 @@ void RtpVideoStreamReceiver2::StartReceive() {
RTC_DCHECK_RUN_ON(&packet_sequence_checker_);
// |h26x_packet_buffer_| is created here instead of in the ctor because we
// need to know the value of |sps_pps_id_is_h264_keyframe_|.
- if (field_trials_.IsEnabled("WebRTC-Video-H26xPacketBuffer") &&
- if (env_.field_trials().IsEnabled("WebRTC-Video-H26xPacketBuffer") &&
- !h26x_packet_buffer_) {
+ if (!h26x_packet_buffer_) {
h26x_packet_buffer_ =
Expand Down
13 changes: 13 additions & 0 deletions patches/ios_fix_optional.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/sdk/objc/components/video_codec/nalu_rewriter.cc b/sdk/objc/components/video_codec/nalu_rewriter.cc
index 301dd7f8c9..56442be6a7 100644
--- a/sdk/objc/components/video_codec/nalu_rewriter.cc
+++ b/sdk/objc/components/video_codec/nalu_rewriter.cc
@@ -481,7 +481,7 @@ public:
bool bitstream_restriction_flag { false };
uint64_t max_num_reorder_frames { 0 };
};
- static absl::optional<State> Parse(const std::vector<uint8_t>& unpacked_buffer)
+ static std::optional<State> Parse(const std::vector<uint8_t>& unpacked_buffer)
{
BitstreamReader reader(unpacked_buffer);
auto spsState = ParseSpsUpToVui(reader);
Loading

0 comments on commit 14a9a15

Please sign in to comment.