webrtc/sdk/objc/components/video_codec
Qiang Chen fa1ca1e781 Bug Fix: iOS H264 Encoder Crash Issue
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}
2019-01-14 19:23:56 +00:00
..
helpers.cc Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
helpers.h Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
nalu_rewriter.cc Allocate CMBlockBuffers using a memory pool. 2018-10-26 09:52:50 +00:00
nalu_rewriter.h Allocate CMBlockBuffers using a memory pool. 2018-10-26 09:52:50 +00:00
RTCCodecSpecificInfoH264+Private.h Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
RTCCodecSpecificInfoH264.h Rename RTC_EXPORT to RTC_OBJC_EXPORT. 2018-09-17 10:06:57 +00:00
RTCCodecSpecificInfoH264.mm Remove use of CodecSpecificInfo.codec_name 2018-11-23 16:04:13 +00:00
RTCDefaultVideoDecoderFactory.h Rename RTC_EXPORT to RTC_OBJC_EXPORT. 2018-09-17 10:06:57 +00:00
RTCDefaultVideoDecoderFactory.m Switch from RTC_DISABLE_VP9 to RTC_ENABLE_VP9. 2018-11-19 08:30:55 +00:00
RTCDefaultVideoEncoderFactory.h Rename RTC_EXPORT to RTC_OBJC_EXPORT. 2018-09-17 10:06:57 +00:00
RTCDefaultVideoEncoderFactory.m Switch from RTC_DISABLE_VP9 to RTC_ENABLE_VP9. 2018-11-19 08:30:55 +00:00
RTCH264ProfileLevelId.h Rename RTC_EXPORT to RTC_OBJC_EXPORT. 2018-09-17 10:06:57 +00:00
RTCH264ProfileLevelId.mm (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
RTCVideoDecoderFactoryH264.h Rename RTC_EXPORT to RTC_OBJC_EXPORT. 2018-09-17 10:06:57 +00:00
RTCVideoDecoderFactoryH264.m Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
RTCVideoDecoderH264.h Rename RTC_EXPORT to RTC_OBJC_EXPORT. 2018-09-17 10:06:57 +00:00
RTCVideoDecoderH264.mm (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
RTCVideoEncoderFactoryH264.h Rename RTC_EXPORT to RTC_OBJC_EXPORT. 2018-09-17 10:06:57 +00:00
RTCVideoEncoderFactoryH264.m Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
RTCVideoEncoderH264.h Rename RTC_EXPORT to RTC_OBJC_EXPORT. 2018-09-17 10:06:57 +00:00
RTCVideoEncoderH264.mm Bug Fix: iOS H264 Encoder Crash Issue 2019-01-14 19:23:56 +00:00
UIDevice+H264Profile.h Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
UIDevice+H264Profile.mm Added supported H264 profiles for new iPhones 2018-10-23 14:59:13 +00:00