When the iOS application is not in the foreground, the hardware encoder and decoder become invalidated. There doesn't seem to be a way to query their state so we don't know they're invalid until we get an error code after an encode/decode request. To solve the issue, we just don't encode/decode when the app is not active, and reinitialize the encoder/decoder when the app is active again. Also fixes a leak in the decoder. BUG=webrtc:4081 Review URL: https://codereview.webrtc.org/1732953003 Cr-Commit-Position: refs/heads/master@{#11916}
35 lines
1.0 KiB
Plaintext
35 lines
1.0 KiB
Plaintext
/*
|
|
* Copyright 2016 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#ifdef __OBJC__
|
|
|
|
#if !defined(__has_feature) || !__has_feature(objc_arc)
|
|
#error "This file requires ARC support."
|
|
#endif
|
|
|
|
#if !defined(__has_feature) || !__has_feature(nullability)
|
|
#error "This file requires nullability support."
|
|
#endif
|
|
|
|
// The following nonnull macros were introduced in OSX SDK 10.10.3. However,
|
|
// the bots appear to be running something older. We define them here if they
|
|
// aren't already defined in NSObjCRuntime.h
|
|
#include <Foundation/NSObjCRuntime.h>
|
|
|
|
#if !defined(NS_ASSUME_NONNULL_BEGIN)
|
|
#define NS_ASSUME_NONNULL_BEGIN
|
|
#endif
|
|
|
|
#if !defined(NS_ASSUME_NONNULL_END)
|
|
#define NS_ASSUME_NONNULL_END
|
|
#endif
|
|
|
|
#endif // __OBJC__
|