| Index: talk/app/webrtc/objc/h264encoderfactory.cc
|
| diff --git a/talk/app/webrtc/dtlsidentityservice.cc b/talk/app/webrtc/objc/h264encoderfactory.cc
|
| similarity index 52%
|
| copy from talk/app/webrtc/dtlsidentityservice.cc
|
| copy to talk/app/webrtc/objc/h264encoderfactory.cc
|
| index b4b7279c8288395a8e23a507f7c78dc199572cab..77d105e1e985b5147c0e7eb7628a8cd4b75a46fd 100644
|
| --- a/talk/app/webrtc/dtlsidentityservice.cc
|
| +++ b/talk/app/webrtc/objc/h264encoderfactory.cc
|
| @@ -25,26 +25,51 @@
|
| * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| -#include "talk/app/webrtc/dtlsidentityservice.h"
|
| +#include "talk/app/webrtc/objc/h264encoderfactory.h"
|
|
|
| -#include "talk/app/webrtc/dtlsidentitystore.h"
|
| -#include "webrtc/base/logging.h"
|
| +#include "webrtc/modules/video_coding/codecs/h264/include/h264.h"
|
| +
|
| +static size_t const kMaxVideoSize = 1280;
|
| +static size_t const kMaxFps = 30;
|
|
|
| namespace webrtc {
|
|
|
| -bool DtlsIdentityService::RequestIdentity(
|
| - const std::string& identity_name,
|
| - const std::string& common_name,
|
| - webrtc::DTLSIdentityRequestObserver* observer) {
|
| - if (identity_name != DtlsIdentityStore::kIdentityName ||
|
| - common_name != DtlsIdentityStore::kIdentityName) {
|
| - LOG(LS_WARNING) << "DtlsIdentityService::RequestIdentity called with "
|
| - << "unsupported params, identity_name=" << identity_name
|
| - << ", common_name=" << common_name;
|
| - return false;
|
| +H264EncoderFactory::H264EncoderFactory() {
|
| + // Check that encoder can be created.
|
| + // TODO(tkchin): Find better way to check that encoder is supported. e.g.
|
| + // is iOS8 sufficient.
|
| + rtc::scoped_ptr<H264Encoder> encoder(H264Encoder::Create());
|
| + if (encoder) {
|
| + webrtc::VideoCodec rtc_codec = {};
|
| + rtc_codec.codecType = webrtc::kVideoCodecH264;
|
| + rtc_codec.width = 640;
|
| + rtc_codec.height = 480;
|
| + rtc_codec.targetBitrate = 100;
|
| + bool h264_supported =
|
| + encoder->InitEncode(&rtc_codec, 0, 0) == WEBRTC_VIDEO_CODEC_OK;
|
| + if (h264_supported) {
|
| + h264_codec_or_empty_vector_.push_back(VideoCodec(
|
| + kVideoCodecH264, "H264", kMaxVideoSize, kMaxVideoSize, kMaxFps));
|
| + }
|
| + }
|
| +}
|
| +
|
| +VideoEncoder* H264EncoderFactory::CreateVideoEncoder(VideoCodecType type) {
|
| + for (const VideoCodec& codec : h264_codec_or_empty_vector_) {
|
| + if (codec.type == type) {
|
| + return H264Encoder::Create();
|
| + }
|
| }
|
| - store_->RequestIdentity(observer);
|
| - return true;
|
| + return nullptr;
|
| +}
|
| +
|
| +const std::vector<cricket::WebRtcVideoEncoderFactory::VideoCodec>&
|
| +H264EncoderFactory::codecs() const {
|
| + return h264_codec_or_empty_vector_;
|
| +}
|
| +
|
| +void H264EncoderFactory::DestroyVideoEncoder(VideoEncoder* encoder) {
|
| + delete encoder;
|
| }
|
|
|
| } // namespace webrtc
|
|
|