Skip to content

[camera_web] Support for camera stream on web #6443

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

Closed
wants to merge 203 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
203 commits
Select commit Hold shift + click to select a range
822c5bf
[camera/camera_web] Supporting camera stream on web
TecHaxter Mar 31, 2024
4ba03da
Roll Flutter from d12ba5c270d8 to 9d32f07e34c3 (3 revisions) (#6441)
engine-flutter-autoroll Apr 1, 2024
978d9c0
[camera_android_camerax] Move integration_test dependency to tests (#…
reidbaker Apr 1, 2024
f96a80a
[in_app_pur]: Bump org.json:json from 20231013 to 20240303 in /packag…
dependabot[bot] Apr 1, 2024
797c562
Manual roll Flutter from 9d32f07e34c3 to 7fa932be5c12 (19 revisions) …
engine-flutter-autoroll Apr 2, 2024
1b28f83
Roll Flutter from 7fa932be5c12 to a418568a6498 (5 revisions) (#6450)
engine-flutter-autoroll Apr 2, 2024
b28e00f
[various] Remove all traces of the `_ambiguate` workaround (#6449)
goderbauer Apr 2, 2024
483eadd
[in_app_purchase] Mostly convert to Android Pigeon (#6262)
stuartmorgan-g Apr 3, 2024
a2449ad
Roll Flutter from a418568a6498 to e868e2b3834f (34 revisions) (#6455)
engine-flutter-autoroll Apr 3, 2024
980417e
[Tool] Add ability to check dependencies independently of dev-depende…
reidbaker Apr 3, 2024
07a7bb8
[pigeon] Allow multi instance support with message channel name suffi…
tarrinneal Apr 3, 2024
96f11ff
Bump lewagon/wait-on-check-action from 1.3.3 to 1.3.4 (#6459)
dependabot[bot] Apr 4, 2024
0de3376
Roll Flutter from e868e2b3834f to ac2ca9347cf9 (25 revisions) (#6460)
engine-flutter-autoroll Apr 4, 2024
90cfcbf
Redistribute CODEOWNERS (#6457)
jmagman Apr 4, 2024
1ec2e34
Fix macos_platform_tests package build times out when built for all p…
LouiseHsu Apr 4, 2024
37e4d12
[video_player] Call `super.dispose` last in README example (#6051)
tp Apr 5, 2024
92b29a2
[camera] Camera with MediaSettings: platform implementations (federat…
PROGrand Apr 5, 2024
3014f73
Roll Flutter from ac2ca9347cf9 to 477ebd831c12 (32 revisions) (#6470)
engine-flutter-autoroll Apr 5, 2024
bcc4dfc
Roll Flutter from 477ebd831c12 to 98d23f709fec (16 revisions) (#6478)
engine-flutter-autoroll Apr 7, 2024
0ede02f
Add limit to image_picker_platform_interface (#6434)
pdenert Apr 7, 2024
4061085
Bump github/codeql-action from 3.24.9 to 3.24.10 (#6480)
dependabot[bot] Apr 8, 2024
0934981
[in_app_purchase] Convert Android data objects to Pigeon (#6453)
stuartmorgan-g Apr 8, 2024
8b1c605
[go_router] Fixes deep links with no path (#6447)
kforjan Apr 8, 2024
b4e28ff
[go_router_builder] Add `restorationScopeId` to `ShellRouteData` (#6238)
ValentinVignal Apr 8, 2024
61de89a
Roll Flutter from 98d23f709fec to 533d04d14df0 (12 revisions) (#6488)
engine-flutter-autoroll Apr 8, 2024
f79d296
[camera_android] Remove `TestUtils.java` (#6490)
gmackall Apr 8, 2024
ea7fdde
Release compileSdk changes (#6491)
bartekpacia Apr 9, 2024
b4223bd
Roll Flutter from 533d04d14df0 to 4967a94cd907 (12 revisions) (#6492)
engine-flutter-autoroll Apr 9, 2024
4540dd1
[in_app_purchase_android] Cleanup, create listener where it is used (…
reidbaker Apr 10, 2024
cae1327
Roll Flutter from 4967a94cd907 to 97cd47a02e60 (11 revisions) (#6497)
engine-flutter-autoroll Apr 10, 2024
5b0d714
[camerax] Shorten interval for releasing weak references to Dart-wrap…
camsim99 Apr 10, 2024
a97418a
[tool] Check for `test` and `flutter_test` in non-dev dependencies (#…
ekuleshov Apr 10, 2024
18bfc61
Update multiple packages to depend on versions with iOS privacy manif…
vbuberen Apr 11, 2024
6596d61
[packages] Set parallelizable to NO to reduce test flakiness in packa…
LouiseHsu Apr 11, 2024
4b1495f
Roll Flutter from 97cd47a02e60 to 557fbf5167f6 (22 revisions) (#6502)
engine-flutter-autoroll Apr 11, 2024
71ab378
Access current location using uri.path to support deep links (#6474)
AhmedLSayed9 Apr 11, 2024
caee446
[file_selector] Remove OCMock from iOS implementation (#6503)
stuartmorgan-g Apr 11, 2024
498d808
Roll Flutter from 557fbf5167f6 to 53cba24de3a0 (11 revisions) (#6509)
engine-flutter-autoroll Apr 12, 2024
9adf677
[video_player] Darwin implementation cleanup (#6507)
stuartmorgan-g Apr 12, 2024
edccc30
[Many] Bump to min minSdkVersion of 19 across all plugins (#6506)
gmackall Apr 12, 2024
3ed6c0e
Fix error in markdown parsing image dimensions (#6518)
collinjackson Apr 14, 2024
0e91be0
Update local_auth_android minSdkVersion to 19 (#6537)
stuartmorgan-g Apr 15, 2024
72d7a5f
Manual roll Flutter from 53cba24de3a0 to 2e748e8598b3 (19 revisions) …
engine-flutter-autoroll Apr 15, 2024
25cdac8
[url_launcher][web] Link should work when triggered by keyboard (#6505)
mdebbar Apr 15, 2024
e4e76ea
[image_picker] Adopt code excerpts in README (#5523)
mike-v2 Apr 15, 2024
059747f
[video_player] Calls `onDestroy` instead of `initialize` in onDetache…
0xZOne Apr 16, 2024
9e5e3c3
[CupertinoIcons] fix broken icons and vertical alignment, bump the ve…
LongCatIsLooong Apr 16, 2024
6af3d46
Bump github/codeql-action from 3.24.10 to 3.25.0 (#6545)
dependabot[bot] Apr 16, 2024
5d4a86d
[google_maps_flutter] update ios privacy manifest (#6511)
rrpadilla Apr 16, 2024
255cf56
[camera] Remove iOS thread-safe result class (#6498)
stuartmorgan-g Apr 16, 2024
fa6693a
[image_picker] Add limit parameter to pickMultiImage and pickMultiple…
pdenert Apr 16, 2024
84761b4
Manual roll Flutter from 2e748e8598b3 to 3882afbfa997 (16 revisions) …
engine-flutter-autoroll Apr 16, 2024
3370141
[google_maps_flutter] Update app-facing package iOS requirements (#6552)
stuartmorgan-g Apr 17, 2024
0dfcfbc
[in_app_purchase_platform_interface] Adds countryCode API (#6548)
reidbaker Apr 17, 2024
d56cfcd
[google_sign_in_ios] Upgrade GoogleSignIn iOS SDK to 7.1 (#6404)
jmagman Apr 17, 2024
d817df4
[in_app_purchase] Add countryCode implementation to android and store…
reidbaker Apr 17, 2024
7d7ac5f
[camera] Initial iOS Pigeon conversion (#6553)
stuartmorgan-g Apr 17, 2024
8636ace
[in_app_purchase] Add api to expose country code (#6540)
reidbaker Apr 17, 2024
f6d6e4c
[two_dimensional_scrollables] Refactor Spans for common use (#6550)
Piinks Apr 17, 2024
49f138f
[ci] Add Linux desktop support to Linux custom_package_tests (#6551)
stuartmorgan-g Apr 18, 2024
d3d665b
Bump github/codeql-action from 3.25.0 to 3.25.1 (#6562)
dependabot[bot] Apr 18, 2024
3cff2e1
Roll Flutter from 3882afbfa997 to fb110b98da15 (56 revisions) (#6565)
engine-flutter-autoroll Apr 18, 2024
bad79d1
[ci] Add more dev dependency checks, and fix errors (#6563)
stuartmorgan-g Apr 18, 2024
af8ff20
[flutter_markdown] Ensure customize nested bullet list style. (#6384)
Kurogoma4D Apr 19, 2024
3f155da
[camera] Convert iOS Obj-C->Dart calls to Pigeon (#6568)
stuartmorgan-g Apr 19, 2024
2ae4547
Roll Flutter (stable) from 300451adae58 to 54e66469a933 (1 revision) …
engine-flutter-autoroll Apr 19, 2024
f438f65
Roll Flutter from fb110b98da15 to 98685a099fdd (28 revisions) (#6577)
engine-flutter-autoroll Apr 19, 2024
4bf050b
[flutter_markdown] Custom fontfeature superscript (#5874)
dawidope Apr 19, 2024
be8cfd9
Roll Flutter from 98685a099fdd to 1a905d508de1 (30 revisions) (#6583)
engine-flutter-autoroll Apr 21, 2024
d927167
Bump actions/checkout from 4.1.2 to 4.1.3 (#6587)
dependabot[bot] Apr 22, 2024
88dce1d
[camera_web] Version and Changelog updated
TecHaxter Apr 22, 2024
bcea812
[camera_web] - integration test updated: mock videoElement initialize…
TecHaxter Apr 23, 2024
a3abdf4
Bump actions/upload-artifact from 4.3.1 to 4.3.2 (#6571)
dependabot[bot] Apr 22, 2024
d1aa1e6
[pointer_interceptor_web] Remove semantic tests. (#6580)
ditman Apr 22, 2024
a752fb6
Roll Flutter from 1a905d508de1 to 140edb988312 (5 revisions) (#6594)
engine-flutter-autoroll Apr 22, 2024
6b6442b
[image_picker] Fix If imageToScale is nil, the app will crash (#14668…
zeqinjie Apr 22, 2024
fd9db37
Bump actions/upload-artifact from 4.3.2 to 4.3.3 (#6598)
dependabot[bot] Apr 23, 2024
691dbee
Bump github/codeql-action from 3.25.1 to 3.25.2 (#6597)
dependabot[bot] Apr 23, 2024
d53d212
Roll Flutter from 140edb988312 to 77043bae1a5e (21 revisions) (#6599)
engine-flutter-autoroll Apr 23, 2024
64d8c8d
Bump legacy all_packages project AGP version to 7.0.0, Gradle version…
camsim99 Apr 23, 2024
4693c04
[in_app_purchase_android] Readme update for Alternative billing (#6578)
reidbaker Apr 23, 2024
1b09202
Reverts "Bump legacy all_packages project AGP version to 7.0.0, Gradl…
auto-submit[bot] Apr 24, 2024
8b91c0f
[go_router] Fixes an issue where route future does not complete when …
chunhtai Apr 24, 2024
9d5a4cb
[camera] Finish converting iOS to Pigeon (#6601)
stuartmorgan-g Apr 24, 2024
2f23d34
Roll Flutter from 77043bae1a5e to dba4f7747441 (30 revisions) (#6607)
engine-flutter-autoroll Apr 24, 2024
0f5e01a
Add CI steps to test iOS and macOS plugins with both CocoaPods and Sw…
vashworth Apr 24, 2024
0dce473
[go_router] Add `GoRouterState state` parameter to `GoRouterData.onEx…
ValentinVignal Apr 24, 2024
214cdaa
Bump actions/checkout from 4.1.3 to 4.1.4 (#6609)
dependabot[bot] Apr 25, 2024
b5a89c7
Roll Flutter from dba4f7747441 to 5d3bca4500b1 (17 revisions) (#6612)
engine-flutter-autoroll Apr 25, 2024
bbf6cd9
[go_router_builder] add support to go_router_builder for initializing…
satoyan Apr 25, 2024
aa59ca0
[go_router] Update redirect documentation example code for clarity (#…
elitree Apr 25, 2024
13c8f16
Bump github/codeql-action from 3.25.2 to 3.25.3 (#6615)
dependabot[bot] Apr 26, 2024
c5e3deb
Roll Flutter from 5d3bca4500b1 to 2e806700b928 (20 revisions) (#6616)
engine-flutter-autoroll Apr 26, 2024
e76da26
Roll Flutter from 2e806700b928 to f9933b6994e4 (17 revisions) (#6620)
engine-flutter-autoroll Apr 27, 2024
ad8eabf
Roll Flutter from f9933b6994e4 to db8c475cac11 (3 revisions) (#6622)
engine-flutter-autoroll Apr 29, 2024
8aa2564
[file_selector_android] Modifies `getDirectoryPath`, `openFile`, `ope…
camsim99 Apr 29, 2024
98c1474
[file_selector_android] Update `LICENSE` file to include newly added …
camsim99 Apr 29, 2024
4d6f86e
[go_router] Don't log if `hierarchicalLoggingEnabled` is `true` (#6019)
ValentinVignal Apr 29, 2024
6898e4c
[google_maps_flutter_android] Add marker clustering support (#6185)
jokerttu Apr 30, 2024
30ed60c
[google_maps_flutter_web] Add marker clustering support (#6187)
jokerttu Apr 30, 2024
2297a54
[image_picker] Update documentation to note that Photo Picker use is …
gmackall Apr 30, 2024
15f0413
[flutter_adaptive_scaffold] use `MediaQuery.sizeOf` instead of `Media…
waleedf112 Apr 30, 2024
54dcf2b
Roll Flutter from db8c475cac11 to b597dd24cb97 (23 revisions) (#6631)
engine-flutter-autoroll Apr 30, 2024
b2c2efc
[go_router_builder] Tweaks for latest analyzer-6.5.0 (#6632)
ditman Apr 30, 2024
3ad6d2c
Skip podspec Swift Search Path validation if only swift file is Packa…
vashworth Apr 30, 2024
01dab88
Roll Flutter from b597dd24cb97 to d33bb8fa5eb8 (7 revisions) (#6633)
engine-flutter-autoroll May 1, 2024
bde660e
[webview_flutter_android] Fixes iframe navigation with `onNavigationR…
petermnt May 1, 2024
9b966c3
Roll Flutter from d33bb8fa5eb8 to bf7191fd3884 (34 revisions) (#6637)
engine-flutter-autoroll May 2, 2024
97c47da
Skip podspec Swift Search Path validation if only swift file is Packa…
vashworth May 2, 2024
104bb6d
[in_app_purchase] implement countryCode correctly (#6636)
reidbaker May 2, 2024
15ceea1
Roll Flutter from bf7191fd3884 to f1037a01b796 (21 revisions) (#6641)
engine-flutter-autoroll May 3, 2024
540ad1c
Fix unnecessary toList/fromList calls during encode/decode process (#…
tarrinneal May 6, 2024
9f0ac50
[camera] MediaSettings parameter for createCameraWithSettings (#3586)
PROGrand May 6, 2024
4361e34
[camerax] Prevent using unsupported concurrent camera use cases (#6608)
camsim99 May 6, 2024
72dd009
Roll Flutter from f1037a01b796 to 04424e10fe28 (25 revisions) (#6674)
engine-flutter-autoroll May 6, 2024
e5ec7d6
[ci] Reduce the number of tasks in recipe CQ (#6673)
stuartmorgan-g May 6, 2024
28b24de
[camerax] Add empty implementation for `prepareForVideoRecording` not…
camsim99 May 6, 2024
69a2276
[file_selector] Add support for SPM (#6672)
stuartmorgan-g May 6, 2024
27e757e
[shared_preferences_foundation] Adds Swift Package Manager compatibil…
vashworth May 6, 2024
af59459
[camera] Ignore implementation imports outside of lib (#6191)
srawlins May 7, 2024
9ad4e0e
Roll Flutter from 04424e10fe28 to 7920a52dd568 (27 revisions) (#6683)
engine-flutter-autoroll May 7, 2024
c776141
[camera_web] camera service takeFrame with better exception handelling
TecHaxter May 8, 2024
6d73310
[camera_web] tested takeFrame camera service function
TecHaxter May 8, 2024
7244e7f
[camera_web] tested cameraFrameStream
TecHaxter May 8, 2024
f81859e
[go_router] guard context access in then clauses (#6685)
goderbauer May 7, 2024
2bc4b17
[path_provider] Add Swift Package Manager support (#6680)
stuartmorgan-g May 7, 2024
9ebbddb
[camera_web] platform version updated according to guidelines
TecHaxter May 8, 2024
1f7c009
[ios_platform_images] Add Swift Package Manager support (#6684)
loic-sharma May 8, 2024
4bf8c3a
[video_player_avfoundation] Adds Swift Package Manager compatibility …
vashworth May 8, 2024
896c3a7
[image_picker_ios] Adds Swift Package Manager compatibility to image_…
vashworth May 8, 2024
d13a28a
Reverts "[image_picker_ios] Adds Swift Package Manager compatibility …
auto-submit[bot] May 8, 2024
55ffb57
Temporarily add empty header files to video_player_avfoundation so in…
vashworth May 8, 2024
c8f30ad
[pointer_interceptor] Remove `implements` from app-facing package (#6…
bparrishMines May 9, 2024
329304f
[flutter_lints] Rev to 4.0.0; prepare for publishing (#6695)
goderbauer May 9, 2024
e837591
[image_picker_ios] Adds Swift Package Manager compatibility (#6696)
vashworth May 9, 2024
8723dbb
[go_router] Feat add route redirect shellroutes (#114559) (#6432)
VictorOhashi May 9, 2024
c2c1b4c
Roll Flutter from 00f40667c16a to 2bfb1b0e2f61 (9 revisions) (#6706)
engine-flutter-autoroll May 10, 2024
b27a9e7
[local_auth_darwin] Adds Swift Package Manager compatibility (#6708)
loic-sharma May 10, 2024
d25f50e
[quick_actions_android] Switch to `Compat` version of `ShortcutManage…
gmackall May 10, 2024
6d8913e
Update .gitignore for Swift Package Manager (#6705)
loic-sharma May 10, 2024
ad17ae4
[camerax] Make fixes required to swap camera_android_camerax for came…
camsim99 May 10, 2024
d61bb9e
[image_picker_android] - will fix crash on Android 12+ devices (#6691)
Mairramer May 10, 2024
d8be8e9
[Android][webview_flutter] Run integration tests on emulators running…
camsim99 May 10, 2024
fca79e8
[url_launcher] Add Swift Package Manager support (#6677)
stuartmorgan-g May 10, 2024
6d82423
[quick_actions] Add Swift Package Manager support (#6682)
stuartmorgan-g May 10, 2024
adf54b6
Roll Flutter from 2bfb1b0e2f61 to 2aa05c16509b (26 revisions) (#6713)
engine-flutter-autoroll May 11, 2024
bfcf568
Roll Flutter from 2aa05c16509b to 1dfb46e9c087 (3 revisions) (#6715)
engine-flutter-autoroll May 12, 2024
19d3f5a
[image_picker_ios] Make all headers public for SwiftPM to keep inline…
vashworth May 13, 2024
7d815a2
[camera] Change default Android implementation from `camera_android` …
camsim99 May 13, 2024
17ca862
Roll Flutter from 1dfb46e9c087 to 125543505d26 (6 revisions) (#6723)
engine-flutter-autoroll May 13, 2024
0cb67a7
[in_app_purchase] Update country code Android example (#6722)
stuartmorgan-g May 13, 2024
ca59c50
[go_router] Use the correct configuration to build the state passed t…
ValentinVignal May 14, 2024
08f6120
Roll Flutter from 125543505d26 to d2da1b280b51 (26 revisions) (#6729)
engine-flutter-autoroll May 14, 2024
9b27b16
[webview_flutter_wkwebview] Skip `withWeakReferenceTo` integration te…
bparrishMines May 14, 2024
c46230a
Roll Flutter (stable) from 54e66469a933 to 5dcb86f68f23 (1402 revisio…
engine-flutter-autoroll May 14, 2024
9056c1c
[image_picker_android] Refactor getting of paths from intent to singl…
gmackall May 14, 2024
387f02b
[in_app_purchase_storekit] migrate main plugin class to swift in prep…
LouiseHsu May 14, 2024
a3603f8
[webview_flutter_wkwebview] Fixes JSON.stringify() cannot serialize c…
LinXunFeng May 15, 2024
661fac2
Update the repo for the 3.22 stable release (#6730)
stuartmorgan-g May 15, 2024
56d62fd
Roll Flutter from d2da1b280b51 to 39651e84ea12 (18 revisions) (#6738)
engine-flutter-autoroll May 15, 2024
c7c5643
[webview_flutter] Skip "Video playback policy" drive tests (#6747)
vashworth May 16, 2024
22b559c
[pigeon][swift] Removes FlutterError in favor of PigeonError (#6611)
bc-lee May 16, 2024
c15efcf
Roll Flutter from 39651e84ea12 to 0d22d9101aac (23 revisions) (#6748)
engine-flutter-autoroll May 16, 2024
f55d614
[two_dimensional_scrollables] TreeView (#6592)
Piinks May 16, 2024
42f280a
[file_selector_ios, image_picker_ios] Remove Swift Package Support (#…
vashworth May 16, 2024
4806dd7
[camera_avfoundation] Revert camera example PRODUCT_BUNDLE_IDENTIFIER…
jmagman May 16, 2024
60a2124
[camera_android_camerax] update to latest stable camerax 1.3.3 (#6737)
hamdikahloun May 16, 2024
118bf36
[go_router_builder] Add test for `onExit` (#6614)
ValentinVignal May 16, 2024
dfc8121
Roll Flutter from 0d22d9101aac to 00425ef1be26 (14 revisions) (#6753)
engine-flutter-autoroll May 17, 2024
3128123
[go_router] Fixes issue that path parameters are not set when using t…
chunhtai May 17, 2024
7e557fd
Bump actions/checkout from 4.1.4 to 4.1.6 (#6751)
dependabot[bot] May 18, 2024
d534dc7
Roll Flutter from 00425ef1be26 to adf279f3080f (13 revisions) (#6761)
engine-flutter-autoroll May 19, 2024
cc18b86
Roll Flutter from adf279f3080f to 02a6c91e4d37 (8 revisions) (#6776)
engine-flutter-autoroll May 20, 2024
d01c3d3
[url_launcher]: Bump androidx.annotation:annotation from 1.7.1 to 1.8…
dependabot[bot] May 20, 2024
36a597f
[in_app_pur]: Bump androidx.annotation:annotation from 1.7.1 to 1.8.0…
dependabot[bot] May 20, 2024
2c77a04
[file_selector]: Bump androidx.annotation:annotation from 1.7.1 to 1.…
dependabot[bot] May 20, 2024
d2fcde3
Bump github/codeql-action from 3.25.3 to 3.25.6 (#6777)
dependabot[bot] May 21, 2024
5c54ffb
[local_auth] Remove use of OCMock (#6757)
stuartmorgan-g May 21, 2024
e4ff699
Roll Flutter from 02a6c91e4d37 to d02292dbc409 (22 revisions) (#6778)
engine-flutter-autoroll May 21, 2024
d84b5a9
[interactive_media_ads] Add SPM support (#6756)
stuartmorgan-g May 21, 2024
eeaf06e
[go_router] New feature improve debug full path (#6714)
hashirshoaeb May 21, 2024
1717f95
[in_app_purchase_android] Introduced new ReplacementMode for Android'…
vongrad May 22, 2024
98ac383
[interactive_media_ads]: Bump androidx.annotation:annotation from 1.5…
dependabot[bot] May 22, 2024
8f561da
Merge branch 'main' of github.com:flutter/packages
TecHaxter May 22, 2024
01594c4
style: removed late from late final_cameraFrameStreamController
TecHaxter May 23, 2024
7d83693
refactor: cameraFrameStream handles looping of animation frames
TecHaxter May 23, 2024
b3e8bc5
refactor: saperated _triggerAnimationFramesLoop from cameraFrameStrea…
TecHaxter May 23, 2024
327dcdf
chore: can use off screen canvas constant
TecHaxter May 26, 2024
ef44e13
chore: removed unnecessary string interpolation from videoElement sty…
TecHaxter May 26, 2024
6c60705
chore: reusing the OffscreenCanvas or CanvasElement depending on canU…
TecHaxter May 26, 2024
7eceff2
refactor: removed getCameraImageDataFromBytes to be used in-line
TecHaxter May 26, 2024
0697e0b
Merge branch 'flutter:main' into main
TecHaxter May 26, 2024
db792f4
fix: setup hasPropertyOffScreenCanvas in tests
TecHaxter May 26, 2024
3ff52cc
Merge branch 'main' of https://github.com/TecHaxter/flutter_packages
TecHaxter May 26, 2024
049b689
Merge branch 'main' into main
TecHaxter May 27, 2024
ae93584
Merge branch 'main' of github.com:flutter/packages
TecHaxter Jul 14, 2024
6a8c5db
chore: version and changelog updated
TecHaxter Jul 14, 2024
4db1863
docs: removed "Streaming of frames" from Missing implementation
TecHaxter Jul 14, 2024
56e5abb
Revert "docs: removed "Streaming of frames" from Missing implementation"
TecHaxter Jul 14, 2024
94d7b08
merge: branch 'main' flutter/packages + replaced dart:html import wit…
TecHaxter Oct 28, 2024
343d1d2
chore: version bump
TecHaxter Oct 28, 2024
fc1b999
Merge branch 'main' of github.com:flutter/packages
TecHaxter Oct 28, 2024
24731a0
Merge branch 'main' of https://github.com/TecHaxter/flutter_packages
TecHaxter Oct 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 41 additions & 40 deletions packages/camera/camera_web/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,113 +1,114 @@
## NEXT
## 0.3.6

* Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
- Supporting camera image stream on web.
- Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.

## 0.3.5

* Migrates to package:web to support WASM
* Updates minimum supported SDK version to Flutter 3.19/Dart 3.3.
- Migrates to package:web to support WASM
- Updates minimum supported SDK version to Flutter 3.19/Dart 3.3.

## 0.3.4

* Removes `maxVideoDuration`/`maxDuration`, as the feature was never exposed at
- Removes `maxVideoDuration`/`maxDuration`, as the feature was never exposed at
the app-facing package level, and is deprecated at the platform interface
level.
* Updates minimum supported SDK version to Flutter 3.16/Dart 3.2.
- Updates minimum supported SDK version to Flutter 3.16/Dart 3.2.

## 0.3.3

* Adds support to control video FPS and bitrate. See `CameraController.withSettings`.
* Updates minimum supported SDK version to Flutter 3.13/Dart 3.1.
- Adds support to control video FPS and bitrate. See `CameraController.withSettings`.
- Updates minimum supported SDK version to Flutter 3.13/Dart 3.1.

## 0.3.2+4

* Updates minimum supported SDK version to Flutter 3.10/Dart 3.0.
* Fixes new lint warnings.
- Updates minimum supported SDK version to Flutter 3.10/Dart 3.0.
- Fixes new lint warnings.

## 0.3.2+3

* Migrates to `dart:ui_web` APIs.
* Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0.
- Migrates to `dart:ui_web` APIs.
- Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0.

## 0.3.2+2

* Adds pub topics to package metadata.
* Updates minimum supported SDK version to Flutter 3.7/Dart 2.19.
- Adds pub topics to package metadata.
- Updates minimum supported SDK version to Flutter 3.7/Dart 2.19.

## 0.3.2+1

* Updates README to improve example of `Image` creation.
- Updates README to improve example of `Image` creation.

## 0.3.2

* Changes `availableCameras` to not ask for the microphone permission.
- Changes `availableCameras` to not ask for the microphone permission.

## 0.3.1+4

* Removes obsolete null checks on non-nullable values.
* Updates minimum supported SDK version to Flutter 3.3/Dart 2.18.
- Removes obsolete null checks on non-nullable values.
- Updates minimum supported SDK version to Flutter 3.3/Dart 2.18.

## 0.3.1+3

* Clarifies explanation of endorsement in README.
* Aligns Dart and Flutter SDK constraints.
- Clarifies explanation of endorsement in README.
- Aligns Dart and Flutter SDK constraints.

## 0.3.1+2

* Updates links for the merge of flutter/plugins into flutter/packages.
* Updates minimum Flutter version to 3.0.
- Updates links for the merge of flutter/plugins into flutter/packages.
- Updates minimum Flutter version to 3.0.

## 0.3.1+1

* Updates code for stricter lint checks.
- Updates code for stricter lint checks.

## 0.3.1

* Updates to latest camera platform interface, and fails if user attempts to use streaming with recording (since streaming is currently unsupported on web).
- Updates to latest camera platform interface, and fails if user attempts to use streaming with recording (since streaming is currently unsupported on web).

## 0.3.0+1

* Updates imports for `prefer_relative_imports`.
* Updates minimum Flutter version to 2.10.
* Fixes avoid_redundant_argument_values lint warnings and minor typos.
* Ignores unnecessary import warnings in preparation for [upcoming Flutter changes](https://github.com/flutter/flutter/pull/106316).
- Updates imports for `prefer_relative_imports`.
- Updates minimum Flutter version to 2.10.
- Fixes avoid_redundant_argument_values lint warnings and minor typos.
- Ignores unnecessary import warnings in preparation for [upcoming Flutter changes](https://github.com/flutter/flutter/pull/106316).

## 0.3.0

* **BREAKING CHANGE**: Renames error code `cameraPermission` to `CameraAccessDenied` to be consistent with other platforms.
- **BREAKING CHANGE**: Renames error code `cameraPermission` to `CameraAccessDenied` to be consistent with other platforms.

## 0.2.1+6

* Minor fixes for new analysis options.
- Minor fixes for new analysis options.

## 0.2.1+5

* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors
- Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors
lint warnings.

## 0.2.1+4

* Migrates from `ui.hash*` to `Object.hash*`.
* Updates minimum Flutter version for changes in 0.2.1+3.
- Migrates from `ui.hash*` to `Object.hash*`.
- Updates minimum Flutter version for changes in 0.2.1+3.

## 0.2.1+3

* Internal code cleanup for stricter analysis options.
- Internal code cleanup for stricter analysis options.

## 0.2.1+2

* Fixes cameraNotReadable error that prevented access to the camera on some Android devices when initializing a camera.
* Implemented support for new Dart SDKs with an async requestFullscreen API.
- Fixes cameraNotReadable error that prevented access to the camera on some Android devices when initializing a camera.
- Implemented support for new Dart SDKs with an async requestFullscreen API.

## 0.2.1+1

* Update usage documentation.
- Update usage documentation.

## 0.2.1

* Add video recording functionality.
* Fix cameraNotReadable error that prevented access to the camera on some Android devices.
- Add video recording functionality.
- Fix cameraNotReadable error that prevented access to the camera on some Android devices.

## 0.2.0

* Initial release, adapted from the Flutter [I/O Photobooth](https://photobooth.flutter.dev/) project.
- Initial release, adapted from the Flutter [I/O Photobooth](https://photobooth.flutter.dev/) project.
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ void main() {
).thenAnswer(
(_) => Future<MediaStream>.value(canvasElement.captureStream()));

when(
() => cameraService.hasPropertyOffScreenCanvas(),
).thenAnswer((_) => true);

final Camera camera = Camera(
textureId: cameraId,
cameraService: cameraService,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

// ignore_for_file: only_throw_errors

import 'dart:async';
import 'dart:js_interop';
import 'dart:js_interop_unsafe';

Expand Down Expand Up @@ -903,5 +904,69 @@ void main() {
);
});
});

group('camera image stream', () {
setUp(
() {
cameraService.jsUtil = jsUtil;
},
);
testWidgets(
'returns true if broswer has OffscreenCanvas '
'otherwise false',
(WidgetTester widgetTester) async {
when(
() => jsUtil.hasProperty(
window,
'OffscreenCanvas'.toJS,
),
).thenReturn(true);
final bool hasOffScreenCanvas =
cameraService.hasPropertyOffScreenCanvas();
expect(
hasOffScreenCanvas,
true,
);
when(
() => jsUtil.hasProperty(
window,
'OffscreenCanvas'.toJS,
),
).thenReturn(false);
final bool hasNotOffScreenCanvas =
cameraService.hasPropertyOffScreenCanvas();
expect(
hasNotOffScreenCanvas,
false,
);
},
);
testWidgets(
'returns Camera Image of Size '
'when videoElement is of Size',
(WidgetTester widgetTester) async {
const Size size = Size(10, 10);
final Completer<void> completer = Completer<void>();
final web.VideoElement videoElement =
getVideoElementWithBlankStream(size)
..onLoadedMetadata.listen((_) {
completer.complete();
})
..load();
await completer.future;
final CameraImageData cameraImageData = cameraService.takeFrame(
videoElement,
canUseOffscreenCanvas: true,
);
expect(
size,
Size(
cameraImageData.width.toDouble(),
cameraImageData.height.toDouble(),
),
);
},
);
});
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import 'dart:async';
import 'dart:js_interop';
import 'dart:js_interop_unsafe';
import 'dart:typed_data';
import 'dart:ui';

import 'package:async/async.dart';
Expand Down Expand Up @@ -61,6 +62,10 @@ void main() {
cameraId: any(named: 'cameraId'),
),
).thenAnswer((_) => Future<MediaStream>.value(mediaStream));

when(
() => cameraService.hasPropertyOffScreenCanvas(),
).thenAnswer((_) => true);
});

setUpAll(() {
Expand Down Expand Up @@ -1704,5 +1709,56 @@ void main() {
});
});
});
group('cameraFrameStream', () {
testWidgets(
'bytes is a multiple of 4',
(WidgetTester tester) async {
final VideoElement videoElement = getVideoElementWithBlankStream(
const Size(10, 10),
);

final Camera camera = Camera(
textureId: textureId,
cameraService: cameraService,
)..videoElement = videoElement;

when(
() => cameraService.takeFrame(
videoElement,
canUseOffscreenCanvas: camera.canUseOffscreenCanvas,
),
).thenAnswer(
(_) => CameraImageData(
format: const CameraImageFormat(
ImageFormatGroup.jpeg,
raw: '',
),
planes: <CameraImagePlane>[
CameraImagePlane(
bytes: Uint8List(32),
bytesPerRow: 0,
),
],
height: 10,
width: 10,
),
);

final CameraImageData cameraImageData =
await camera.cameraFrameStream().first;
expect(
cameraImageData,
equals(
isA<CameraImageData>().having(
(CameraImageData e) => e.planes.first.bytes.length % 4,
'bytes',
equals(0),
),
),
);
},
timeout: const Timeout(Duration(seconds: 2)),
);
});
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,10 @@ void main() {
(_) async => videoElement.captureStream(),
);

when(
() => cameraService.hasPropertyOffScreenCanvas(),
).thenAnswer((_) => true);

CameraPlatform.instance = CameraPlugin(
cameraService: cameraService,
)..window = window;
Expand Down
Loading