forked from mirrors/gecko-dev
Bug 1918096 - Reject gUM/gDM request if video track ends before first frame. a=RyanVM
This case gets hit if the SCContentSharingPicker is cancelled by the user. Original Revision: https://phabricator.services.mozilla.com/D221854 Differential Revision: https://phabricator.services.mozilla.com/D232474
This commit is contained in:
parent
5d960a5dff
commit
a1ab9c47be
2 changed files with 11 additions and 1 deletions
|
|
@ -1769,7 +1769,16 @@ void GetUserMediaStreamTask::PrepareDOMStream() {
|
||||||
return DeviceListener::DeviceListenerPromise::
|
return DeviceListener::DeviceListenerPromise::
|
||||||
CreateAndResolve(true, __func__);
|
CreateAndResolve(true, __func__);
|
||||||
},
|
},
|
||||||
[] {
|
[](nsresult aError) {
|
||||||
|
MOZ_ASSERT(NS_FAILED(aError));
|
||||||
|
if (aError == NS_ERROR_UNEXPECTED) {
|
||||||
|
return DeviceListener::DeviceListenerPromise::
|
||||||
|
CreateAndReject(
|
||||||
|
MakeRefPtr<MediaMgrError>(
|
||||||
|
MediaMgrError::Name::NotAllowedError),
|
||||||
|
__func__);
|
||||||
|
}
|
||||||
|
MOZ_ASSERT(aError == NS_ERROR_ABORT);
|
||||||
return DeviceListener::DeviceListenerPromise::
|
return DeviceListener::DeviceListenerPromise::
|
||||||
CreateAndReject(MakeRefPtr<MediaMgrError>(
|
CreateAndReject(MakeRefPtr<MediaMgrError>(
|
||||||
MediaMgrError::Name::AbortError,
|
MediaMgrError::Name::AbortError,
|
||||||
|
|
|
||||||
|
|
@ -393,6 +393,7 @@ const TrackingId& MediaEngineRemoteVideoSource::GetTrackingId() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaEngineRemoteVideoSource::OnCaptureEnded() {
|
void MediaEngineRemoteVideoSource::OnCaptureEnded() {
|
||||||
|
mFirstFramePromiseHolder.RejectIfExists(NS_ERROR_UNEXPECTED, __func__);
|
||||||
mCaptureEndedEvent.Notify();
|
mCaptureEndedEvent.Notify();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue