OLD | NEW |
---|---|
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2014 Google Inc. | 3 * Copyright 2014 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 14 matching lines...) Expand all Loading... | |
25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 */ | 26 */ |
27 | 27 |
28 #ifndef TALK_APP_WEBRTC_PEERCONNECTIONFACTORYPROXY_H_ | 28 #ifndef TALK_APP_WEBRTC_PEERCONNECTIONFACTORYPROXY_H_ |
29 #define TALK_APP_WEBRTC_PEERCONNECTIONFACTORYPROXY_H_ | 29 #define TALK_APP_WEBRTC_PEERCONNECTIONFACTORYPROXY_H_ |
30 | 30 |
31 #include <string> | 31 #include <string> |
32 | 32 |
33 #include "talk/app/webrtc/peerconnectioninterface.h" | 33 #include "talk/app/webrtc/peerconnectioninterface.h" |
34 #include "talk/app/webrtc/proxy.h" | 34 #include "talk/app/webrtc/proxy.h" |
35 #include "webrtc/base/bind.h" | |
35 | 36 |
36 namespace webrtc { | 37 namespace webrtc { |
37 | 38 |
38 BEGIN_PROXY_MAP(PeerConnectionFactory) | 39 BEGIN_PROXY_MAP(PeerConnectionFactory) |
39 PROXY_METHOD1(void, SetOptions, const Options&) | 40 PROXY_METHOD1(void, SetOptions, const Options&) |
40 PROXY_METHOD5(rtc::scoped_refptr<PeerConnectionInterface>, | 41 // Can't use PROXY_METHOD5 because scoped_ptr must be Pass()ed. |
41 CreatePeerConnection, | 42 rtc::scoped_refptr<PeerConnectionInterface> CreatePeerConnection( |
42 const PeerConnectionInterface::RTCConfiguration&, | 43 const PeerConnectionInterface::RTCConfiguration& a1, |
43 const MediaConstraintsInterface*, | 44 const MediaConstraintsInterface* a2, |
44 PortAllocatorFactoryInterface*, | 45 PortAllocatorFactoryInterface* a3, |
45 DTLSIdentityServiceInterface*, | 46 rtc::scoped_ptr<DtlsIdentityStoreInterface> a4, |
46 PeerConnectionObserver*) | 47 PeerConnectionObserver* a5) override { |
48 return owner_thread_->Invoke<rtc::scoped_refptr<PeerConnectionInterface>>( | |
49 rtc::Bind(&PeerConnectionFactoryProxy::CreatePeerConnection_ot, this, | |
50 a1, a2, a3, a4.release(), a5)); | |
tommi
2015/07/02 11:23:00
not .Passed() or hmm... I don't suppose we have ba
hbos
2015/07/02 12:28:28
This code does make me feel dirty but I'm not sure
tommi
2015/07/09 16:13:56
Agreed. Can you leave a TODO here for you and/or m
hbos
2015/07/27 13:29:00
Acknowledged.
| |
51 } | |
47 PROXY_METHOD1(rtc::scoped_refptr<MediaStreamInterface>, | 52 PROXY_METHOD1(rtc::scoped_refptr<MediaStreamInterface>, |
48 CreateLocalMediaStream, const std::string&) | 53 CreateLocalMediaStream, const std::string&) |
49 PROXY_METHOD1(rtc::scoped_refptr<AudioSourceInterface>, | 54 PROXY_METHOD1(rtc::scoped_refptr<AudioSourceInterface>, |
50 CreateAudioSource, const MediaConstraintsInterface*) | 55 CreateAudioSource, const MediaConstraintsInterface*) |
51 PROXY_METHOD2(rtc::scoped_refptr<VideoSourceInterface>, | 56 PROXY_METHOD2(rtc::scoped_refptr<VideoSourceInterface>, |
52 CreateVideoSource, cricket::VideoCapturer*, | 57 CreateVideoSource, cricket::VideoCapturer*, |
53 const MediaConstraintsInterface*) | 58 const MediaConstraintsInterface*) |
54 PROXY_METHOD2(rtc::scoped_refptr<VideoTrackInterface>, | 59 PROXY_METHOD2(rtc::scoped_refptr<VideoTrackInterface>, |
55 CreateVideoTrack, const std::string&, VideoSourceInterface*) | 60 CreateVideoTrack, const std::string&, VideoSourceInterface*) |
56 PROXY_METHOD2(rtc::scoped_refptr<AudioTrackInterface>, | 61 PROXY_METHOD2(rtc::scoped_refptr<AudioTrackInterface>, |
57 CreateAudioTrack, const std::string&, AudioSourceInterface*) | 62 CreateAudioTrack, const std::string&, AudioSourceInterface*) |
58 PROXY_METHOD1(bool, StartAecDump, rtc::PlatformFile) | 63 PROXY_METHOD1(bool, StartAecDump, rtc::PlatformFile) |
64 | |
65 private: | |
66 rtc::scoped_refptr<PeerConnectionInterface> CreatePeerConnection_ot( | |
67 const PeerConnectionInterface::RTCConfiguration& a1, | |
68 const MediaConstraintsInterface* a2, | |
69 PortAllocatorFactoryInterface* a3, | |
70 DtlsIdentityStoreInterface* a4, | |
71 PeerConnectionObserver* a5) { | |
72 rtc::scoped_ptr<DtlsIdentityStoreInterface> ptr_a4(a4); | |
73 return c_->CreatePeerConnection(a1, a2, a3, ptr_a4.Pass(), a5); | |
74 } | |
59 END_PROXY() | 75 END_PROXY() |
60 | 76 |
61 } // namespace webrtc | 77 } // namespace webrtc |
62 | 78 |
63 #endif // TALK_APP_WEBRTC_PEERCONNECTIONFACTORYPROXY_H_ | 79 #endif // TALK_APP_WEBRTC_PEERCONNECTIONFACTORYPROXY_H_ |
OLD | NEW |