When using H264 encoder with profile level 3.1, the encoder may crash. The reason is that we set the expected frame rate using kVTCompressionPropertyKey_ExpectedFrameRate to the VideoToolBox. However, by iOS implementation, if our setting violates the sample rate limit [1], the encoder will crash. This CL fixes the bug by capping the expected frame rate with max allowed frame rate computed from the sample rate limit. Change-Id: I090d7be8c20713c6a5a4ec80ed243c8fa7b4aa14 Bug: webrtc:10172 Reviewed-on: https://webrtc-review.googlesource.com/c/116056 Commit-Queue: Qiang Chen <qiangchen@chromium.org> Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26254}
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.