webrtc/sdk/objc
Mirko Bonadei 317a1f09ed Use std::make_unique instead of absl::make_unique.
WebRTC is now using C++14 so there is no need to use the Abseil version
of std::make_unique.

This CL has been created with the following steps:

git grep -l absl::make_unique | sort | uniq > /tmp/make_unique.txt
git grep -l absl::WrapUnique | sort | uniq > /tmp/wrap_unique.txt
git grep -l "#include <memory>" | sort | uniq > /tmp/memory.txt

diff --new-line-format="" --unchanged-line-format="" \
  /tmp/make_unique.txt /tmp/wrap_unique.txt | sort | \
  uniq > /tmp/only_make_unique.txt
diff --new-line-format="" --unchanged-line-format="" \
  /tmp/only_make_unique.txt /tmp/memory.txt | \
  xargs grep -l "absl/memory" > /tmp/add-memory.txt

git grep -l "\babsl::make_unique\b" | \
  xargs sed -i "s/\babsl::make_unique\b/std::make_unique/g"

git checkout PRESUBMIT.py abseil-in-webrtc.md

cat /tmp/add-memory.txt | \
  xargs sed -i \
  's/#include "absl\/memory\/memory.h"/#include <memory>/g'
git cl format
# Manual fix order of the new inserted #include <memory>

cat /tmp/only_make_unique | xargs grep -l "#include <memory>" | \
  xargs sed -i '/#include "absl\/memory\/memory.h"/d'

git ls-files | grep BUILD.gn | \
  xargs sed -i '/\/\/third_party\/abseil-cpp\/absl\/memory/d'

python tools_webrtc/gn_check_autofix.py \
  -m tryserver.webrtc -b linux_rel

# Repead the gn_check_autofix step for other platforms

git ls-files | grep BUILD.gn | \
  xargs sed -i 's/absl\/memory:memory/absl\/memory/g'
git cl format

Bug: webrtc:10945
Change-Id: I3fe28ea80f4dd3ba3cf28effd151d5e1f19aff89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153221
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29209}
2019-09-17 15:47:29 +00:00
..
api Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
base Add ObjC interface wrapping new GetImplementations method. 2019-08-23 12:06:36 +00:00
components Declare references as constant in the metal renderers. 2019-08-20 08:30:47 +00:00
Framework Reland "Remove the injectable bitrate allocation strategy API." 2019-07-17 10:20:45 +00:00
helpers Fix bug in camera preview layer. 2019-01-03 15:00:27 +00:00
native Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
unittests Move MediaTransportInterface out of the libjingle_peerconnection_api target 2019-09-13 10:49:56 +00:00
DEPS Remove +api from internal DEPS files. 2019-01-28 11:17:00 +00:00
Info.plist Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
OWNERS Update sdk/objc ownership 2018-05-08 11:48:32 +00:00
README.md Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00

WebRTC Obj-C SDK

This directory contains the Obj-C SDK for WebRTC. This includes wrappers for the C++ PeerConnection API and some platform specific components for iOS and macOS.

Organization

  • api/

    Wrappers around classes and functions in the C++ API for creating and configuring peer connections, etc.

  • base/

    This directory contains some base protocols and classes that are used by both the platform specific components and the SDK wrappers.

  • components/

    These are the platform specific components. Contains components for handling audio, capturing and rendering video, encoding and decoding using the platform's hardware codec implementation and for representing video frames in the platform's native format.

  • helpers/

    These files are not WebRTC specific, but are general helper classes and utilities for the Cocoa platforms.

  • native/

    APIs for wrapping the platform specific components and using them with the C++ API.

  • unittests/

    This directory contains the tests.