webrtc_m130/webrtc/base/objc/RTCUIApplication.h
tkchin 5ed5ed953d Fix VideoToolbox backgrounding issues.
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}
2016-03-08 18:51:58 +00:00

22 lines
751 B
C

/*
* 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.
*/
#ifndef WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_
#define WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_
#include "webrtc/base/objc/RTCMacros.h"
#if defined(WEBRTC_IOS)
/** Convenience function to get UIApplicationState from C++. */
RTC_EXPORT bool RTCIsUIApplicationActive();
#endif // WEBRTC_IOS
#endif // WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_