Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

77 lines
2.4 KiB
C
Raw Normal View History

/*
* 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.
*/
Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2911053002/ ) Reason for revert: Take three of relanding this after all internal issues have been resolved. Original issue's description: > Revert of Split iOS sdk in to separate targets (patchset #3 id:320001 of https://codereview.webrtc.org/2893843003/ ) > > Reason for revert: > Breaks downstream project. > > Original issue's description: > > Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2893593002/ ) > > > > Reason for revert: > > Take two of fixing downstream issues? > > > > Original issue's description: > > > Revert of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890733003/ ) > > > > > > Reason for revert: > > > Still problems with downstream projects > > > > > > Original issue's description: > > > > Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890513002/ ) > > > > > > > > Reason for revert: > > > > Fixing downstream breakages > > > > > > > > Original issue's description: > > > > > Revert of Split iOS sdk in to separate targets (patchset #13 id:280001 of https://codereview.webrtc.org/2862543002/ ) > > > > > > > > > > Reason for revert: > > > > > Breaking downstream projects. > > > > > > > > > > Original issue's description: > > > > > > Split iOS sdk in to separate targets > > > > > > > > > > > > This CL splits the iOS sdk into separate static libraries for video, > > > > > > audio, ui, common, and peerconnection-related code. This will in the > > > > > > future make it easier to compile WebRTC without unneeded components. > > > > > > > > > > > > BUG=webrtc:4867 > > > > > > > > > > > > Review-Url: https://codereview.webrtc.org/2862543002 > > > > > > Cr-Commit-Position: refs/heads/master@{#18166} > > > > > > Committed: https://chromium.googlesource.com/external/webrtc/+/52c83fe7102f566cf35a7533092873d58b38f426 > > > > > > > > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,kthelgason@webrtc.org > > > > > # Skipping CQ checks because original CL landed less than 1 days ago. > > > > > NOPRESUBMIT=true > > > > > NOTREECHECKS=true > > > > > NOTRY=true > > > > > BUG=webrtc:4867 > > > > > > > > > > Review-Url: https://codereview.webrtc.org/2890513002 > > > > > Cr-Commit-Position: refs/heads/master@{#18170} > > > > > Committed: https://chromium.googlesource.com/external/webrtc/+/9756238084707787f735e1294e896e462e459717 > > > > > > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org > > > > # Skipping CQ checks because original CL landed less than 1 days ago. > > > > NOPRESUBMIT=true > > > > NOTREECHECKS=true > > > > NOTRY=true > > > > BUG=webrtc:4867 > > > > > > > > Review-Url: https://codereview.webrtc.org/2890733003 > > > > Cr-Commit-Position: refs/heads/master@{#18174} > > > > Committed: https://chromium.googlesource.com/external/webrtc/+/d51e042492bedd057bc0cac7828979d5c7369cea > > > > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org > > > # Skipping CQ checks because original CL landed less than 1 days ago. > > > NOPRESUBMIT=true > > > NOTREECHECKS=true > > > NOTRY=true > > > BUG=webrtc:4867 > > > > > > Review-Url: https://codereview.webrtc.org/2893593002 > > > Cr-Commit-Position: refs/heads/master@{#18182} > > > Committed: https://chromium.googlesource.com/external/webrtc/+/37144b214e2baf62ecb262ab878dde8c59cdd6a3 > > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=webrtc:4867 > > > > Review-Url: https://codereview.webrtc.org/2893843003 > > Cr-Commit-Position: refs/heads/master@{#18303} > > Committed: https://chromium.googlesource.com/external/webrtc/+/580c3522d294c877adfe555048c675bd8d166657 > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org,kthelgason@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:4867 > > Review-Url: https://codereview.webrtc.org/2911053002 > Cr-Commit-Position: refs/heads/master@{#18309} > Committed: https://chromium.googlesource.com/external/webrtc/+/af5c05540cc8208f682cafe88c5c16a505479196 TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org,mbonadei@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:4867 Review-Url: https://codereview.webrtc.org/2913753003 Cr-Commit-Position: refs/heads/master@{#18319}
2017-05-30 01:48:47 -07:00
#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COMMON_HELPERS_H_
#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COMMON_HELPERS_H_
Revert of Injectable Obj-C video codecs (patchset #2 id:370001 of https://codereview.webrtc.org/2979983002/ ) Reason for revert: Still having problems with no video. Reverting. Once no video is visible, no video is available from then on even if the callee app is in the foreground. Original issue's description: > Reland of Injectable Obj-C video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2979973002/ ) > > Reason for revert: > Fix the broken build file > > Original issue's description: > > Revert of Injectable Obj-C video codecs (patchset #3 id:400001 of https://codereview.webrtc.org/2981583002/ ) > > > > Reason for revert: > > Breaks bots. Build file incorrect. > > > > Original issue's description: > > > Reland of Injectable Obj-C video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2975963002/ ) > > > > > > Reason for revert: > > > New CL for fixing the issues > > > > > > Original issue's description: > > > > Revert of Injectable Obj-C video codecs (patchset #8 id:140001 of https://codereview.webrtc.org/2966023002/ ) > > > > > > > > Reason for revert: > > > > Causes no video in certain scenarios. Please come up with a test plan or unit test to prevent such problems in the future. > > > > > > > > Original issue's description: > > > > > Injectable Obj-C video codecs > > > > > > > > > > Initial CL for this effort, with a working RTCVideoEncoder/Decoder for H264 > > > > > (wrapping the VideoToolbox codec). > > > > > > > > > > Some notes / things left to do: > > > > > - There are some hard-coded references to codec types that are supported by > > > > > webrtc::VideoCodec, cricket::VideoCodec, webrtc::CodecSpecificInfo etc > > > > > since we need to convert to/from these types in ObjCVideoEncoder/Decoder. > > > > > These types would need to be more codec agnostic to avoid this. > > > > > - Most interfaces are borrowed from the design document for injectable > > > > > codecs in Android. Some data in the corresponding C++ classes is discarded > > > > > when converting to the Obj-C version, since it has fewer fields. I have not > > > > > verified whether all data that we do keep is needed, or whether we might be > > > > > losing anything useful in these conversions. > > > > > - Implement the VideoToolbox codec code directly in the RTCVideoEncoderH264 > > > > > classes, instead of wrapping webrtc::H264VideoToolboxEncoder / decoder. > > > > > Eliminates converting between ObjC/C++ types outside the ObjCVideoEncoder/ > > > > > Decoder wrapper classes. > > > > > - List the injected codec factory's supported codecs in the list of codecs in > > > > > AppRTCMobile. > > > > > > > > > > BUG=webrtc:7924 > > > > > R=magjed@webrtc.org > > > > > > > > > > Review-Url: https://codereview.webrtc.org/2966023002 . > > > > > Cr-Commit-Position: refs/heads/master@{#18928} > > > > > Committed: https://chromium.googlesource.com/external/webrtc/+/a0349c138db62c52435be84b6c837f5f4758e264 > > > > > > > > TBR=magjed@webrtc.org,andersc@webrtc.org > > > > # Not skipping CQ checks because original CL landed more than 1 days ago. > > > > BUG=webrtc:7924 > > > > NOTRY=true > > > > > > > > Review-Url: https://codereview.webrtc.org/2975963002 > > > > Cr-Commit-Position: refs/heads/master@{#18979} > > > > Committed: https://chromium.googlesource.com/external/webrtc/+/1095ada7ad56fe29b7b2bbc560a8f6475a7978ce > > > > > > R=magjed@webrtc.org > > > TBR=tkchin@webrtc.org > > > # Skipping CQ checks because original CL landed less than 1 days ago. > > > NOPRESUBMIT=true > > > NOTREECHECKS=true > > > NOTRY=true > > > BUG=webrtc:7924 > > > > > > Review-Url: https://codereview.webrtc.org/2981583002 . > > > Cr-Commit-Position: refs/heads/master@{#19002} > > > Committed: https://chromium.googlesource.com/external/webrtc/+/a5f1de1e6541de03f944bcbf49be87c01f57a18b > > > > TBR=magjed@webrtc.org,tkchin@webrtc.org,jtteh@webrtc.org,andersc@webrtc.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=webrtc:7924 > > > > Review-Url: https://codereview.webrtc.org/2979973002 > > Cr-Commit-Position: refs/heads/master@{#19004} > > Committed: https://chromium.googlesource.com/external/webrtc/+/81d40ee1491d5229c2677cc04b1f40d67c2babef > > TBR=magjed@webrtc.org,tkchin@webrtc.org,jtteh@webrtc.org,sprang@webrtc.org > BUG=webrtc:7924 > > Review-Url: https://codereview.webrtc.org/2979983002 > Cr-Commit-Position: refs/heads/master@{#19005} > Committed: https://chromium.googlesource.com/external/webrtc/+/732a3437da4db7b452758b8e1cf26fce0ce3bf65 TBR=magjed@webrtc.org,tkchin@webrtc.org,sprang@webrtc.org,haysc@webrtc.org,andersc@webrtc.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=webrtc:7924 Review-Url: https://codereview.webrtc.org/2980173002 Cr-Commit-Position: refs/heads/master@{#19036}
2017-07-14 19:49:58 -07:00
#if defined(WEBRTC_IOS)
#include <string>
namespace webrtc {
namespace ios {
bool CheckAndLogError(BOOL success, NSError* error);
NSString *NSStringFromStdString(const std::string& stdString);
std::string StdStringFromNSString(NSString* nsString);
// Return thread ID as a string.
std::string GetThreadId();
// Return thread ID as string suitable for debug logging.
std::string GetThreadInfo();
// Returns [NSThread currentThread] description as string.
// Example: <NSThread: 0x170066d80>{number = 1, name = main}
std::string GetCurrentThreadDescription();
// Returns the current name of the operating system.
std::string GetSystemName();
// Returns the current version of the operating system as a string.
std::string GetSystemVersionAsString();
// Returns the version of the operating system in double representation.
// Uses a cached value of the system version.
double GetSystemVersion();
// Returns the device type.
// Examples: ”iPhone” and ”iPod touch”.
std::string GetDeviceType();
// Returns a more detailed device name.
// Examples: "iPhone 5s (GSM)" and "iPhone 6 Plus".
std::string GetDeviceName();
// Returns the name of the process. Does not uniquely identify the process.
std::string GetProcessName();
// Returns the identifier of the process (often called process ID).
int GetProcessID();
// Returns a string containing the version of the operating system on which the
// process is executing. The string is string is human readable, localized, and
// is appropriate for displaying to the user.
std::string GetOSVersionString();
// Returns the number of processing cores available on the device.
int GetProcessorCount();
// Indicates whether Low Power Mode is enabled on the iOS device.
bool GetLowPowerModeEnabled();
} // namespace ios
} // namespace webrtc
Revert of Injectable Obj-C video codecs (patchset #2 id:370001 of https://codereview.webrtc.org/2979983002/ ) Reason for revert: Still having problems with no video. Reverting. Once no video is visible, no video is available from then on even if the callee app is in the foreground. Original issue's description: > Reland of Injectable Obj-C video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2979973002/ ) > > Reason for revert: > Fix the broken build file > > Original issue's description: > > Revert of Injectable Obj-C video codecs (patchset #3 id:400001 of https://codereview.webrtc.org/2981583002/ ) > > > > Reason for revert: > > Breaks bots. Build file incorrect. > > > > Original issue's description: > > > Reland of Injectable Obj-C video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2975963002/ ) > > > > > > Reason for revert: > > > New CL for fixing the issues > > > > > > Original issue's description: > > > > Revert of Injectable Obj-C video codecs (patchset #8 id:140001 of https://codereview.webrtc.org/2966023002/ ) > > > > > > > > Reason for revert: > > > > Causes no video in certain scenarios. Please come up with a test plan or unit test to prevent such problems in the future. > > > > > > > > Original issue's description: > > > > > Injectable Obj-C video codecs > > > > > > > > > > Initial CL for this effort, with a working RTCVideoEncoder/Decoder for H264 > > > > > (wrapping the VideoToolbox codec). > > > > > > > > > > Some notes / things left to do: > > > > > - There are some hard-coded references to codec types that are supported by > > > > > webrtc::VideoCodec, cricket::VideoCodec, webrtc::CodecSpecificInfo etc > > > > > since we need to convert to/from these types in ObjCVideoEncoder/Decoder. > > > > > These types would need to be more codec agnostic to avoid this. > > > > > - Most interfaces are borrowed from the design document for injectable > > > > > codecs in Android. Some data in the corresponding C++ classes is discarded > > > > > when converting to the Obj-C version, since it has fewer fields. I have not > > > > > verified whether all data that we do keep is needed, or whether we might be > > > > > losing anything useful in these conversions. > > > > > - Implement the VideoToolbox codec code directly in the RTCVideoEncoderH264 > > > > > classes, instead of wrapping webrtc::H264VideoToolboxEncoder / decoder. > > > > > Eliminates converting between ObjC/C++ types outside the ObjCVideoEncoder/ > > > > > Decoder wrapper classes. > > > > > - List the injected codec factory's supported codecs in the list of codecs in > > > > > AppRTCMobile. > > > > > > > > > > BUG=webrtc:7924 > > > > > R=magjed@webrtc.org > > > > > > > > > > Review-Url: https://codereview.webrtc.org/2966023002 . > > > > > Cr-Commit-Position: refs/heads/master@{#18928} > > > > > Committed: https://chromium.googlesource.com/external/webrtc/+/a0349c138db62c52435be84b6c837f5f4758e264 > > > > > > > > TBR=magjed@webrtc.org,andersc@webrtc.org > > > > # Not skipping CQ checks because original CL landed more than 1 days ago. > > > > BUG=webrtc:7924 > > > > NOTRY=true > > > > > > > > Review-Url: https://codereview.webrtc.org/2975963002 > > > > Cr-Commit-Position: refs/heads/master@{#18979} > > > > Committed: https://chromium.googlesource.com/external/webrtc/+/1095ada7ad56fe29b7b2bbc560a8f6475a7978ce > > > > > > R=magjed@webrtc.org > > > TBR=tkchin@webrtc.org > > > # Skipping CQ checks because original CL landed less than 1 days ago. > > > NOPRESUBMIT=true > > > NOTREECHECKS=true > > > NOTRY=true > > > BUG=webrtc:7924 > > > > > > Review-Url: https://codereview.webrtc.org/2981583002 . > > > Cr-Commit-Position: refs/heads/master@{#19002} > > > Committed: https://chromium.googlesource.com/external/webrtc/+/a5f1de1e6541de03f944bcbf49be87c01f57a18b > > > > TBR=magjed@webrtc.org,tkchin@webrtc.org,jtteh@webrtc.org,andersc@webrtc.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=webrtc:7924 > > > > Review-Url: https://codereview.webrtc.org/2979973002 > > Cr-Commit-Position: refs/heads/master@{#19004} > > Committed: https://chromium.googlesource.com/external/webrtc/+/81d40ee1491d5229c2677cc04b1f40d67c2babef > > TBR=magjed@webrtc.org,tkchin@webrtc.org,jtteh@webrtc.org,sprang@webrtc.org > BUG=webrtc:7924 > > Review-Url: https://codereview.webrtc.org/2979983002 > Cr-Commit-Position: refs/heads/master@{#19005} > Committed: https://chromium.googlesource.com/external/webrtc/+/732a3437da4db7b452758b8e1cf26fce0ce3bf65 TBR=magjed@webrtc.org,tkchin@webrtc.org,sprang@webrtc.org,haysc@webrtc.org,andersc@webrtc.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=webrtc:7924 Review-Url: https://codereview.webrtc.org/2980173002 Cr-Commit-Position: refs/heads/master@{#19036}
2017-07-14 19:49:58 -07:00
#endif // defined(WEBRTC_IOS)
Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2911053002/ ) Reason for revert: Take three of relanding this after all internal issues have been resolved. Original issue's description: > Revert of Split iOS sdk in to separate targets (patchset #3 id:320001 of https://codereview.webrtc.org/2893843003/ ) > > Reason for revert: > Breaks downstream project. > > Original issue's description: > > Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2893593002/ ) > > > > Reason for revert: > > Take two of fixing downstream issues? > > > > Original issue's description: > > > Revert of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890733003/ ) > > > > > > Reason for revert: > > > Still problems with downstream projects > > > > > > Original issue's description: > > > > Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890513002/ ) > > > > > > > > Reason for revert: > > > > Fixing downstream breakages > > > > > > > > Original issue's description: > > > > > Revert of Split iOS sdk in to separate targets (patchset #13 id:280001 of https://codereview.webrtc.org/2862543002/ ) > > > > > > > > > > Reason for revert: > > > > > Breaking downstream projects. > > > > > > > > > > Original issue's description: > > > > > > Split iOS sdk in to separate targets > > > > > > > > > > > > This CL splits the iOS sdk into separate static libraries for video, > > > > > > audio, ui, common, and peerconnection-related code. This will in the > > > > > > future make it easier to compile WebRTC without unneeded components. > > > > > > > > > > > > BUG=webrtc:4867 > > > > > > > > > > > > Review-Url: https://codereview.webrtc.org/2862543002 > > > > > > Cr-Commit-Position: refs/heads/master@{#18166} > > > > > > Committed: https://chromium.googlesource.com/external/webrtc/+/52c83fe7102f566cf35a7533092873d58b38f426 > > > > > > > > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,kthelgason@webrtc.org > > > > > # Skipping CQ checks because original CL landed less than 1 days ago. > > > > > NOPRESUBMIT=true > > > > > NOTREECHECKS=true > > > > > NOTRY=true > > > > > BUG=webrtc:4867 > > > > > > > > > > Review-Url: https://codereview.webrtc.org/2890513002 > > > > > Cr-Commit-Position: refs/heads/master@{#18170} > > > > > Committed: https://chromium.googlesource.com/external/webrtc/+/9756238084707787f735e1294e896e462e459717 > > > > > > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org > > > > # Skipping CQ checks because original CL landed less than 1 days ago. > > > > NOPRESUBMIT=true > > > > NOTREECHECKS=true > > > > NOTRY=true > > > > BUG=webrtc:4867 > > > > > > > > Review-Url: https://codereview.webrtc.org/2890733003 > > > > Cr-Commit-Position: refs/heads/master@{#18174} > > > > Committed: https://chromium.googlesource.com/external/webrtc/+/d51e042492bedd057bc0cac7828979d5c7369cea > > > > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org > > > # Skipping CQ checks because original CL landed less than 1 days ago. > > > NOPRESUBMIT=true > > > NOTREECHECKS=true > > > NOTRY=true > > > BUG=webrtc:4867 > > > > > > Review-Url: https://codereview.webrtc.org/2893593002 > > > Cr-Commit-Position: refs/heads/master@{#18182} > > > Committed: https://chromium.googlesource.com/external/webrtc/+/37144b214e2baf62ecb262ab878dde8c59cdd6a3 > > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=webrtc:4867 > > > > Review-Url: https://codereview.webrtc.org/2893843003 > > Cr-Commit-Position: refs/heads/master@{#18303} > > Committed: https://chromium.googlesource.com/external/webrtc/+/580c3522d294c877adfe555048c675bd8d166657 > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org,kthelgason@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:4867 > > Review-Url: https://codereview.webrtc.org/2911053002 > Cr-Commit-Position: refs/heads/master@{#18309} > Committed: https://chromium.googlesource.com/external/webrtc/+/af5c05540cc8208f682cafe88c5c16a505479196 TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org,mbonadei@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:4867 Review-Url: https://codereview.webrtc.org/2913753003 Cr-Commit-Position: refs/heads/master@{#18319}
2017-05-30 01:48:47 -07:00
#endif // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COMMON_HELPERS_H_