Diff
Modified: trunk/Source/WebCore/CMakeLists.txt (208140 => 208141)
--- trunk/Source/WebCore/CMakeLists.txt 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/CMakeLists.txt 2016-10-31 13:42:43 UTC (rev 208141)
@@ -914,7 +914,6 @@
Modules/mediastream/RTCDataChannelEvent.cpp
Modules/mediastream/RTCIceCandidate.cpp
Modules/mediastream/RTCIceCandidateEvent.cpp
- Modules/mediastream/RTCOfferAnswerOptions.cpp
Modules/mediastream/RTCPeerConnection.cpp
Modules/mediastream/RTCRtpReceiver.cpp
Modules/mediastream/RTCRtpSender.cpp
Modified: trunk/Source/WebCore/ChangeLog (208140 => 208141)
--- trunk/Source/WebCore/ChangeLog 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/ChangeLog 2016-10-31 13:42:43 UTC (rev 208141)
@@ -1,5 +1,35 @@
2016-10-31 Youenn Fablet <[email protected]>
+ RTCOfferAnswerOptions does not need to be refcounted
+ https://bugs.webkit.org/show_bug.cgi?id=164216
+
+ Reviewed by Darin Adler.
+
+ Covered by existing tests.
+
+ Making RTCOffer/Answer options dictionaries as per specification.
+ Removing code that handles RTCOffer/Answer options dictionary since this is done by the binding generator.
+ Updated users of the options accordingly.
+
+ * CMakeLists.txt:
+ * Modules/mediastream/MediaEndpointPeerConnection.cpp:
+ (WebCore::MediaEndpointPeerConnection::createOffer):
+ (WebCore::MediaEndpointPeerConnection::createOfferTask):
+ (WebCore::MediaEndpointPeerConnection::createAnswer):
+ (WebCore::MediaEndpointPeerConnection::createAnswerTask):
+ * Modules/mediastream/MediaEndpointPeerConnection.h:
+ * Modules/mediastream/PeerConnectionBackend.h:
+ * Modules/mediastream/RTCOfferAnswerOptions.cpp: Removed.
+ * Modules/mediastream/RTCOfferAnswerOptions.h:
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::queuedCreateOffer):
+ (WebCore::RTCPeerConnection::queuedCreateAnswer):
+ * Modules/mediastream/RTCPeerConnection.h:
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2016-10-31 Youenn Fablet <[email protected]>
+
fast/mediastream/RTCPeerConnection-* tests crashing under ASan
https://bugs.webkit.org/show_bug.cgi?id=164215
Modified: trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp (208140 => 208141)
--- trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp 2016-10-31 13:42:43 UTC (rev 208141)
@@ -133,14 +133,14 @@
m_initialDeferredTask = nullptr;
}
-void MediaEndpointPeerConnection::createOffer(RTCOfferOptions& options, SessionDescriptionPromise&& promise)
+void MediaEndpointPeerConnection::createOffer(RTCOfferOptions&& options, SessionDescriptionPromise&& promise)
{
- runTask([this, protectedOptions = RefPtr<RTCOfferOptions>(&options), protectedPromise = WTFMove(promise)]() mutable {
- createOfferTask(*protectedOptions, protectedPromise);
+ runTask([this, protectedOptions = WTFMove(options), protectedPromise = WTFMove(promise)]() mutable {
+ createOfferTask(protectedOptions, protectedPromise);
});
}
-void MediaEndpointPeerConnection::createOfferTask(RTCOfferOptions&, SessionDescriptionPromise& promise)
+void MediaEndpointPeerConnection::createOfferTask(const RTCOfferOptions&, SessionDescriptionPromise& promise)
{
ASSERT(!m_dtlsFingerprint.isEmpty());
@@ -204,14 +204,14 @@
promise.resolve(*description->toRTCSessionDescription(*m_sdpProcessor));
}
-void MediaEndpointPeerConnection::createAnswer(RTCAnswerOptions& options, SessionDescriptionPromise&& promise)
+void MediaEndpointPeerConnection::createAnswer(RTCAnswerOptions&& options, SessionDescriptionPromise&& promise)
{
- runTask([this, protectedOptions = RefPtr<RTCAnswerOptions>(&options), protectedPromise = WTFMove(promise)]() mutable {
- createAnswerTask(*protectedOptions, protectedPromise);
+ runTask([this, protectedOptions = WTFMove(options), protectedPromise = WTFMove(promise)]() mutable {
+ createAnswerTask(protectedOptions, protectedPromise);
});
}
-void MediaEndpointPeerConnection::createAnswerTask(RTCAnswerOptions&, SessionDescriptionPromise& promise)
+void MediaEndpointPeerConnection::createAnswerTask(const RTCAnswerOptions&, SessionDescriptionPromise& promise)
{
ASSERT(!m_dtlsFingerprint.isEmpty());
Modified: trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.h (208140 => 208141)
--- trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.h 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.h 2016-10-31 13:42:43 UTC (rev 208141)
@@ -55,8 +55,8 @@
public:
MediaEndpointPeerConnection(PeerConnectionBackendClient*);
- void createOffer(RTCOfferOptions&, PeerConnection::SessionDescriptionPromise&&) override;
- void createAnswer(RTCAnswerOptions&, PeerConnection::SessionDescriptionPromise&&) override;
+ void createOffer(RTCOfferOptions&&, PeerConnection::SessionDescriptionPromise&&) override;
+ void createAnswer(RTCAnswerOptions&&, PeerConnection::SessionDescriptionPromise&&) override;
void setLocalDescription(RTCSessionDescription&, PeerConnection::VoidPromise&&) override;
RefPtr<RTCSessionDescription> localDescription() const override;
@@ -90,8 +90,8 @@
void runTask(Function<void ()>&&);
void startRunningTasks();
- void createOfferTask(RTCOfferOptions&, PeerConnection::SessionDescriptionPromise&);
- void createAnswerTask(RTCAnswerOptions&, PeerConnection::SessionDescriptionPromise&);
+ void createOfferTask(const RTCOfferOptions&, PeerConnection::SessionDescriptionPromise&);
+ void createAnswerTask(const RTCAnswerOptions&, PeerConnection::SessionDescriptionPromise&);
void setLocalDescriptionTask(RefPtr<RTCSessionDescription>&&, PeerConnection::VoidPromise&);
void setRemoteDescriptionTask(RefPtr<RTCSessionDescription>&&, PeerConnection::VoidPromise&);
Modified: trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.h (208140 => 208141)
--- trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.h 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.h 2016-10-31 13:42:43 UTC (rev 208141)
@@ -43,10 +43,8 @@
class MediaStream;
class MediaStreamTrack;
class PeerConnectionBackend;
-class RTCAnswerOptions;
class RTCConfiguration;
class RTCIceCandidate;
-class RTCOfferOptions;
class RTCRtpReceiver;
class RTCRtpSender;
class RTCRtpSenderClient;
@@ -55,6 +53,9 @@
class RTCStatsResponse;
class ScriptExecutionContext;
+struct RTCAnswerOptions;
+struct RTCOfferOptions;
+
namespace PeerConnection {
typedef DOMPromise<RTCSessionDescription> SessionDescriptionPromise;
typedef DOMPromise<std::nullptr_t> VoidPromise;
@@ -89,8 +90,8 @@
WEBCORE_EXPORT static CreatePeerConnectionBackend create;
virtual ~PeerConnectionBackend() { }
- virtual void createOffer(RTCOfferOptions&, PeerConnection::SessionDescriptionPromise&&) = 0;
- virtual void createAnswer(RTCAnswerOptions&, PeerConnection::SessionDescriptionPromise&&) = 0;
+ virtual void createOffer(RTCOfferOptions&&, PeerConnection::SessionDescriptionPromise&&) = 0;
+ virtual void createAnswer(RTCAnswerOptions&&, PeerConnection::SessionDescriptionPromise&&) = 0;
virtual void setLocalDescription(RTCSessionDescription&, PeerConnection::VoidPromise&&) = 0;
virtual RefPtr<RTCSessionDescription> localDescription() const = 0;
Deleted: trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp (208140 => 208141)
--- trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.cpp 2016-10-31 13:42:43 UTC (rev 208141)
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- * Copyright (C) 2015 Ericsson AB. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(WEB_RTC)
-#include "RTCOfferAnswerOptions.h"
-
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-bool RTCOfferAnswerOptions::initialize(const Dictionary& options)
-{
- bool voiceActivityDetection;
- if (options.get("voiceActivityDetection", voiceActivityDetection))
- m_voiceActivityDetection = voiceActivityDetection;
-
- return true;
-}
-
-ExceptionOr<Ref<RTCOfferOptions>> RTCOfferOptions::create(const Dictionary& options)
-{
- auto result = adoptRef(*new RTCOfferOptions);
- if (!result->initialize(options)) {
- // FIXME: https://webkit.org/b/129800
- // According to the spec, the error is going to be defined yet, so let's use TYPE_MISMATCH_ERR for now.
- return Exception { TYPE_MISMATCH_ERR };
- }
- return WTFMove(result);
-}
-
-bool RTCOfferOptions::initialize(const Dictionary& options)
-{
- if (options.isUndefinedOrNull())
- return true;
-
- String stringValue;
- int64_t intConversionResult;
- bool numberConversionSuccess;
-
- if (options.get("offerToReceiveVideo", stringValue)) {
- intConversionResult = stringValue.toInt64Strict(&numberConversionSuccess);
- if (!numberConversionSuccess)
- return false;
-
- m_offerToReceiveVideo = intConversionResult;
- }
-
- if (options.get("offerToReceiveAudio", stringValue)) {
- intConversionResult = stringValue.toInt64Strict(&numberConversionSuccess);
- if (!numberConversionSuccess)
- return false;
-
- m_offerToReceiveAudio = intConversionResult;
- }
-
- bool iceRestart;
- if (options.get("iceRestart", iceRestart))
- m_iceRestart = iceRestart;
-
- return RTCOfferAnswerOptions::initialize(options);
-}
-
-ExceptionOr<Ref<RTCAnswerOptions>> RTCAnswerOptions::create(const Dictionary& options)
-{
- auto result = adoptRef(*new RTCAnswerOptions);
- if (!result->initialize(options)) {
- // FIXME: https://webkit.org/b/129800
- // According to the spec, the error is going to be defined yet, so let's use TYPE_MISMATCH_ERR for now.
- return Exception { TYPE_MISMATCH_ERR };
- }
- return WTFMove(result);
-}
-
-bool RTCAnswerOptions::initialize(const Dictionary& options)
-{
- if (options.isUndefinedOrNull())
- return true;
-
- return RTCOfferAnswerOptions::initialize(options);
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(WEB_RTC)
Modified: trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.h (208140 => 208141)
--- trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.h 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.h 2016-10-31 13:42:43 UTC (rev 208141)
@@ -28,53 +28,19 @@
#if ENABLE(WEB_RTC)
-#include "Dictionary.h"
-#include "ExceptionCode.h"
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-
namespace WebCore {
-class Dictionary;
-
-class RTCOfferAnswerOptions {
-public:
- bool voiceActivityDetection() const { return m_voiceActivityDetection; }
-
-protected:
- RTCOfferAnswerOptions() = default;
- bool initialize(const Dictionary&);
-
-private:
- bool m_voiceActivityDetection { true };
+struct RTCOfferAnswerOptions {
+ bool voiceActivityDetection { true };
};
-// FIXME: Why is this reference counted?
-class RTCOfferOptions : public RefCounted<RTCOfferOptions>, public RTCOfferAnswerOptions {
-public:
- static ExceptionOr<Ref<RTCOfferOptions>> create(const Dictionary&);
-
- int64_t offerToReceiveVideo() const { return m_offerToReceiveVideo; }
- int64_t offerToReceiveAudio() const { return m_offerToReceiveAudio; }
- bool iceRestart() const { return m_iceRestart; }
-
-private:
- RTCOfferOptions() = default;
- bool initialize(const Dictionary&);
-
- int64_t m_offerToReceiveVideo { 0 };
- int64_t m_offerToReceiveAudio { 0 };
- bool m_iceRestart { false };
+struct RTCOfferOptions : RTCOfferAnswerOptions {
+ int64_t offerToReceiveVideo { 0 };
+ int64_t offerToReceiveAudio { 0 };
+ bool iceRestart { false };
};
-// FIXME: Why is this reference counted?
-class RTCAnswerOptions : public RefCounted<RTCAnswerOptions>, public RTCOfferAnswerOptions {
-public:
- static ExceptionOr<Ref<RTCAnswerOptions>> create(const Dictionary&);
-
-private:
- RTCAnswerOptions() = default;
- bool initialize(const Dictionary&);
+struct RTCAnswerOptions : RTCOfferAnswerOptions {
};
} // namespace WebCore
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp (208140 => 208141)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp 2016-10-31 13:42:43 UTC (rev 208141)
@@ -203,7 +203,7 @@
m_backend->markAsNeedingNegotiation();
}
-void RTCPeerConnection::queuedCreateOffer(const Dictionary& offerOptions, SessionDescriptionPromise&& promise)
+void RTCPeerConnection::queuedCreateOffer(RTCOfferOptions&& options, SessionDescriptionPromise&& promise)
{
if (m_signalingState == SignalingState::Closed) {
promise.reject(INVALID_STATE_ERR);
@@ -210,16 +210,10 @@
return;
}
- auto options = RTCOfferOptions::create(offerOptions);
- if (options.hasException()) {
- promise.reject(OperationError, "Invalid createOffer argument");
- return;
- }
-
- m_backend->createOffer(options.releaseReturnValue(), WTFMove(promise));
+ m_backend->createOffer(WTFMove(options), WTFMove(promise));
}
-void RTCPeerConnection::queuedCreateAnswer(const Dictionary& answerOptions, SessionDescriptionPromise&& promise)
+void RTCPeerConnection::queuedCreateAnswer(RTCAnswerOptions&& options, SessionDescriptionPromise&& promise)
{
if (m_signalingState == SignalingState::Closed) {
promise.reject(INVALID_STATE_ERR);
@@ -226,13 +220,7 @@
return;
}
- auto options = RTCAnswerOptions::create(answerOptions);
- if (options.hasException()) {
- promise.reject(OperationError, "Invalid createAnswer argument");
- return;
- }
-
- m_backend->createAnswer(options.releaseReturnValue(), WTFMove(promise));
+ m_backend->createAnswer(WTFMove(options), WTFMove(promise));
}
void RTCPeerConnection::queuedSetLocalDescription(RTCSessionDescription& description, PeerConnection::VoidPromise&& promise)
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h (208140 => 208141)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h 2016-10-31 13:42:43 UTC (rev 208141)
@@ -39,6 +39,7 @@
#include "EventTarget.h"
#include "MediaStream.h"
#include "PeerConnectionBackend.h"
+#include "RTCOfferAnswerOptions.h"
#include "RTCRtpTransceiver.h"
#include "ScriptWrappable.h"
#include <wtf/HashMap.h>
@@ -60,6 +61,10 @@
static Ref<RTCPeerConnection> create(ScriptExecutionContext&);
~RTCPeerConnection();
+ using OfferAnswerOptions = RTCOfferAnswerOptions;
+ using OfferOptions = RTCOfferOptions;
+ using AnswerOptions = RTCAnswerOptions;
+
ExceptionOr<void> initializeWith(Document&, const Dictionary&);
const Vector<RefPtr<RTCRtpSender>>& getSenders() const { return m_transceiverSet->getSenders(); }
@@ -82,8 +87,8 @@
ExceptionOr<Ref<RTCRtpTransceiver>> addTransceiver(Ref<MediaStreamTrack>&&, const RtpTransceiverInit&);
ExceptionOr<Ref<RTCRtpTransceiver>> addTransceiver(const String& kind, const RtpTransceiverInit&);
- void queuedCreateOffer(const Dictionary& offerOptions, PeerConnection::SessionDescriptionPromise&&);
- void queuedCreateAnswer(const Dictionary& answerOptions, PeerConnection::SessionDescriptionPromise&&);
+ void queuedCreateOffer(RTCOfferOptions&&, PeerConnection::SessionDescriptionPromise&&);
+ void queuedCreateAnswer(RTCAnswerOptions&&, PeerConnection::SessionDescriptionPromise&&);
void queuedSetLocalDescription(RTCSessionDescription&, PeerConnection::VoidPromise&&);
RefPtr<RTCSessionDescription> localDescription() const;
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl (208140 => 208141)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl 2016-10-31 13:42:43 UTC (rev 208141)
@@ -30,6 +30,17 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+dictionary RTCOfferAnswerOptions {
+ boolean voiceActivityDetection = true;
+};
+
+dictionary RTCOfferOptions : RTCOfferAnswerOptions {
+ boolean iceRestart = false;
+};
+
+dictionary RTCAnswerOptions : RTCOfferAnswerOptions {
+};
+
[
ActiveDOMObject,
Conditional=WEB_RTC,
@@ -59,12 +70,12 @@
[JSBuiltin] void addStream(MediaStream stream);
[JSBuiltin] void removeStream(MediaStream stream);
- [JSBuiltin] Promise createOffer(optional Dictionary offerOptions);
+ [JSBuiltin] Promise createOffer(optional RTCOfferOptions offerOptions);
// Legacy signature: Promise createOffer(RTCSessionDescriptionCallback successCallback
// RTCPeerConnectionErrorCallback errorCallback,
// optional Dictionary offerOptions);
- [JSBuiltin] Promise createAnswer(optional Dictionary answerOptions);
+ [JSBuiltin] Promise createAnswer(optional RTCAnswerOptions answerOptions);
// Legacy signature: Promise createAnswer(RTCSessionDescriptionCallback successCallback
// RTCPeerConnectionErrorCallback errorCallback,
// optional Dictionary answerOptions);
@@ -107,8 +118,8 @@
// Private API used to implement the overloaded operations above. Queued functions are called by
// runQueuedOperation() (defined in RTCPeerConnectionInternals.js).
- [PrivateIdentifier] Promise queuedCreateOffer(optional Dictionary offerOptions);
- [PrivateIdentifier] Promise queuedCreateAnswer(optional Dictionary answerOptions);
+ [PrivateIdentifier] Promise queuedCreateOffer(optional RTCOfferOptions offerOptions);
+ [PrivateIdentifier] Promise queuedCreateAnswer(optional RTCAnswerOptions answerOptions);
[PrivateIdentifier] Promise queuedSetLocalDescription(RTCSessionDescription description);
[PrivateIdentifier] Promise queuedSetRemoteDescription(RTCSessionDescription description);
[PrivateIdentifier] Promise queuedAddIceCandidate(RTCIceCandidate candidate);
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (208140 => 208141)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2016-10-31 08:32:34 UTC (rev 208140)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2016-10-31 13:42:43 UTC (rev 208141)
@@ -145,7 +145,6 @@
072CA86116CB4DC3008AE131 /* CaptionUserPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 072CA86016CB4DC3008AE131 /* CaptionUserPreferences.cpp */; };
07367DDF172CA67F00D861B9 /* InbandTextTrackPrivateLegacyAVFObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = 07367DDD172CA67F00D861B9 /* InbandTextTrackPrivateLegacyAVFObjC.h */; };
07367DE0172CA68200D861B9 /* InbandTextTrackPrivateLegacyAVFObjC.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07367DDE172CA67F00D861B9 /* InbandTextTrackPrivateLegacyAVFObjC.mm */; };
- 073794DD19EE2C5200E5A045 /* RTCOfferAnswerOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 073794DB19EE2C5200E5A045 /* RTCOfferAnswerOptions.cpp */; };
073794DE19EE2C5200E5A045 /* RTCOfferAnswerOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 073794DC19EE2C5200E5A045 /* RTCOfferAnswerOptions.h */; };
073794E119EE2D1B00E5A045 /* MediaConstraintsMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 073794DF19EE2D1B00E5A045 /* MediaConstraintsMock.cpp */; };
073794E219EE2D1B00E5A045 /* MediaConstraintsMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 073794E019EE2D1B00E5A045 /* MediaConstraintsMock.h */; };
@@ -7079,7 +7078,6 @@
072CA86016CB4DC3008AE131 /* CaptionUserPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CaptionUserPreferences.cpp; sourceTree = "<group>"; };
07367DDD172CA67F00D861B9 /* InbandTextTrackPrivateLegacyAVFObjC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InbandTextTrackPrivateLegacyAVFObjC.h; sourceTree = "<group>"; };
07367DDE172CA67F00D861B9 /* InbandTextTrackPrivateLegacyAVFObjC.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InbandTextTrackPrivateLegacyAVFObjC.mm; sourceTree = "<group>"; };
- 073794DB19EE2C5200E5A045 /* RTCOfferAnswerOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTCOfferAnswerOptions.cpp; sourceTree = "<group>"; };
073794DC19EE2C5200E5A045 /* RTCOfferAnswerOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCOfferAnswerOptions.h; sourceTree = "<group>"; };
073794DF19EE2D1B00E5A045 /* MediaConstraintsMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaConstraintsMock.cpp; sourceTree = "<group>"; };
073794E019EE2D1B00E5A045 /* MediaConstraintsMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaConstraintsMock.h; sourceTree = "<group>"; };
@@ -14883,7 +14881,6 @@
07AB996718DA3C010018771E /* RTCIceServer.h */,
07AB996818DA3C010018771E /* RTCIceServer.idl */,
5E6653091DA437BF00FDD84C /* RTCIceTransport.h */,
- 073794DB19EE2C5200E5A045 /* RTCOfferAnswerOptions.cpp */,
073794DC19EE2C5200E5A045 /* RTCOfferAnswerOptions.h */,
07221B7717CEC32700848E51 /* RTCPeerConnection.cpp */,
07221B7817CEC32700848E51 /* RTCPeerConnection.h */,
@@ -30567,7 +30564,6 @@
073BE34F17D18183002BD431 /* RTCIceCandidateDescriptor.cpp in Sources */,
078E090A17D14CEE00420AA1 /* RTCIceCandidateEvent.cpp in Sources */,
073794FD19F5864E00E5A045 /* RTCNotifiersMock.cpp in Sources */,
- 073794DD19EE2C5200E5A045 /* RTCOfferAnswerOptions.cpp in Sources */,
078E090B17D14CEE00420AA1 /* RTCPeerConnection.cpp in Sources */,
073BE35017D181A6002BD431 /* RTCPeerConnectionHandler.cpp in Sources */,
073794F119EE37BB00E5A045 /* RTCPeerConnectionHandlerMock.cpp in Sources */,