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}
23 lines
691 B
Plaintext
23 lines
691 B
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.
|
|
*/
|
|
|
|
#include "webrtc/base/objc/RTCUIApplication.h"
|
|
|
|
#if defined(WEBRTC_IOS)
|
|
|
|
#import <UIKit/UIKit.h>
|
|
|
|
bool RTCIsUIApplicationActive() {
|
|
UIApplicationState state = [UIApplication sharedApplication].applicationState;
|
|
return state == UIApplicationStateActive;
|
|
}
|
|
|
|
#endif // WEBRTC_IOS
|