Skip to content
This repository has been archived by the owner on Feb 22, 2023. It is now read-only.

[camera_web] Add initializeCamera implementation #4186

Merged
merged 7 commits into from
Jul 24, 2021
Merged

[camera_web] Add initializeCamera implementation #4186

merged 7 commits into from
Jul 24, 2021

Conversation

bselwe
Copy link
Contributor

@bselwe bselwe commented Jul 23, 2021

Adds initializeCamera implementation of the camera platform interface.

  • Added getVideoSize to Camera.
    • Returns a size of the camera video based on its first video track size.
  • Added initializeCamera and onCameraInitialized implementation.
    • Initializes and starts playing the camera stream.
    • Adds a CameraInitializedEvent to the camera events stream controller. The event is emitted on the onCameraInitialized stream and includes a camera id, video size, default exposure and focus modes (auto).
  • Replaced an HTTP stream with a blank canvas stream in tests that use a video element. In this way, tests are not reliant on the network and the video size can be easily adjusted.

Part of flutter/flutter#45297.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the relevant style guides and ran the auto-formatter. (Note that unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
  • I signed the CLA.
  • The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
  • I updated CHANGELOG.md to add a description of the change.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
  • All existing and new tests are passing.

@bselwe
Copy link
Contributor Author

bselwe commented Jul 23, 2021

@@ -64,6 +64,7 @@ abstract class CameraPlatform extends PlatformInterface {
/// [imageFormatGroup] is used to specify the image formatting used.
/// On Android this defaults to ImageFormat.YUV_420_888 and applies only to the imageStream.
/// On iOS this defaults to kCVPixelFormatType_32BGRA.
/// On Web this parameter is currently not supported.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ditman Should this be reverted for now?

Copy link
Member

@ditman ditman Jul 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, let's add a pass documenting all the web stuff in platform_interface later on, since we need to publish a new version of the platform_interface so the new docs show up in pub.

@google-cla

This comment has been minimized.

@google-cla google-cla bot added cla: no and removed cla: yes labels Jul 23, 2021
Copy link
Member

@ditman ditman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me. Let's go!

..width = 10
..height = 10;

final videoElement = getVideoElementWithBlankStream(Size(10, 10));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heck yes, this is great!

@ditman

This comment has been minimized.

@google-cla google-cla bot added cla: yes and removed cla: no labels Jul 23, 2021
@ditman ditman added the waiting for tree to go green (Use "autosubmit") This PR is approved and tested, but waiting for the tree to be green to land. label Jul 23, 2021
@fluttergithubbot fluttergithubbot merged commit 400fa20 into flutter:master Jul 24, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 27, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 27, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 27, 2021
fotiDim pushed a commit to fotiDim/plugins that referenced this pull request Sep 13, 2021
amantoux pushed a commit to amantoux/plugins that referenced this pull request Sep 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes p: camera platform-web waiting for tree to go green (Use "autosubmit") This PR is approved and tested, but waiting for the tree to be green to land.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants