Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leaving fullscreen mode error #3907

Closed
wojciechtryba-td opened this issue Jan 26, 2022 · 2 comments
Closed

Leaving fullscreen mode error #3907

wojciechtryba-td opened this issue Jan 26, 2022 · 2 comments
Labels
status: archived Archived and locked; will not be updated status: infeasible The requested feature is not currently feasible type: bug Something isn't working correctly
Milestone

Comments

@wojciechtryba-td
Copy link

Have you read the FAQ and checked for duplicate open issues?
Yes

What version of Shaka Player are you using?
3.3.0

Can you reproduce the issue with our latest release version?
Yes

Can you reproduce the issue with the latest code from master?
The issue is present on the demo app.

Are you using the demo app or your own custom app?
Both

If custom app, can you reproduce the issue using our demo app?
Yes

What browser and OS are you using?
Firefox, macOS 12.0.1

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A

What are the manifest and license server URIs?

Can be the same as in demo app.

What configuration are you using? What is the output of player.getConfiguration()?

Config { "drm": { "retryParameters": { "maxAttempts": 2, "baseDelay": 1000, "backoffFactor": 2, "fuzzFactor": 0.5, "timeout": 30000, "stallTimeout": 5000, "connectionTimeout": 10000 }, "servers": {}, "clearKeys": {}, "advanced": {}, "delayLicenseRequestUntilPlayed": false, "logLicenseExchange": false, "updateExpirationTime": 1, "preferredKeySystems": [] }, "manifest": { "retryParameters": { "maxAttempts": 2, "baseDelay": 1000, "backoffFactor": 2, "fuzzFactor": 0.5, "timeout": 30000, "stallTimeout": 5000, "connectionTimeout": 10000 }, "availabilityWindowOverride": null, "disableAudio": false, "disableVideo": false, "disableText": false, "disableThumbnails": false, "defaultPresentationDelay": 0, "dash": { "clockSyncUri": "", "ignoreDrmInfo": false, "disableXlinkProcessing": false, "xlinkFailGracefully": false, "ignoreMinBufferTime": false, "autoCorrectDrift": true, "initialSegmentLimit": 1000, "ignoreSuggestedPresentationDelay": false, "ignoreEmptyAdaptationSet": false, "ignoreMaxSegmentDuration": false, "keySystemsByURI": { "urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b": "org.w3.clearkey", "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed": "com.widevine.alpha", "urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95": "com.microsoft.playready", "urn:uuid:79f0049a-4098-8642-ab92-e65be0885f95": "com.microsoft.playready", "urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb": "com.adobe.primetime" } }, "hls": { "ignoreTextStreamFailures": false, "ignoreImageStreamFailures": false, "useFullSegmentsForStartTime": false, "defaultAudioCodec": "mp4a.40.2", "defaultVideoCodec": "avc1.42E01E" } }, "streaming": { "retryParameters": { "maxAttempts": 2, "baseDelay": 1000, "backoffFactor": 2, "fuzzFactor": 0.5, "timeout": 30000, "stallTimeout": 5000, "connectionTimeout": 10000 }, "rebufferingGoal": 2, "bufferingGoal": 10, "bufferBehind": 30, "ignoreTextStreamFailures": false, "alwaysStreamText": false, "startAtSegmentBoundary": false, "gapDetectionThreshold": 0.1, "smallGapLimit": 0.5, "jumpLargeGaps": false, "durationBackoff": 1, "forceTransmuxTS": false, "safeSeekOffset": 5, "stallEnabled": true, "stallThreshold": 1, "stallSkip": 0.1, "useNativeHlsOnSafari": true, "inaccurateManifestTolerance": 2, "lowLatencyMode": false, "autoLowLatencyMode": false, "forceHTTPS": false, "preferNativeHls": false, "updateIntervalSeconds": 1, "dispatchAllEmsgBoxes": false, "observeQualityChanges": false }, "offline": { "usePersistentLicense": true }, "abr": { "enabled": true, "useNetworkInformation": true, "defaultBandwidthEstimate": 1000000, "switchInterval": 8, "bandwidthUpgradeTarget": 0.85, "bandwidthDowngradeTarget": 0.95, "restrictions": { "minWidth": 0, "maxWidth": null, "minHeight": 0, "maxHeight": null, "minPixels": 0, "maxPixels": null, "minFrameRate": 0, "maxFrameRate": null, "minBandwidth": 0, "maxBandwidth": null }, "advanced": { "minTotalBytes": 128000, "minBytes": 16000, "fastHalfLife": 2, "slowHalfLife": 5 } }, "preferredAudioLanguage": "", "preferredTextLanguage": "", "preferredVariantRole": "", "preferredTextRole": "", "preferredAudioChannelCount": 2, "preferredVideoCodecs": [], "preferredAudioCodecs": [], "preferForcedSubs": false, "preferredDecodingAttributes": [], "restrictions": { "minWidth": 0, "maxWidth": null, "minHeight": 0, "maxHeight": null, "minPixels": 0, "maxPixels": null, "minFrameRate": 0, "maxFrameRate": null, "minBandwidth": 0, "maxBandwidth": null }, "playRangeStart": 0, "playRangeEnd": null, "cmcd": { "enabled": false, "sessionId": "", "contentId": "", "useHeaders": false } }

What did you do?

  1. Open browser console
  2. Click 'fullscreen' button on the player
  3. After entering fullscreen mode, click 'fullscreen' button again

What did you expect to happen?
Leave fullscreen mode without any issues.

What actually happened?

Fullscreen mode is left, but in the console an error Uncaught (in promise) DOMException: Operation is not supported. It doesn't seem to cause any problems with player, but the error info itself is present.

The issue can be triggered also by using double-clicking to enter and exit fullscreen. Using 'escape' key seems not to throw the error.

The screenshot present error generated in Angular app, but it seems the framework isn't necessary to throw it.
shaka-issue

@wojciechtryba-td wojciechtryba-td added the type: bug Something isn't working correctly label Jan 26, 2022
@github-actions github-actions bot added this to the v3.3 milestone Jan 26, 2022
@joeyparrish
Copy link
Member

I'm unable to reproduce this issue on ChromeOS. It could be Firefox-specific or Mac-specific (less likely).

I loaded the v3.3.0 demo (I tried both uncompiled and release mode), and I started playing content. I clicked the fullscreen button to go to fullscreen mode, then clicked it again to leave fullscreen mode. No errors. I also tried double-clicking to reproduce the issue, and still observed no errors.

@joeyparrish
Copy link
Member

I was able to reproduce in Firefox on Linux. It appears to be the call to screen.orientation.unlock() in toggleFullScreen() in controls.js that produces this message.

However, unlock() returns undefined, not a Promise, and it's not throwing either. It's actually returning undefined and completing the call. It could be that in Firefox, the call results in a failure on an unobserved Promise in some internal part of the implementation of unlock().

Here's the test I ran in the JS console on Firefox:

try { result = screen.orientation.unlock(); console.log('OK', result); } catch (error) { console.error('THREW', error); }

I get back "OK undefined" followed by that error message. If unlock() were returning a failed Promise that we should be listening to, we would see "OK Promise {: ...}" instead.

So it appears that there is nothing we can do to silence Firefox's error, and that it has no effect on the player or application at runtime.

@joeyparrish joeyparrish added the status: infeasible The requested feature is not currently feasible label Jan 26, 2022
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Mar 27, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated status: infeasible The requested feature is not currently feasible type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

2 participants