@@ -10,8 +10,10 @@ namespace flutter_webrtc_plugin {
1010class FlutterFrameCryptorObserver : public libwebrtc ::RTCFrameCryptorObserver {
1111 public:
1212 FlutterFrameCryptorObserver (BinaryMessenger* messenger,
13+ TaskRunner* task_runner,
1314 const std::string& channelName)
14- : event_channel_(EventChannelProxy::Create(messenger, channelName)) {}
15+ : event_channel_(
16+ EventChannelProxy::Create (messenger, task_runner, channelName)) {}
1517 void OnFrameCryptionStateChanged (const string participant_id,
1618 libwebrtc::RTCFrameCryptionState state);
1719
@@ -23,8 +25,12 @@ class FlutterFrameCryptor {
2325 public:
2426 FlutterFrameCryptor (FlutterWebRTCBase* base) : base_(base) {}
2527
26- bool HandleFrameCryptorMethodCall (const MethodCallProxy& method_call,
27- std::unique_ptr<MethodResultProxy> result);
28+ // Since this takes ownership of result, ownership will be passed back to
29+ // 'outResult' if this function fails
30+ bool HandleFrameCryptorMethodCall (
31+ const MethodCallProxy& method_call,
32+ std::unique_ptr<MethodResultProxy> result,
33+ std::unique_ptr<MethodResultProxy>* outResult);
2834
2935 void FrameCryptorFactoryCreateFrameCryptor (
3036 const EncodableMap& constraints,
@@ -57,6 +63,7 @@ class FlutterFrameCryptor {
5763
5864 void KeyProviderExportSharedKey (const EncodableMap& constraints,
5965 std::unique_ptr<MethodResultProxy> result);
66+
6067 void KeyProviderSetKey (const EncodableMap& constraints,
6168 std::unique_ptr<MethodResultProxy> result);
6269
@@ -91,7 +98,6 @@ class FlutterFrameCryptor {
9198 frame_cryptors_;
9299 std::map<std::string, scoped_refptr<FlutterFrameCryptorObserver>>
93100 frame_cryptor_observers_;
94- std::map<std::string, scoped_refptr<libwebrtc::KeyProvider>> key_providers_;
95101};
96102
97103} // namespace flutter_webrtc_plugin
0 commit comments