Renamed the WEBRTC_THIRD_PARTY_H264 macro to WEBRTC_USE_H264 to match flag name. The idea is to be able to turn off H264 from chromium with this function because... 1) The Chromium trybots will soon use this flag, we want to temporarily disable H264 from chromium even if flag is set in case something is broken. That way when we are ready to flip the switch the trybots will run our test code then and not after it is already enabled. 2) If feature is launched and we discover major problems we can easily disable H264 and merge with beta/stable. 3) Or, if feature is behind a *runtime* flag, this is how we would control if it is used or not. The idea is to call DisableRtcUseH264 in chromium's PeerConnectionDependencyFactory. BUG=chromium:500605, chromium:468365 NOTRY=True NOPRESUBMIT=True Review URL: https://codereview.webrtc.org/1657273002 Cr-Commit-Position: refs/heads/master@{#11474}
56 lines
1.7 KiB
C++
56 lines
1.7 KiB
C++
/*
|
|
* Copyright (c) 2015 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_MODULES_VIDEO_CODING_CODECS_H264_INCLUDE_H264_H_
|
|
#define WEBRTC_MODULES_VIDEO_CODING_CODECS_H264_INCLUDE_H264_H_
|
|
|
|
#if defined(WEBRTC_IOS) || defined(WEBRTC_MAC)
|
|
|
|
#include <Availability.h>
|
|
#if (defined(__IPHONE_8_0) && \
|
|
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0) || \
|
|
(defined(__MAC_10_8) && __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_8)
|
|
#define WEBRTC_VIDEO_TOOLBOX_SUPPORTED 1
|
|
#endif
|
|
|
|
#endif // defined(WEBRTC_IOS) || defined(WEBRTC_MAC)
|
|
|
|
#include "webrtc/modules/video_coding/include/video_codec_interface.h"
|
|
|
|
namespace webrtc {
|
|
|
|
// Set to disable the H.264 encoder/decoder implementations that are provided if
|
|
// |rtc_use_h264| build flag is true (if false, this function does nothing).
|
|
// This function should only be called before or during WebRTC initialization
|
|
// and is not thread-safe.
|
|
void DisableRtcUseH264();
|
|
|
|
class H264Encoder : public VideoEncoder {
|
|
public:
|
|
static H264Encoder* Create();
|
|
// If H.264 is supported (any implementation).
|
|
static bool IsSupported();
|
|
|
|
~H264Encoder() override {}
|
|
};
|
|
|
|
class H264Decoder : public VideoDecoder {
|
|
public:
|
|
static H264Decoder* Create();
|
|
static bool IsSupported();
|
|
|
|
~H264Decoder() override {}
|
|
};
|
|
|
|
} // namespace webrtc
|
|
|
|
#endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_H264_INCLUDE_H264_H_
|