diff --git a/dom/media/MediaManager.cpp b/dom/media/MediaManager.cpp index b46deaeab177..c58407024b66 100644 --- a/dom/media/MediaManager.cpp +++ b/dom/media/MediaManager.cpp @@ -1769,7 +1769,16 @@ void GetUserMediaStreamTask::PrepareDOMStream() { return DeviceListener::DeviceListenerPromise:: CreateAndResolve(true, __func__); }, - [] { + [](nsresult aError) { + MOZ_ASSERT(NS_FAILED(aError)); + if (aError == NS_ERROR_UNEXPECTED) { + return DeviceListener::DeviceListenerPromise:: + CreateAndReject( + MakeRefPtr( + MediaMgrError::Name::NotAllowedError), + __func__); + } + MOZ_ASSERT(aError == NS_ERROR_ABORT); return DeviceListener::DeviceListenerPromise:: CreateAndReject(MakeRefPtr( MediaMgrError::Name::AbortError, diff --git a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp index 4580f8a9d95a..83b935da21cb 100644 --- a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp +++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp @@ -393,6 +393,7 @@ const TrackingId& MediaEngineRemoteVideoSource::GetTrackingId() const { } void MediaEngineRemoteVideoSource::OnCaptureEnded() { + mFirstFramePromiseHolder.RejectIfExists(NS_ERROR_UNEXPECTED, __func__); mCaptureEndedEvent.Notify(); }