/work/obj-fuzz/dist/include/mozilla/media/MediaUtils.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 | | /* vim: set sw=2 ts=8 et ft=cpp : */ |
3 | | /* This Source Code Form is subject to the terms of the Mozilla Public |
4 | | * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
5 | | * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
6 | | |
7 | | #ifndef mozilla_MediaUtils_h |
8 | | #define mozilla_MediaUtils_h |
9 | | |
10 | | #include "mozilla/Assertions.h" |
11 | | #include "mozilla/Monitor.h" |
12 | | #include "mozilla/MozPromise.h" |
13 | | #include "mozilla/RefPtr.h" |
14 | | #include "mozilla/SharedThreadPool.h" |
15 | | #include "mozilla/TaskQueue.h" |
16 | | #include "mozilla/UniquePtr.h" |
17 | | #include "nsCOMPtr.h" |
18 | | #include "nsIAsyncShutdown.h" |
19 | | #include "nsISupportsImpl.h" |
20 | | #include "nsThreadUtils.h" |
21 | | |
22 | | class nsIEventTarget; |
23 | | |
24 | | namespace mozilla { |
25 | | namespace media { |
26 | | |
27 | | /* |
28 | | * media::Pledge - A promise-like pattern for c++ that takes lambda functions. |
29 | | * |
30 | | * Asynchronous APIs that proxy to another thread or to the chrome process and |
31 | | * back may find it useful to return a pledge to callers who then use |
32 | | * pledge.Then(func) to specify a lambda function to be invoked with the result |
33 | | * later back on this same thread. |
34 | | * |
35 | | * Callers will enjoy that lambdas allow "capturing" of local variables, much |
36 | | * like closures in JavaScript (safely by-copy by default). |
37 | | * |
38 | | * Callers will also enjoy that they do not need to be thread-safe (their code |
39 | | * runs on the same thread after all). |
40 | | * |
41 | | * Advantageously, pledges are non-threadsafe by design (because locking and |
42 | | * event queues are redundant). This means none of the lambdas you pass in, |
43 | | * or variables you lambda-capture into them, need be threasafe or support |
44 | | * threadsafe refcounting. After all, they'll run later on the same thread. |
45 | | * |
46 | | * RefPtr<media::Pledge<Foo>> p = GetFooAsynchronously(); // returns a pledge |
47 | | * p->Then([](const Foo& foo) { |
48 | | * // use foo here (same thread. Need not be thread-safe!) |
49 | | * }); |
50 | | * |
51 | | * See media::CoatCheck below for an example of GetFooAsynchronously(). |
52 | | */ |
53 | | |
54 | | class PledgeBase |
55 | | { |
56 | | public: |
57 | | NS_INLINE_DECL_REFCOUNTING(PledgeBase); |
58 | | protected: |
59 | 0 | virtual ~PledgeBase() {}; |
60 | | }; |
61 | | |
62 | | template<typename ValueType, typename ErrorType = nsresult> |
63 | | class Pledge : public PledgeBase |
64 | | { |
65 | | // TODO: Remove workaround once mozilla allows std::function from <functional> |
66 | | // wo/std::function support, do template + virtual trick to accept lambdas |
67 | | class FunctorsBase |
68 | | { |
69 | | public: |
70 | 0 | FunctorsBase() {} Unexecuted instantiation: mozilla::media::Pledge<bool, nsresult>::FunctorsBase::FunctorsBase() Unexecuted instantiation: mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::FunctorsBase::FunctorsBase() Unexecuted instantiation: mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>::FunctorsBase::FunctorsBase() Unexecuted instantiation: mozilla::media::Pledge<nsTString<char>, nsresult>::FunctorsBase::FunctorsBase() |
71 | | virtual void Succeed(ValueType& result) = 0; |
72 | | virtual void Fail(ErrorType& error) = 0; |
73 | 0 | virtual ~FunctorsBase() {}; Unexecuted instantiation: mozilla::media::Pledge<bool, nsresult>::FunctorsBase::~FunctorsBase() Unexecuted instantiation: mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::FunctorsBase::~FunctorsBase() Unexecuted instantiation: mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>::FunctorsBase::~FunctorsBase() Unexecuted instantiation: mozilla::media::Pledge<nsTString<char>, nsresult>::FunctorsBase::~FunctorsBase() |
74 | | }; |
75 | | |
76 | | public: |
77 | 0 | explicit Pledge() : mDone(false), mRejected(false) {} Unexecuted instantiation: mozilla::media::Pledge<bool, mozilla::dom::MediaStreamError*>::Pledge() Unexecuted instantiation: mozilla::media::Pledge<bool, nsresult>::Pledge() Unexecuted instantiation: mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>::Pledge() Unexecuted instantiation: mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Pledge() Unexecuted instantiation: mozilla::media::Pledge<nsTString<char>, nsresult>::Pledge() |
78 | | Pledge(const Pledge& aOther) = delete; |
79 | | Pledge& operator = (const Pledge&) = delete; |
80 | | |
81 | | template<typename OnSuccessType> |
82 | | void Then(OnSuccessType&& aOnSuccess) |
83 | 0 | { |
84 | 0 | Then(std::forward<OnSuccessType>(aOnSuccess), [](ErrorType&){}); Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&)::{lambda(mozilla::dom::MediaStreamError*&)#1}::operator()(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&) const Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&)::{lambda(nsresult&)#1}::operator()(nsresult&) const Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}>(mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}::operator()(mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}&&) const Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}>(mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}::operator()(mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}&&) const |
85 | 0 | } Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&) Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}>(mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}&&) Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}>(mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}&&) |
86 | | |
87 | | template<typename OnSuccessType, typename OnFailureType> |
88 | | void Then(OnSuccessType&& aOnSuccess, OnFailureType&& aOnFailure) |
89 | 0 | { |
90 | 0 | class Functors : public FunctorsBase |
91 | 0 | { |
92 | 0 | public: |
93 | 0 | Functors(OnSuccessType&& aOnSuccessRef, OnFailureType&& aOnFailureRef) |
94 | 0 | : mOnSuccess(std::move(aOnSuccessRef)), mOnFailure(std::move(aOnFailureRef)) {} Unexecuted instantiation: Unified_cpp_dom_media3.cpp:void mozilla::media::Pledge<bool, nsresult>::Then<mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_8, mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_9>(mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_8&&, mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_9&&)::Functors::Functors(mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_8&&, mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_9&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&, mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(mozilla::dom::MediaStreamError*&)#1}&&)::Functors::Functors({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&, mozilla::dom::MediaStreamError*&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_30>(mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29&&, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_30&&)::Functors::Functors(mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29&&, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_30&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(char const*&)#1}, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(char const*&)#1}&&, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(mozilla::dom::MediaStreamError*&)#1}&&)::Functors::Functors({lambda(char const*&)#1}&&, mozilla::dom::MediaStreamError*&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&)::{lambda(nsresult&)#1}>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&)::{lambda(nsresult&)#1}&&)::Functors::Functors(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&, {lambda(nsresult&)#1}&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}>({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&)::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}>({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&)::{lambda(mozilla::dom::MediaStreamError*&)#1}&&)::Functors::Functors({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&, mozilla::dom::MediaStreamError*&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_32, mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_33>(mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_32&&, mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_33&&)::Functors::Functors(mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_32&&, mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_33&&) Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}>(mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}&&)::Functors::Functors({lambda(nsTString<char> const&)#1}&&, nsresult&) Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}>(mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}&&)::Functors::Functors({lambda(nsTString<char> const&)#1}&&, nsresult&) |
95 | 0 |
|
96 | 0 | void Succeed(ValueType& result) |
97 | 0 | { |
98 | 0 | mOnSuccess(result); |
99 | 0 | } Unexecuted instantiation: Unified_cpp_dom_media3.cpp:void mozilla::media::Pledge<bool, nsresult>::Then<mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_8, mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_9>(mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_8&&, mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_9&&)::Functors::Succeed(bool&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&, mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(mozilla::dom::MediaStreamError*&)#1}&&)::Functors::Succeed(nsTArray<RefPtr<mozilla::MediaDevice> >*&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_30>(mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29&&, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_30&&)::Functors::Succeed(nsTArray<RefPtr<mozilla::MediaDevice> >*&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(char const*&)#1}, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(char const*&)#1}&&, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(mozilla::dom::MediaStreamError*&)#1}&&)::Functors::Succeed(char const*&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&)::{lambda(nsresult&)#1}>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&)::{lambda(nsresult&)#1}&&)::Functors::Succeed(nsTString<char>&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}>({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&)::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}>({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&)::{lambda(mozilla::dom::MediaStreamError*&)#1}&&)::Functors::Succeed(nsTArray<RefPtr<mozilla::MediaDevice> >*&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_32, mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_33>(mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_32&&, mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_33&&)::Functors::Succeed(nsTArray<RefPtr<mozilla::MediaDevice> >*&) Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}>(mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}&&)::Functors::Succeed(nsTString<char>&) Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}>(mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}&&)::Functors::Succeed(nsTString<char>&) |
100 | 0 | void Fail(ErrorType& error) |
101 | 0 | { |
102 | 0 | mOnFailure(error); |
103 | 0 | }; Unexecuted instantiation: Unified_cpp_dom_media3.cpp:void mozilla::media::Pledge<bool, nsresult>::Then<mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_8, mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_9>(mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_8&&, mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_9&&)::Functors::Fail(nsresult&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&, mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(mozilla::dom::MediaStreamError*&)#1}&&)::Functors::Fail(mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(char const*&)#1}, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(char const*&)#1}&&, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(mozilla::dom::MediaStreamError*&)#1}&&)::Functors::Fail(mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(char const*&)#1}) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_30>(mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29&&, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_30&&)::Functors::Fail(mozilla::dom::MediaStreamError*&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}>({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&)::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}>({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&)::{lambda(mozilla::dom::MediaStreamError*&)#1}&&)::Functors::Fail({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&)::{lambda(nsresult&)#1}>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&)::{lambda(nsresult&)#1}&&)::Functors::Fail(nsresult&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_32, mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_33>(mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_32&&, mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_33&&)::Functors::Fail(mozilla::dom::MediaStreamError*&) Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}>(mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}&&)::Functors::Fail({lambda(nsTString<char> const&)#1}&&) Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}>(mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}&&)::Functors::Fail({lambda(nsTString<char> const&)#1}&&) |
104 | 0 |
|
105 | 0 | OnSuccessType mOnSuccess; |
106 | 0 | OnFailureType mOnFailure; |
107 | 0 | }; |
108 | 0 | mFunctors = MakeUnique<Functors>(std::forward<OnSuccessType>(aOnSuccess), |
109 | 0 | std::forward<OnFailureType>(aOnFailure)); |
110 | 0 | if (mDone) { |
111 | 0 | if (!mRejected) { |
112 | 0 | mFunctors->Succeed(mValue); |
113 | 0 | } else { |
114 | 0 | mFunctors->Fail(mError); |
115 | 0 | } |
116 | 0 | } |
117 | 0 | } Unexecuted instantiation: Unified_cpp_dom_media3.cpp:void mozilla::media::Pledge<bool, nsresult>::Then<mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_8, mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_9>(mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_8&&, mozilla::DOMMediaStream::BlockPlaybackTrack(mozilla::DOMMediaStream::TrackPort*)::$_9&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&, mozilla::MediaManager::OnDeviceChange()::$_28::operator()()::{lambda(mozilla::dom::MediaStreamError*&)#1}&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_30>(mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29&&, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_30&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(char const*&)#1}, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(char const*&)#1}&&, mozilla::MediaManager::GetUserMedia(nsPIDOMWindowInner*, mozilla::dom::MediaStreamConstraints const&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaSuccessCallback, nsIDOMGetUserMediaSuccessCallback>&&, mozilla::dom::CallbackObjectHolder<mozilla::dom::NavigatorUserMediaErrorCallback, nsIDOMGetUserMediaErrorCallback>&&, mozilla::dom::CallerType)::$_29::operator()(nsTArray<RefPtr<mozilla::MediaDevice> >*&)::{lambda(mozilla::dom::MediaStreamError*&)#1}&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&)::{lambda(nsresult&)#1}>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31&&)::{lambda(nsresult&)#1}&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}>({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&)::{lambda(mozilla::dom::MediaStreamError*&)#1}>(mozilla::MediaManager::EnumerateDevicesImpl(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_31::operator()(nsTString<char> const&)::{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}, void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<{lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}>({lambda(nsTArray<RefPtr<mozilla::MediaDevice> >*&)#1}&&)::{lambda(mozilla::dom::MediaStreamError*&)#1}&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:void mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Then<mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_32, mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_33>(mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_32&&, mozilla::MediaManager::EnumerateDevices(nsPIDOMWindowInner*, nsIGetUserMediaDevicesSuccessCallback*, nsIDOMGetUserMediaErrorCallback*, mozilla::dom::CallerType)::$_33&&) Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}>(mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}&&) Unexecuted instantiation: void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}>(mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda(nsTString<char> const&)#1}, void mozilla::media::Pledge<nsTString<char>, nsresult>::Then<{lambda(nsTString<char> const&)#1}>({lambda(nsTString<char> const&)#1}&&)::{lambda(nsresult&)#1}&&) |
118 | | |
119 | | void Resolve(const ValueType& aValue) |
120 | 0 | { |
121 | 0 | mValue = aValue; |
122 | 0 | Resolve(); |
123 | 0 | } Unexecuted instantiation: mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>::Resolve(char const* const&) Unexecuted instantiation: mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Resolve(nsTArray<RefPtr<mozilla::MediaDevice> >* const&) Unexecuted instantiation: mozilla::media::Pledge<bool, mozilla::dom::MediaStreamError*>::Resolve(bool const&) Unexecuted instantiation: mozilla::media::Pledge<nsTString<char>, nsresult>::Resolve(nsTString<char> const&) |
124 | | |
125 | | void Reject(ErrorType rv) |
126 | 0 | { |
127 | 0 | if (!mDone) { |
128 | 0 | mDone = mRejected = true; |
129 | 0 | mError = rv; |
130 | 0 | if (mFunctors) { |
131 | 0 | mFunctors->Fail(mError); |
132 | 0 | } |
133 | 0 | } |
134 | 0 | } Unexecuted instantiation: mozilla::media::Pledge<bool, mozilla::dom::MediaStreamError*>::Reject(mozilla::dom::MediaStreamError*) Unexecuted instantiation: mozilla::media::Pledge<bool, nsresult>::Reject(nsresult) Unexecuted instantiation: mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Reject(mozilla::dom::MediaStreamError*) |
135 | | |
136 | | protected: |
137 | | void Resolve() |
138 | 0 | { |
139 | 0 | if (!mDone) { |
140 | 0 | mDone = true; |
141 | 0 | MOZ_ASSERT(!mRejected); |
142 | 0 | if (mFunctors) { |
143 | 0 | mFunctors->Succeed(mValue); |
144 | 0 | } |
145 | 0 | } |
146 | 0 | } Unexecuted instantiation: mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>::Resolve() Unexecuted instantiation: mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::Resolve() Unexecuted instantiation: mozilla::media::Pledge<bool, mozilla::dom::MediaStreamError*>::Resolve() Unexecuted instantiation: mozilla::media::Pledge<nsTString<char>, nsresult>::Resolve() |
147 | | |
148 | | ValueType mValue; |
149 | | private: |
150 | 0 | ~Pledge() {}; Unexecuted instantiation: mozilla::media::Pledge<bool, mozilla::dom::MediaStreamError*>::~Pledge() Unexecuted instantiation: mozilla::media::Pledge<bool, nsresult>::~Pledge() Unexecuted instantiation: mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>::~Pledge() Unexecuted instantiation: mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>::~Pledge() Unexecuted instantiation: mozilla::media::Pledge<nsTString<char>, nsresult>::~Pledge() |
151 | | bool mDone; |
152 | | bool mRejected; |
153 | | ErrorType mError; |
154 | | UniquePtr<FunctorsBase> mFunctors; |
155 | | }; |
156 | | |
157 | | /* media::NewRunnableFrom() - Create a Runnable from a lambda. |
158 | | * |
159 | | * Passing variables (closures) to an async function is clunky with Runnable: |
160 | | * |
161 | | * void Foo() |
162 | | * { |
163 | | * class FooRunnable : public Runnable |
164 | | * { |
165 | | * public: |
166 | | * FooRunnable(const Bar &aBar) : mBar(aBar) {} |
167 | | * NS_IMETHOD Run() override |
168 | | * { |
169 | | * // Use mBar |
170 | | * } |
171 | | * private: |
172 | | * RefPtr<Bar> mBar; |
173 | | * }; |
174 | | * |
175 | | * RefPtr<Bar> bar = new Bar(); |
176 | | * NS_DispatchToMainThread(new FooRunnable(bar); |
177 | | * } |
178 | | * |
179 | | * It's worse with more variables. Lambdas have a leg up with variable capture: |
180 | | * |
181 | | * void Foo() |
182 | | * { |
183 | | * RefPtr<Bar> bar = new Bar(); |
184 | | * NS_DispatchToMainThread(media::NewRunnableFrom([bar]() mutable { |
185 | | * // use bar |
186 | | * })); |
187 | | * } |
188 | | * |
189 | | * Capture is by-copy by default, so the nsRefPtr 'bar' is safely copied for |
190 | | * access on the other thread (threadsafe refcounting in bar is assumed). |
191 | | * |
192 | | * The 'mutable' keyword is only needed for non-const access to bar. |
193 | | */ |
194 | | |
195 | | template<typename OnRunType> |
196 | | class LambdaRunnable : public Runnable |
197 | | { |
198 | | public: |
199 | | explicit LambdaRunnable(OnRunType&& aOnRun) |
200 | | : Runnable("media::LambdaRunnable") |
201 | | , mOnRun(std::move(aOnRun)) |
202 | 0 | { |
203 | 0 | } Unexecuted instantiation: Unified_cpp_src_peerconnection0.cpp:mozilla::media::LambdaRunnable<std::__1::__bind<mozilla::PacketDumper::~PacketDumper()::$_0, already_AddRefed<mozilla::PeerConnectionImpl> > >::LambdaRunnable(std::__1::__bind<mozilla::PacketDumper::~PacketDumper()::$_0, already_AddRefed<mozilla::PeerConnectionImpl> >&&) Unexecuted instantiation: Unified_cpp_src_peerconnection0.cpp:mozilla::media::LambdaRunnable<std::__1::__bind<mozilla::PacketDumper::Dump(unsigned long, mozilla::dom::mozPacketDumpType, bool, void const*, unsigned long)::$_1, mozilla::UniquePtr<unsigned char [], mozilla::DefaultDelete<unsigned char []> > > >::LambdaRunnable(std::__1::__bind<mozilla::PacketDumper::Dump(unsigned long, mozilla::dom::mozPacketDumpType, bool, void const*, unsigned long)::$_1, mozilla::UniquePtr<unsigned char [], mozilla::DefaultDelete<unsigned char []> > >&&) Unexecuted instantiation: Unified_cpp_dom_media3.cpp:mozilla::media::LambdaRunnable<mozilla::DOMMediaStream::CountUnderlyingStreams(mozilla::dom::GlobalObject const&, mozilla::ErrorResult&)::Counter::Run()::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::dom::MediaRecorder::Session::MediaEncoderInitialized()::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:mozilla::media::LambdaRunnable<mozilla::MediaManager::SelectSettings(mozilla::dom::MediaStreamConstraints&, bool, RefPtr<mozilla::media::Refcountable<mozilla::UniquePtr<nsTArray<RefPtr<mozilla::MediaDevice> >, mozilla::DefaultDelete<nsTArray<RefPtr<mozilla::MediaDevice> > > > > >&)::$_25::operator()()::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:mozilla::media::LambdaRunnable<mozilla::MediaManager::EnumerateRawDevices(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_26::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:mozilla::media::LambdaRunnable<mozilla::MediaManager::OnDeviceChange()::$_28>::LambdaRunnable(mozilla::MediaManager::OnDeviceChange()::$_28&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:mozilla::media::LambdaRunnable<mozilla::MediaManager::Shutdown()::$_36>::LambdaRunnable(mozilla::MediaManager::Shutdown()::$_36&&) Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:mozilla::media::LambdaRunnable<mozilla::MediaEncoder::Suspend(mozilla::TimeStamp)::$_0>::LambdaRunnable(mozilla::MediaEncoder::Suspend(mozilla::TimeStamp)::$_0&&) Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:mozilla::media::LambdaRunnable<mozilla::MediaEncoder::Resume(mozilla::TimeStamp)::$_1>::LambdaRunnable(mozilla::MediaEncoder::Resume(mozilla::TimeStamp)::$_1&&) Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:mozilla::media::LambdaRunnable<mozilla::MediaEncoder::Cancel()::$_2>::LambdaRunnable(mozilla::MediaEncoder::Cancel()::$_2&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::InputObserver::OnDeviceChange()::$_0>::LambdaRunnable(mozilla::camera::InputObserver::OnDeviceChange()::$_0&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::StopVideoCapture()::$_1>::LambdaRunnable(mozilla::camera::CamerasParent::StopVideoCapture()::$_1&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::StopVideoCapture()::$_2>::LambdaRunnable(mozilla::camera::CamerasParent::StopVideoCapture()::$_2&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCaptureDevices(mozilla::camera::CaptureEngine const&)::$_3>::LambdaRunnable(mozilla::camera::CamerasParent::RecvNumberOfCaptureDevices(mozilla::camera::CaptureEngine const&)::$_3&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCaptureDevices(mozilla::camera::CaptureEngine const&)::$_3::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvEnsureInitialized(mozilla::camera::CaptureEngine const&)::$_4>::LambdaRunnable(mozilla::camera::CamerasParent::RecvEnsureInitialized(mozilla::camera::CaptureEngine const&)::$_4&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvEnsureInitialized(mozilla::camera::CaptureEngine const&)::$_4::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCapabilities(mozilla::camera::CaptureEngine const&, nsTString<char> const&)::$_5>::LambdaRunnable(mozilla::camera::CamerasParent::RecvNumberOfCapabilities(mozilla::camera::CaptureEngine const&, nsTString<char> const&)::$_5&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCapabilities(mozilla::camera::CaptureEngine const&, nsTString<char> const&)::$_5::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureCapability(mozilla::camera::CaptureEngine const&, nsTString<char> const&, int const&)::$_6>::LambdaRunnable(mozilla::camera::CamerasParent::RecvGetCaptureCapability(mozilla::camera::CaptureEngine const&, nsTString<char> const&, int const&)::$_6&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureCapability(mozilla::camera::CaptureEngine const&, nsTString<char> const&, int const&)::$_6::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_7>::LambdaRunnable(mozilla::camera::CamerasParent::RecvGetCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_7&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_7::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8>::LambdaRunnable(mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8::operator()() const::{lambda()#1}::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvReleaseCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_9>::LambdaRunnable(mozilla::camera::CamerasParent::RecvReleaseCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_9&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvReleaseCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_9::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvStartCapture(mozilla::camera::CaptureEngine const&, int const&, mozilla::camera::VideoCaptureCapability const&)::$_10>::LambdaRunnable(mozilla::camera::CamerasParent::RecvStartCapture(mozilla::camera::CaptureEngine const&, int const&, mozilla::camera::VideoCaptureCapability const&)::$_10&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvStartCapture(mozilla::camera::CaptureEngine const&, int const&, mozilla::camera::VideoCaptureCapability const&)::$_10::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvFocusOnSelectedSource(mozilla::camera::CaptureEngine const&, int const&)::$_11>::LambdaRunnable(mozilla::camera::CamerasParent::RecvFocusOnSelectedSource(mozilla::camera::CaptureEngine const&, int const&)::$_11&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvFocusOnSelectedSource(mozilla::camera::CaptureEngine const&, int const&)::$_11::operator()() const::{lambda(mozilla::camera::VideoEngine::CaptureEntry&)#1}::operator()(mozilla::camera::VideoEngine::CaptureEntry&) const::{lambda()#1}>::LambdaRunnable({lambda(mozilla::camera::VideoEngine::CaptureEntry&)#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvStopCapture(mozilla::camera::CaptureEngine const&, int const&)::$_13>::LambdaRunnable(mozilla::camera::CamerasParent::RecvStopCapture(mozilla::camera::CaptureEngine const&, int const&)::$_13&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::CamerasParent()::$_14>::LambdaRunnable(mozilla::camera::CamerasParent::CamerasParent()::$_14&&) Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvSanitizeOriginKeys(unsigned long const&, bool const&)::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}::operator()() const::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::NonE10s>::RecvSanitizeOriginKeys(unsigned long const&, bool const&)::{lambda()#1}>::LambdaRunnable({lambda()#1}&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::VideoEngine::CreateVideoCapture(int&, char const*)::$_16>::LambdaRunnable(mozilla::camera::VideoEngine::CreateVideoCapture(int&, char const*)::$_16&&) Unexecuted instantiation: Unified_cpp_dom_media_webrtc0.cpp:mozilla::media::LambdaRunnable<mozilla::MediaEngineWebRTCMicrophoneSource::ApplySettings(mozilla::MediaEnginePrefs const&, RefPtr<mozilla::MediaStreamGraphImpl>)::$_4>::LambdaRunnable(mozilla::MediaEngineWebRTCMicrophoneSource::ApplySettings(mozilla::MediaEnginePrefs const&, RefPtr<mozilla::MediaStreamGraphImpl>)::$_4&&) |
204 | | |
205 | | private: |
206 | | NS_IMETHODIMP |
207 | | Run() override |
208 | 0 | { |
209 | 0 | return mOnRun(); |
210 | 0 | } Unexecuted instantiation: Unified_cpp_src_peerconnection0.cpp:mozilla::media::LambdaRunnable<std::__1::__bind<mozilla::PacketDumper::~PacketDumper()::$_0, already_AddRefed<mozilla::PeerConnectionImpl> > >::Run() Unexecuted instantiation: Unified_cpp_src_peerconnection0.cpp:mozilla::media::LambdaRunnable<std::__1::__bind<mozilla::PacketDumper::Dump(unsigned long, mozilla::dom::mozPacketDumpType, bool, void const*, unsigned long)::$_1, mozilla::UniquePtr<unsigned char [], mozilla::DefaultDelete<unsigned char []> > > >::Run() Unexecuted instantiation: Unified_cpp_dom_media3.cpp:mozilla::media::LambdaRunnable<mozilla::DOMMediaStream::CountUnderlyingStreams(mozilla::dom::GlobalObject const&, mozilla::ErrorResult&)::Counter::Run()::{lambda()#1}>::Run() Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::dom::MediaRecorder::Session::MediaEncoderInitialized()::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_dom_media6.cpp:mozilla::media::LambdaRunnable<mozilla::MediaManager::SelectSettings(mozilla::dom::MediaStreamConstraints&, bool, RefPtr<mozilla::media::Refcountable<mozilla::UniquePtr<nsTArray<RefPtr<mozilla::MediaDevice> >, mozilla::DefaultDelete<nsTArray<RefPtr<mozilla::MediaDevice> > > > > >&)::$_25::operator()()::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_dom_media6.cpp:mozilla::media::LambdaRunnable<mozilla::MediaManager::EnumerateRawDevices(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_26::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_dom_media6.cpp:mozilla::media::LambdaRunnable<mozilla::MediaManager::OnDeviceChange()::$_28>::Run() Unexecuted instantiation: Unified_cpp_dom_media6.cpp:mozilla::media::LambdaRunnable<mozilla::MediaManager::Shutdown()::$_36>::Run() Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:mozilla::media::LambdaRunnable<mozilla::MediaEncoder::Suspend(mozilla::TimeStamp)::$_0>::Run() Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:mozilla::media::LambdaRunnable<mozilla::MediaEncoder::Resume(mozilla::TimeStamp)::$_1>::Run() Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:mozilla::media::LambdaRunnable<mozilla::MediaEncoder::Cancel()::$_2>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::InputObserver::OnDeviceChange()::$_0>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::StopVideoCapture()::$_1>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::StopVideoCapture()::$_2>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCaptureDevices(mozilla::camera::CaptureEngine const&)::$_3>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCaptureDevices(mozilla::camera::CaptureEngine const&)::$_3::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvEnsureInitialized(mozilla::camera::CaptureEngine const&)::$_4>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvEnsureInitialized(mozilla::camera::CaptureEngine const&)::$_4::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCapabilities(mozilla::camera::CaptureEngine const&, nsTString<char> const&)::$_5>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCapabilities(mozilla::camera::CaptureEngine const&, nsTString<char> const&)::$_5::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureCapability(mozilla::camera::CaptureEngine const&, nsTString<char> const&, int const&)::$_6>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureCapability(mozilla::camera::CaptureEngine const&, nsTString<char> const&, int const&)::$_6::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_7>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_7::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8::operator()() const::{lambda()#1}::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvReleaseCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_9>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvReleaseCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_9::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvStartCapture(mozilla::camera::CaptureEngine const&, int const&, mozilla::camera::VideoCaptureCapability const&)::$_10>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvStartCapture(mozilla::camera::CaptureEngine const&, int const&, mozilla::camera::VideoCaptureCapability const&)::$_10::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvFocusOnSelectedSource(mozilla::camera::CaptureEngine const&, int const&)::$_11>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvFocusOnSelectedSource(mozilla::camera::CaptureEngine const&, int const&)::$_11::operator()() const::{lambda(mozilla::camera::VideoEngine::CaptureEntry&)#1}::operator()(mozilla::camera::VideoEngine::CaptureEntry&) const::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvStopCapture(mozilla::camera::CaptureEngine const&, int const&)::$_13>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::CamerasParent()::$_14>::Run() Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}>::Run() Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvSanitizeOriginKeys(unsigned long const&, bool const&)::{lambda()#1}>::Run() Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}>::Run() Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}::operator()() const::{lambda()#1}>::Run() Unexecuted instantiation: mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::NonE10s>::RecvSanitizeOriginKeys(unsigned long const&, bool const&)::{lambda()#1}>::Run() Unexecuted instantiation: Unified_cpp_systemservices0.cpp:mozilla::media::LambdaRunnable<mozilla::camera::VideoEngine::CreateVideoCapture(int&, char const*)::$_16>::Run() Unexecuted instantiation: Unified_cpp_dom_media_webrtc0.cpp:mozilla::media::LambdaRunnable<mozilla::MediaEngineWebRTCMicrophoneSource::ApplySettings(mozilla::MediaEnginePrefs const&, RefPtr<mozilla::MediaStreamGraphImpl>)::$_4>::Run() |
211 | | OnRunType mOnRun; |
212 | | }; |
213 | | |
214 | | template<typename OnRunType> |
215 | | already_AddRefed<LambdaRunnable<OnRunType>> |
216 | | NewRunnableFrom(OnRunType&& aOnRun) |
217 | 0 | { |
218 | 0 | typedef LambdaRunnable<OnRunType> LambdaType; |
219 | 0 | RefPtr<LambdaType> lambda = new LambdaType(std::forward<OnRunType>(aOnRun)); |
220 | 0 | return lambda.forget(); |
221 | 0 | } Unexecuted instantiation: Unified_cpp_src_peerconnection0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<std::__1::__bind<mozilla::PacketDumper::~PacketDumper()::$_0, already_AddRefed<mozilla::PeerConnectionImpl> > > > mozilla::media::NewRunnableFrom<std::__1::__bind<mozilla::PacketDumper::~PacketDumper()::$_0, already_AddRefed<mozilla::PeerConnectionImpl> > >(std::__1::__bind<mozilla::PacketDumper::~PacketDumper()::$_0, already_AddRefed<mozilla::PeerConnectionImpl> >&&) Unexecuted instantiation: Unified_cpp_src_peerconnection0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<std::__1::__bind<mozilla::PacketDumper::Dump(unsigned long, mozilla::dom::mozPacketDumpType, bool, void const*, unsigned long)::$_1, mozilla::UniquePtr<unsigned char [], mozilla::DefaultDelete<unsigned char []> > > > > mozilla::media::NewRunnableFrom<std::__1::__bind<mozilla::PacketDumper::Dump(unsigned long, mozilla::dom::mozPacketDumpType, bool, void const*, unsigned long)::$_1, mozilla::UniquePtr<unsigned char [], mozilla::DefaultDelete<unsigned char []> > > >(std::__1::__bind<mozilla::PacketDumper::Dump(unsigned long, mozilla::dom::mozPacketDumpType, bool, void const*, unsigned long)::$_1, mozilla::UniquePtr<unsigned char [], mozilla::DefaultDelete<unsigned char []> > >&&) Unexecuted instantiation: Unified_cpp_dom_media3.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::DOMMediaStream::CountUnderlyingStreams(mozilla::dom::GlobalObject const&, mozilla::ErrorResult&)::Counter::Run()::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::DOMMediaStream::CountUnderlyingStreams(mozilla::dom::GlobalObject const&, mozilla::ErrorResult&)::Counter::Run()::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: already_AddRefed<mozilla::media::LambdaRunnable<mozilla::dom::MediaRecorder::Session::MediaEncoderInitialized()::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::dom::MediaRecorder::Session::MediaEncoderInitialized()::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::MediaManager::SelectSettings(mozilla::dom::MediaStreamConstraints&, bool, RefPtr<mozilla::media::Refcountable<mozilla::UniquePtr<nsTArray<RefPtr<mozilla::MediaDevice> >, mozilla::DefaultDelete<nsTArray<RefPtr<mozilla::MediaDevice> > > > > >&)::$_25::operator()()::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::MediaManager::SelectSettings(mozilla::dom::MediaStreamConstraints&, bool, RefPtr<mozilla::media::Refcountable<mozilla::UniquePtr<nsTArray<RefPtr<mozilla::MediaDevice> >, mozilla::DefaultDelete<nsTArray<RefPtr<mozilla::MediaDevice> > > > > >&)::$_25::operator()()::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::MediaManager::EnumerateRawDevices(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_26::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::MediaManager::EnumerateRawDevices(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType)::$_26::operator()() const::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::MediaManager::OnDeviceChange()::$_28> > mozilla::media::NewRunnableFrom<mozilla::MediaManager::OnDeviceChange()::$_28>(mozilla::MediaManager::OnDeviceChange()::$_28&&) Unexecuted instantiation: Unified_cpp_dom_media6.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::MediaManager::Shutdown()::$_36> > mozilla::media::NewRunnableFrom<mozilla::MediaManager::Shutdown()::$_36>(mozilla::MediaManager::Shutdown()::$_36&&) Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::MediaEncoder::Suspend(mozilla::TimeStamp)::$_0> > mozilla::media::NewRunnableFrom<mozilla::MediaEncoder::Suspend(mozilla::TimeStamp)::$_0>(mozilla::MediaEncoder::Suspend(mozilla::TimeStamp)::$_0&&) Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::MediaEncoder::Resume(mozilla::TimeStamp)::$_1> > mozilla::media::NewRunnableFrom<mozilla::MediaEncoder::Resume(mozilla::TimeStamp)::$_1>(mozilla::MediaEncoder::Resume(mozilla::TimeStamp)::$_1&&) Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::MediaEncoder::Cancel()::$_2> > mozilla::media::NewRunnableFrom<mozilla::MediaEncoder::Cancel()::$_2>(mozilla::MediaEncoder::Cancel()::$_2&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::InputObserver::OnDeviceChange()::$_0> > mozilla::media::NewRunnableFrom<mozilla::camera::InputObserver::OnDeviceChange()::$_0>(mozilla::camera::InputObserver::OnDeviceChange()::$_0&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::StopVideoCapture()::$_1> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::StopVideoCapture()::$_1>(mozilla::camera::CamerasParent::StopVideoCapture()::$_1&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::StopVideoCapture()::$_2> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::StopVideoCapture()::$_2>(mozilla::camera::CamerasParent::StopVideoCapture()::$_2&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCaptureDevices(mozilla::camera::CaptureEngine const&)::$_3> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvNumberOfCaptureDevices(mozilla::camera::CaptureEngine const&)::$_3>(mozilla::camera::CamerasParent::RecvNumberOfCaptureDevices(mozilla::camera::CaptureEngine const&)::$_3&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCaptureDevices(mozilla::camera::CaptureEngine const&)::$_3::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvNumberOfCaptureDevices(mozilla::camera::CaptureEngine const&)::$_3::operator()() const::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvEnsureInitialized(mozilla::camera::CaptureEngine const&)::$_4> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvEnsureInitialized(mozilla::camera::CaptureEngine const&)::$_4>(mozilla::camera::CamerasParent::RecvEnsureInitialized(mozilla::camera::CaptureEngine const&)::$_4&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvEnsureInitialized(mozilla::camera::CaptureEngine const&)::$_4::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvEnsureInitialized(mozilla::camera::CaptureEngine const&)::$_4::operator()() const::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCapabilities(mozilla::camera::CaptureEngine const&, nsTString<char> const&)::$_5> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvNumberOfCapabilities(mozilla::camera::CaptureEngine const&, nsTString<char> const&)::$_5>(mozilla::camera::CamerasParent::RecvNumberOfCapabilities(mozilla::camera::CaptureEngine const&, nsTString<char> const&)::$_5&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvNumberOfCapabilities(mozilla::camera::CaptureEngine const&, nsTString<char> const&)::$_5::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvNumberOfCapabilities(mozilla::camera::CaptureEngine const&, nsTString<char> const&)::$_5::operator()() const::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureCapability(mozilla::camera::CaptureEngine const&, nsTString<char> const&, int const&)::$_6> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvGetCaptureCapability(mozilla::camera::CaptureEngine const&, nsTString<char> const&, int const&)::$_6>(mozilla::camera::CamerasParent::RecvGetCaptureCapability(mozilla::camera::CaptureEngine const&, nsTString<char> const&, int const&)::$_6&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureCapability(mozilla::camera::CaptureEngine const&, nsTString<char> const&, int const&)::$_6::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvGetCaptureCapability(mozilla::camera::CaptureEngine const&, nsTString<char> const&, int const&)::$_6::operator()() const::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_7> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvGetCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_7>(mozilla::camera::CamerasParent::RecvGetCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_7&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvGetCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_7::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvGetCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_7::operator()() const::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8>(mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8::operator()() const::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8::operator()() const::{lambda()#1}::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvAllocateCaptureDevice(mozilla::camera::CaptureEngine const&, nsTString<char> const&, mozilla::ipc::PrincipalInfo const&)::$_8::operator()() const::{lambda()#1}::operator()() const::{lambda()#1}>(already_AddRefed&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvReleaseCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_9> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvReleaseCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_9>(mozilla::camera::CamerasParent::RecvReleaseCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_9&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvReleaseCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_9::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvReleaseCaptureDevice(mozilla::camera::CaptureEngine const&, int const&)::$_9::operator()() const::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvStartCapture(mozilla::camera::CaptureEngine const&, int const&, mozilla::camera::VideoCaptureCapability const&)::$_10> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvStartCapture(mozilla::camera::CaptureEngine const&, int const&, mozilla::camera::VideoCaptureCapability const&)::$_10>(mozilla::camera::CamerasParent::RecvStartCapture(mozilla::camera::CaptureEngine const&, int const&, mozilla::camera::VideoCaptureCapability const&)::$_10&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvStartCapture(mozilla::camera::CaptureEngine const&, int const&, mozilla::camera::VideoCaptureCapability const&)::$_10::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvStartCapture(mozilla::camera::CaptureEngine const&, int const&, mozilla::camera::VideoCaptureCapability const&)::$_10::operator()() const::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvFocusOnSelectedSource(mozilla::camera::CaptureEngine const&, int const&)::$_11> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvFocusOnSelectedSource(mozilla::camera::CaptureEngine const&, int const&)::$_11>(mozilla::camera::CamerasParent::RecvFocusOnSelectedSource(mozilla::camera::CaptureEngine const&, int const&)::$_11&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvFocusOnSelectedSource(mozilla::camera::CaptureEngine const&, int const&)::$_11::operator()() const::{lambda(mozilla::camera::VideoEngine::CaptureEntry&)#1}::operator()(mozilla::camera::VideoEngine::CaptureEntry&) const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvFocusOnSelectedSource(mozilla::camera::CaptureEngine const&, int const&)::$_11::operator()() const::{lambda(mozilla::camera::VideoEngine::CaptureEntry&)#1}::operator()(mozilla::camera::VideoEngine::CaptureEntry&) const::{lambda()#1}>(already_AddRefed&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvStopCapture(mozilla::camera::CaptureEngine const&, int const&)::$_13> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::RecvStopCapture(mozilla::camera::CaptureEngine const&, int const&)::$_13>(mozilla::camera::CamerasParent::RecvStopCapture(mozilla::camera::CaptureEngine const&, int const&)::$_13&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::CamerasParent()::$_14> > mozilla::media::NewRunnableFrom<mozilla::camera::CamerasParent::CamerasParent()::$_14>(mozilla::camera::CamerasParent::CamerasParent()::$_14&&) Unexecuted instantiation: already_AddRefed<mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: already_AddRefed<mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}::operator()() const::{lambda()#1}>(already_AddRefed&&) Unexecuted instantiation: already_AddRefed<mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvSanitizeOriginKeys(unsigned long const&, bool const&)::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::media::Parent<mozilla::media::PMediaParent>::RecvSanitizeOriginKeys(unsigned long const&, bool const&)::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: already_AddRefed<mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: already_AddRefed<mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}::operator()() const::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::media::Parent<mozilla::media::NonE10s>::RecvGetPrincipalKey(unsigned int const&, mozilla::ipc::PrincipalInfo const&, bool const&)::{lambda()#1}::operator()() const::{lambda()#1}>(already_AddRefed&&) Unexecuted instantiation: already_AddRefed<mozilla::media::LambdaRunnable<mozilla::media::Parent<mozilla::media::NonE10s>::RecvSanitizeOriginKeys(unsigned long const&, bool const&)::{lambda()#1}> > mozilla::media::NewRunnableFrom<mozilla::media::Parent<mozilla::media::NonE10s>::RecvSanitizeOriginKeys(unsigned long const&, bool const&)::{lambda()#1}>(mozilla::media::LambdaRunnable&&) Unexecuted instantiation: Unified_cpp_systemservices0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::camera::VideoEngine::CreateVideoCapture(int&, char const*)::$_16> > mozilla::media::NewRunnableFrom<mozilla::camera::VideoEngine::CreateVideoCapture(int&, char const*)::$_16>(mozilla::camera::VideoEngine::CreateVideoCapture(int&, char const*)::$_16&&) Unexecuted instantiation: Unified_cpp_dom_media_webrtc0.cpp:already_AddRefed<mozilla::media::LambdaRunnable<mozilla::MediaEngineWebRTCMicrophoneSource::ApplySettings(mozilla::MediaEnginePrefs const&, RefPtr<mozilla::MediaStreamGraphImpl>)::$_4> > mozilla::media::NewRunnableFrom<mozilla::MediaEngineWebRTCMicrophoneSource::ApplySettings(mozilla::MediaEnginePrefs const&, RefPtr<mozilla::MediaStreamGraphImpl>)::$_4>(mozilla::MediaEngineWebRTCMicrophoneSource::ApplySettings(mozilla::MediaEnginePrefs const&, RefPtr<mozilla::MediaStreamGraphImpl>)::$_4&&) |
222 | | |
223 | | /* media::CoatCheck - There and back again. Park an object in exchange for an id. |
224 | | * |
225 | | * A common problem with calling asynchronous functions that do work on other |
226 | | * threads or processes is how to pass in a heap object for use once the |
227 | | * function completes, without requiring that object to have threadsafe |
228 | | * refcounting, contain mutexes, be marshaled, or leak if things fail |
229 | | * (or worse, intermittent use-after-free because of lifetime issues). |
230 | | * |
231 | | * One solution is to set up a coat-check on the caller side, park your object |
232 | | * in exchange for an id, and send the id. Common in IPC, but equally useful |
233 | | * for same-process thread-hops, because by never leaving the thread there's |
234 | | * no need for objects to be threadsafe or use threadsafe refcounting. E.g. |
235 | | * |
236 | | * class FooDoer |
237 | | * { |
238 | | * CoatCheck<Foo> mOutstandingFoos; |
239 | | * |
240 | | * public: |
241 | | * void DoFoo() |
242 | | * { |
243 | | * RefPtr<Foo> foo = new Foo(); |
244 | | * uint32_t requestId = mOutstandingFoos.Append(*foo); |
245 | | * sChild->SendFoo(requestId); |
246 | | * } |
247 | | * |
248 | | * void RecvFooResponse(uint32_t requestId) |
249 | | * { |
250 | | * RefPtr<Foo> foo = mOutstandingFoos.Remove(requestId); |
251 | | * if (foo) { |
252 | | * // use foo |
253 | | * } |
254 | | * } |
255 | | * }; |
256 | | * |
257 | | * If you read media::Pledge earlier, here's how this is useful for pledges: |
258 | | * |
259 | | * class FooGetter |
260 | | * { |
261 | | * CoatCheck<Pledge<Foo>> mOutstandingPledges; |
262 | | * |
263 | | * public: |
264 | | * already_addRefed<Pledge<Foo>> GetFooAsynchronously() |
265 | | * { |
266 | | * RefPtr<Pledge<Foo>> p = new Pledge<Foo>(); |
267 | | * uint32_t requestId = mOutstandingPledges.Append(*p); |
268 | | * sChild->SendFoo(requestId); |
269 | | * return p.forget(); |
270 | | * } |
271 | | * |
272 | | * void RecvFooResponse(uint32_t requestId, const Foo& fooResult) |
273 | | * { |
274 | | * RefPtr<Foo> p = mOutstandingPledges.Remove(requestId); |
275 | | * if (p) { |
276 | | * p->Resolve(fooResult); |
277 | | * } |
278 | | * } |
279 | | * }; |
280 | | * |
281 | | * This helper is currently optimized for very small sets (i.e. not optimized). |
282 | | * It is also not thread-safe as the whole point is to stay on the same thread. |
283 | | */ |
284 | | |
285 | | template<class T> |
286 | | class CoatCheck |
287 | | { |
288 | | public: |
289 | | typedef std::pair<uint32_t, RefPtr<T>> Element; |
290 | | |
291 | | uint32_t Append(T& t) |
292 | 0 | { |
293 | 0 | uint32_t id = GetNextId(); |
294 | 0 | mElements.AppendElement(Element(id, RefPtr<T>(&t))); |
295 | 0 | return id; |
296 | 0 | } Unexecuted instantiation: mozilla::media::CoatCheck<mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*> >::Append(mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*>&) Unexecuted instantiation: mozilla::media::CoatCheck<mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*> >::Append(mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*>&) Unexecuted instantiation: mozilla::media::CoatCheck<mozilla::media::Pledge<nsTString<char>, nsresult> >::Append(mozilla::media::Pledge<nsTString<char>, nsresult>&) |
297 | | |
298 | | already_AddRefed<T> Remove(uint32_t aId) |
299 | 0 | { |
300 | 0 | for (auto& element : mElements) { |
301 | 0 | if (element.first == aId) { |
302 | 0 | RefPtr<T> ref; |
303 | 0 | ref.swap(element.second); |
304 | 0 | mElements.RemoveElement(element); |
305 | 0 | return ref.forget(); |
306 | 0 | } |
307 | 0 | } |
308 | 0 | MOZ_ASSERT_UNREACHABLE("Received id with no matching parked object!"); |
309 | 0 | return nullptr; |
310 | 0 | } Unexecuted instantiation: mozilla::media::CoatCheck<mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*> >::Remove(unsigned int) Unexecuted instantiation: mozilla::media::CoatCheck<mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*> >::Remove(unsigned int) Unexecuted instantiation: mozilla::media::CoatCheck<mozilla::media::Pledge<nsTString<char>, nsresult> >::Remove(unsigned int) |
311 | | |
312 | | private: |
313 | | static uint32_t GetNextId() |
314 | 0 | { |
315 | 0 | static uint32_t counter = 0; |
316 | 0 | return ++counter; |
317 | 0 | }; Unexecuted instantiation: mozilla::media::CoatCheck<mozilla::media::Pledge<char const*, mozilla::dom::MediaStreamError*> >::GetNextId() Unexecuted instantiation: mozilla::media::CoatCheck<mozilla::media::Pledge<nsTArray<RefPtr<mozilla::MediaDevice> >*, mozilla::dom::MediaStreamError*> >::GetNextId() Unexecuted instantiation: mozilla::media::CoatCheck<mozilla::media::Pledge<nsTString<char>, nsresult> >::GetNextId() |
318 | | AutoTArray<Element, 3> mElements; |
319 | | }; |
320 | | |
321 | | /* media::Refcountable - Add threadsafe ref-counting to something that isn't. |
322 | | * |
323 | | * Often, reference counting is the most practical way to share an object with |
324 | | * another thread without imposing lifetime restrictions, even if there's |
325 | | * otherwise no concurrent access happening on the object. For instance, an |
326 | | * algorithm on another thread may find it more expedient to modify a passed-in |
327 | | * object, rather than pass expensive copies back and forth. |
328 | | * |
329 | | * Lists in particular often aren't ref-countable, yet are expensive to copy, |
330 | | * e.g. nsTArray<RefPtr<Foo>>. Refcountable can be used to make such objects |
331 | | * (or owning smart-pointers to such objects) refcountable. |
332 | | * |
333 | | * Technical limitation: A template specialization is needed for types that take |
334 | | * a constructor. Please add below (UniquePtr covers a lot of ground though). |
335 | | */ |
336 | | |
337 | | class RefcountableBase |
338 | | { |
339 | | public: |
340 | | NS_INLINE_DECL_THREADSAFE_REFCOUNTING(RefcountableBase) |
341 | | protected: |
342 | 0 | virtual ~RefcountableBase() {} |
343 | | }; |
344 | | |
345 | | template<typename T> |
346 | | class Refcountable : public T, public RefcountableBase |
347 | | { |
348 | | public: |
349 | | NS_METHOD_(MozExternalRefCountType) AddRef() |
350 | 0 | { |
351 | 0 | return RefcountableBase::AddRef(); |
352 | 0 | } Unexecuted instantiation: mozilla::media::Refcountable<mozilla::MozPromiseHolder<mozilla::MozPromise<unsigned long, unsigned long, true> > >::AddRef() Unexecuted instantiation: mozilla::media::Refcountable<mozilla::MediaEngineRemoteVideoSource::AtomicBool>::AddRef() Unexecuted instantiation: mozilla::media::Refcountable<mozilla::dom::MediaTrackSettings>::AddRef() |
353 | | |
354 | | NS_METHOD_(MozExternalRefCountType) Release() |
355 | 0 | { |
356 | 0 | return RefcountableBase::Release(); |
357 | 0 | } Unexecuted instantiation: mozilla::media::Refcountable<mozilla::dom::MediaTrackSettings>::Release() Unexecuted instantiation: mozilla::media::Refcountable<mozilla::MozPromiseHolder<mozilla::MozPromise<unsigned long, unsigned long, true> > >::Release() Unexecuted instantiation: mozilla::media::Refcountable<mozilla::MediaEngineRemoteVideoSource::AtomicBool>::Release() |
358 | | |
359 | | private: |
360 | 0 | ~Refcountable<T>() {} Unexecuted instantiation: mozilla::media::Refcountable<mozilla::MozPromiseHolder<mozilla::MozPromise<unsigned long, unsigned long, true> > >::~Refcountable() Unexecuted instantiation: mozilla::media::Refcountable<mozilla::dom::MediaTrackSettings>::~Refcountable() |
361 | | }; |
362 | | |
363 | | template<typename T> |
364 | | class Refcountable<UniquePtr<T>> : public UniquePtr<T> |
365 | | { |
366 | | public: |
367 | 0 | explicit Refcountable<UniquePtr<T>>(T* aPtr) : UniquePtr<T>(aPtr) {} Unexecuted instantiation: mozilla::media::Refcountable<mozilla::UniquePtr<nsTArray<RefPtr<mozilla::MediaDevice> >, mozilla::DefaultDelete<nsTArray<RefPtr<mozilla::MediaDevice> > > > >::Refcountable(nsTArray<RefPtr<mozilla::MediaDevice> >*) Unexecuted instantiation: mozilla::media::Refcountable<mozilla::UniquePtr<mozilla::GetUserMediaStreamRunnable::TracksAvailableCallback, mozilla::DefaultDelete<mozilla::GetUserMediaStreamRunnable::TracksAvailableCallback> > >::Refcountable(mozilla::GetUserMediaStreamRunnable::TracksAvailableCallback*) |
368 | | NS_INLINE_DECL_THREADSAFE_REFCOUNTING(Refcountable<T>) |
369 | | private: |
370 | | ~Refcountable<UniquePtr<T>>() {} |
371 | | }; |
372 | | |
373 | | /* Async shutdown helpers |
374 | | */ |
375 | | |
376 | | already_AddRefed<nsIAsyncShutdownClient> |
377 | | GetShutdownBarrier(); |
378 | | |
379 | | class ShutdownBlocker : public nsIAsyncShutdownBlocker |
380 | | { |
381 | | public: |
382 | 0 | ShutdownBlocker(const nsString& aName) : mName(aName) {} |
383 | | |
384 | | NS_IMETHOD |
385 | | BlockShutdown(nsIAsyncShutdownClient* aProfileBeforeChange) override = 0; |
386 | | |
387 | | NS_IMETHOD GetName(nsAString& aName) override |
388 | 0 | { |
389 | 0 | aName = mName; |
390 | 0 | return NS_OK; |
391 | 0 | } |
392 | | |
393 | | NS_IMETHOD GetState(nsIPropertyBag**) override |
394 | 0 | { |
395 | 0 | return NS_OK; |
396 | 0 | } |
397 | | |
398 | | NS_DECL_ISUPPORTS |
399 | | protected: |
400 | 0 | virtual ~ShutdownBlocker() {} |
401 | | private: |
402 | | const nsString mName; |
403 | | }; |
404 | | |
405 | | class ShutdownTicket final |
406 | | { |
407 | | public: |
408 | 0 | explicit ShutdownTicket(nsIAsyncShutdownBlocker* aBlocker) : mBlocker(aBlocker) {} |
409 | | NS_INLINE_DECL_REFCOUNTING(ShutdownTicket) |
410 | | private: |
411 | | ~ShutdownTicket() |
412 | 0 | { |
413 | 0 | nsCOMPtr<nsIAsyncShutdownClient> barrier = GetShutdownBarrier(); |
414 | 0 | barrier->RemoveBlocker(mBlocker); |
415 | 0 | } |
416 | | |
417 | | nsCOMPtr<nsIAsyncShutdownBlocker> mBlocker; |
418 | | }; |
419 | | |
420 | | /** |
421 | | * Await convenience methods to block until the promise has been resolved or |
422 | | * rejected. The Resolve/Reject functions, while called on a different thread, |
423 | | * would be running just as on the current thread thanks to the memory barrier |
424 | | * provided by the monitor. |
425 | | * For now Await can only be used with an exclusive MozPromise if passed a |
426 | | * Resolve/Reject function. |
427 | | * Await() can *NOT* be called from a task queue/nsISerialEventTarget used for |
428 | | * resolving/rejecting aPromise, otherwise things will deadlock. |
429 | | */ |
430 | | template<typename ResolveValueType, |
431 | | typename RejectValueType, |
432 | | typename ResolveFunction, |
433 | | typename RejectFunction> |
434 | | void |
435 | | Await( |
436 | | already_AddRefed<nsIEventTarget> aPool, |
437 | | RefPtr<MozPromise<ResolveValueType, RejectValueType, true>> aPromise, |
438 | | ResolveFunction&& aResolveFunction, |
439 | | RejectFunction&& aRejectFunction) |
440 | 0 | { |
441 | 0 | RefPtr<TaskQueue> taskQueue = |
442 | 0 | new TaskQueue(std::move(aPool), "MozPromiseAwait"); |
443 | 0 | Monitor mon(__func__); |
444 | 0 | bool done = false; |
445 | 0 |
|
446 | 0 | aPromise->Then(taskQueue, |
447 | 0 | __func__, |
448 | 0 | [&](ResolveValueType&& aResolveValue) { |
449 | 0 | MonitorAutoLock lock(mon); |
450 | 0 | aResolveFunction(std::forward<ResolveValueType>(aResolveValue)); |
451 | 0 | done = true; |
452 | 0 | mon.Notify(); |
453 | 0 | }, Unexecuted instantiation: Unified_cpp_src_media-conduit0.cpp:void mozilla::media::Await<mozilla::TrackInfo::TrackType, mozilla::MediaResult, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_9, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_10>(already_AddRefed<nsIEventTarget>, RefPtr<mozilla::MozPromise<mozilla::TrackInfo::TrackType, mozilla::MediaResult, true> >, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_9&&, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_10&&)::{lambda(mozilla::TrackInfo::TrackType&&)#1}::operator()(mozilla::TrackInfo::TrackType&&) const Unexecuted instantiation: Unified_cpp_src_media-conduit0.cpp:void mozilla::media::Await<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_11, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_12>(already_AddRefed<nsIEventTarget>, RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, true> >, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_11&&, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_12&&)::{lambda(nsTArray<RefPtr<mozilla::MediaData> >&&)#1}::operator()(nsTArray<RefPtr<mozilla::MediaData> >&&) const |
454 | 0 | [&](RejectValueType&& aRejectValue) { |
455 | 0 | MonitorAutoLock lock(mon); |
456 | 0 | aRejectFunction(std::forward<RejectValueType>(aRejectValue)); |
457 | 0 | done = true; |
458 | 0 | mon.Notify(); |
459 | 0 | }); Unexecuted instantiation: Unified_cpp_src_media-conduit0.cpp:void mozilla::media::Await<mozilla::TrackInfo::TrackType, mozilla::MediaResult, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_9, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_10>(already_AddRefed<nsIEventTarget>, RefPtr<mozilla::MozPromise<mozilla::TrackInfo::TrackType, mozilla::MediaResult, true> >, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_9&&, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_10&&)::{lambda(mozilla::MediaResult&&)#1}::operator()(mozilla::MediaResult&&) const Unexecuted instantiation: Unified_cpp_src_media-conduit0.cpp:void mozilla::media::Await<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_11, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_12>(already_AddRefed<nsIEventTarget>, RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, true> >, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_11&&, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_12&&)::{lambda(mozilla::MediaResult&&)#1}::operator()(mozilla::MediaResult&&) const |
460 | 0 |
|
461 | 0 | MonitorAutoLock lock(mon); |
462 | 0 | while (!done) { |
463 | 0 | mon.Wait(); |
464 | 0 | } |
465 | 0 | } Unexecuted instantiation: Unified_cpp_src_media-conduit0.cpp:void mozilla::media::Await<mozilla::TrackInfo::TrackType, mozilla::MediaResult, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_9, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_10>(already_AddRefed<nsIEventTarget>, RefPtr<mozilla::MozPromise<mozilla::TrackInfo::TrackType, mozilla::MediaResult, true> >, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_9&&, mozilla::WebrtcMediaDataDecoder::InitDecode(webrtc::VideoCodec const*, int)::$_10&&) Unexecuted instantiation: Unified_cpp_src_media-conduit0.cpp:void mozilla::media::Await<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_11, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_12>(already_AddRefed<nsIEventTarget>, RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, true> >, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_11&&, mozilla::WebrtcMediaDataDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long)::$_12&&) |
466 | | |
467 | | template<typename ResolveValueType, typename RejectValueType, bool Excl> |
468 | | typename MozPromise<ResolveValueType, RejectValueType, Excl>:: |
469 | | ResolveOrRejectValue |
470 | | Await(already_AddRefed<nsIEventTarget> aPool, |
471 | | RefPtr<MozPromise<ResolveValueType, RejectValueType, Excl>> aPromise) |
472 | 0 | { |
473 | 0 | RefPtr<TaskQueue> taskQueue = |
474 | 0 | new TaskQueue(std::move(aPool), "MozPromiseAwait"); |
475 | 0 | Monitor mon(__func__); |
476 | 0 | bool done = false; |
477 | 0 |
|
478 | 0 | typename MozPromise<ResolveValueType, RejectValueType, Excl>::ResolveOrRejectValue val; |
479 | 0 | aPromise->Then(taskQueue, |
480 | 0 | __func__, |
481 | 0 | [&](ResolveValueType aResolveValue) { |
482 | 0 | val.SetResolve(std::move(aResolveValue)); |
483 | 0 | MonitorAutoLock lock(mon); |
484 | 0 | done = true; |
485 | 0 | mon.Notify(); |
486 | 0 | }, |
487 | 0 | [&](RejectValueType aRejectValue) { |
488 | 0 | val.SetReject(std::move(aRejectValue)); |
489 | 0 | MonitorAutoLock lock(mon); |
490 | 0 | done = true; |
491 | 0 | mon.Notify(); |
492 | 0 | }); |
493 | 0 |
|
494 | 0 | MonitorAutoLock lock(mon); |
495 | 0 | while (!done) { |
496 | 0 | mon.Wait(); |
497 | 0 | } |
498 | 0 |
|
499 | 0 | return val; |
500 | 0 | } |
501 | | |
502 | | /** |
503 | | * Similar to Await, takes an array of promises of the same type. |
504 | | * MozPromise::All is used to handle the resolution/rejection of the promises. |
505 | | */ |
506 | | template<typename ResolveValueType, |
507 | | typename RejectValueType, |
508 | | typename ResolveFunction, |
509 | | typename RejectFunction> |
510 | | void |
511 | | AwaitAll(already_AddRefed<nsIEventTarget> aPool, |
512 | | nsTArray<RefPtr<MozPromise<ResolveValueType, RejectValueType, true>>>& |
513 | | aPromises, |
514 | | ResolveFunction&& aResolveFunction, |
515 | | RejectFunction&& aRejectFunction) |
516 | | { |
517 | | typedef MozPromise<ResolveValueType, RejectValueType, true> Promise; |
518 | | RefPtr<nsIEventTarget> pool = aPool; |
519 | | RefPtr<TaskQueue> taskQueue = |
520 | | new TaskQueue(do_AddRef(pool), "MozPromiseAwaitAll"); |
521 | | RefPtr<typename Promise::AllPromiseType> p = |
522 | | Promise::All(taskQueue, aPromises); |
523 | | Await( |
524 | | pool.forget(), p, std::move(aResolveFunction), std::move(aRejectFunction)); |
525 | | } |
526 | | |
527 | | // Note: only works with exclusive MozPromise, as Promise::All would attempt |
528 | | // to perform copy of nsTArrays which are disallowed. |
529 | | template<typename ResolveValueType, typename RejectValueType> |
530 | | typename MozPromise<ResolveValueType, |
531 | | RejectValueType, |
532 | | true>::AllPromiseType::ResolveOrRejectValue |
533 | | AwaitAll(already_AddRefed<nsIEventTarget> aPool, |
534 | | nsTArray<RefPtr<MozPromise<ResolveValueType, RejectValueType, true>>>& |
535 | | aPromises) |
536 | | { |
537 | | typedef MozPromise<ResolveValueType, RejectValueType, true> Promise; |
538 | | RefPtr<nsIEventTarget> pool = aPool; |
539 | | RefPtr<TaskQueue> taskQueue = |
540 | | new TaskQueue(do_AddRef(pool), "MozPromiseAwaitAll"); |
541 | | RefPtr<typename Promise::AllPromiseType> p = |
542 | | Promise::All(taskQueue, aPromises); |
543 | | return Await(pool.forget(), p); |
544 | | } |
545 | | |
546 | | } // namespace media |
547 | | } // namespace mozilla |
548 | | |
549 | | #endif // mozilla_MediaUtils_h |