Initial CL for this effort, with a working RTCVideoEncoder/Decoder for H264
(wrapping the VideoToolbox codec).
Some notes / things left to do:
- There are some hard-coded references to codec types that are supported by
webrtc::VideoCodec, cricket::VideoCodec, webrtc::CodecSpecificInfo etc
since we need to convert to/from these types in ObjCVideoEncoder/Decoder.
These types would need to be more codec agnostic to avoid this.
- Most interfaces are borrowed from the design document for injectable
codecs in Android. Some data in the corresponding C++ classes is discarded
when converting to the Obj-C version, since it has fewer fields. I have not
verified whether all data that we do keep is needed, or whether we might be
losing anything useful in these conversions.
- Implement the VideoToolbox codec code directly in the RTCVideoEncoderH264
classes, instead of wrapping webrtc::H264VideoToolboxEncoder / decoder.
Eliminates converting between ObjC/C++ types outside the ObjCVideoEncoder/
Decoder wrapper classes.
- List the injected codec factory's supported codecs in the list of codecs in
AppRTCMobile.
BUG=webrtc:7924
R=magjed@webrtc.org
Review-Url: https://codereview.webrtc.org/2966023002 .
Cr-Commit-Position: refs/heads/master@{#18928}
in order to fix a build issue that comes up when using WebRTC.framework from swift code.
BUG=webrtc:7488
Review-Url: https://codereview.webrtc.org/2832803002
Cr-Commit-Position: refs/heads/master@{#17909}
This is to avoid a naming conflict with webrtc::RTCStatsReport that is
surfaced if you try to include it in peerconnectioninterface.h.
Background: The current stats is very much non-spec-compliant. A new
stats collection API is underway that is meant to be spec-compliant.
Some classes in Chromium and webrtc/sdk/objc have spec-compliant names
but non-spec-compliant behavior. These are being renamed to "Legacy" so
that new spec-compliant classes can be added with the correct names.
BUG=chromium:627816
TBR=tkchin@webrtc.org
NOTRY=True
Review-Url: https://codereview.webrtc.org/2313943002
Cr-Commit-Position: refs/heads/master@{#14150}
- Places most ObjC code into webrtc/sdk/objc instead.
- New gyp targets to build, strip and export symbols for dylib.
- Removes old script used to generate dylib.
BUG=
Review URL: https://codereview.webrtc.org/1903663002
Cr-Commit-Position: refs/heads/master@{#12524}