Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
mobile_scanner
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Navaron Bracke
2024-04-22 14:36:11 +0200
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
cb4fdc5d61a990b41deecf39d4b9c7a67fb143c3
cb4fdc5d
1 parent
e48a67f0
fix getCapabilities for Firefox
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
2 deletions
lib/src/web/media_track_constraints_delegate.dart
lib/src/web/media_track_extension.dart
lib/src/web/mobile_scanner_web.dart
lib/src/web/media_track_constraints_delegate.dart
View file @
cb4fdc5
...
...
@@ -18,7 +18,14 @@ final class MediaTrackConstraintsDelegate {
final
MediaStreamTrack
track
=
tracks
.
first
;
final
MediaTrackCapabilities
capabilities
=
track
.
getCapabilities
();
final
MediaTrackCapabilities
capabilities
;
if
(
track
.
getCapabilitiesNullable
!=
null
)
{
capabilities
=
track
.
getCapabilities
();
}
else
{
capabilities
=
MediaTrackCapabilities
();
}
final
MediaTrackSettings
settings
=
track
.
getSettings
();
final
JSArray
<
JSString
>?
facingModes
=
capabilities
.
facingModeNullable
;
...
...
lib/src/web/media_track_extension.dart
View file @
cb4fdc5
import
'dart:js_interop'
;
import
'package:web/web.dart'
;
/// This extension provides nullable properties for [MediaStreamTrack],
/// for cases where the properties are not supported by all browsers.
extension
NullableMediaStreamTrackCapabilities
on
MediaStreamTrack
{
/// The `getCapabilities` function is not supported on Firefox.
@JS
(
'getCapabilities'
)
external
JSFunction
?
get
getCapabilitiesNullable
;
}
/// This extension provides nullable properties for [MediaTrackCapabilities],
/// for cases where the properties are not supported by all browsers.
extension
NullableMediaTrackCapabilities
on
MediaTrackCapabilities
{
...
...
lib/src/web/mobile_scanner_web.dart
View file @
cb4fdc5
...
...
@@ -125,7 +125,14 @@ class MobileScannerWeb extends MobileScannerPlatform {
}
final
MediaStreamTrack
videoTrack
=
tracks
.
first
;
final
MediaTrackCapabilities
capabilities
=
videoTrack
.
getCapabilities
();
final
MediaTrackCapabilities
capabilities
;
if
(
videoTrack
.
getCapabilitiesNullable
!=
null
)
{
capabilities
=
videoTrack
.
getCapabilities
();
}
else
{
capabilities
=
MediaTrackCapabilities
();
}
final
JSArray
<
JSString
>?
facingModes
=
capabilities
.
facingModeNullable
;
// TODO: this is an empty array on MacOS Chrome, where there is no facing mode, but one, user facing camera.
...
...
Please
register
or
login
to post a comment