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

Add photo mode support #1

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open

Add photo mode support #1

wants to merge 27 commits into from

Conversation

MarcoSavaglia
Copy link

Adds CaptureMode setting to allow swapping between video and photo modes. This enables distinguishing between using different resolutions and aspect ratios for photos and videos.

@MarcoSavaglia MarcoSavaglia self-assigned this Jul 5, 2023
if (upper >= 10) {
// When in photo mode, the upper bound is 30 fps or the aspect ratio/resolution will be
// changed by the camera session.
if (upper >= 10 && (upper < 60 || captureMode != CaptureMode.photo)) {

Choose a reason for hiding this comment

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

Try as I might, I can't understand what's happening here. Maybe someone more familiar with the code would.

Copy link
Author

Choose a reason for hiding this comment

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

The auto exposure configuration doesn't seem to support 60 fps so we need to limit it here.

throws IndexOutOfBoundsException {
// Using max resolution for the preview is not a good use of system resources.
// Limiting the max resolution used for the preview to 1080p. is a good balance.

Choose a reason for hiding this comment

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

You say it's 1080p but in getBestAvailableCameraSizeForResolutionPreset, the high preset is 720p

Copy link
Author

Choose a reason for hiding this comment

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

Ah yep, my mistake there.

public static Size getBestAvailableCameraSizeForResolutionPreset(@NonNull ResolutionPreset preset, Size[] availableOutputSizes) {
List<Size> availableStandardOutputSizes = new ArrayList<>();
for (Size outputSize : availableOutputSizes) {
if ((Math.abs((double) outputSize.getWidth() / outputSize.getHeight() - (double)4 / 3) < 0.01)) {

Choose a reason for hiding this comment

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

Why do we need to select "standard" sizes, and what does that mean?

Copy link
Author

Choose a reason for hiding this comment

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

Standard refers to 4:3 as opposed to widescreen 16:9

@MarcoSavaglia MarcoSavaglia force-pushed the add-photo-mode-support branch from a8358a2 to 54fe930 Compare November 3, 2023 00:53
MarcoSavaglia pushed a commit that referenced this pull request Nov 3, 2023
flutter/flutter@f52fe4f...83134ac

2023-10-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2b3f9886fbf0 to 60e861dfe6b1 (1 revision) (flutter/flutter#136264)
2023-10-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from e354a13cfeab to 2b3f9886fbf0 (4 revisions) (flutter/flutter#136259)
2023-10-10 engine-flutter-autoroll@skia.org Roll Packages from 7de08ec to 4b483f2 (8 revisions) (flutter/flutter#136258)
2023-10-10 sokolovskyi.konstantin@gmail.com RenderAnnotatedRegion should dispose created layers. (flutter/flutter#136086)
2023-10-10 polinach@google.com TestClipPaintingContext should dispose ContainerLayer (flutter/flutter#135949)
2023-10-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9aa7cb057d22 to e354a13cfeab (1 revision) (flutter/flutter#136248)
2023-10-10 104349824+huycozy@users.noreply.github.com Migrate the "Non-speed related performance issues" issue template to Github forms (flutter/flutter#135130)
2023-10-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 171b4b26e68b to 9aa7cb057d22 (4 revisions) (flutter/flutter#136240)
2023-10-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from d094401acb99 to 171b4b26e68b (1 revision) (flutter/flutter#136235)
2023-10-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 92880e9847b3 to d094401acb99 (1 revision) (flutter/flutter#136233)
2023-10-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 51193f8f53eb to 92880e9847b3 (1 revision) (flutter/flutter#136232)
2023-10-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 8f2fa3ceb8a0 to 51193f8f53eb (4 revisions) (flutter/flutter#136228)
2023-10-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 73da593bac54 to 8f2fa3ceb8a0 (2 revisions) (flutter/flutter#136220)
2023-10-09 chillers@google.com [conductor] Remove PublishChannel and use MPA command (flutter/flutter#135884)
2023-10-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0966f62d7101 to 73da593bac54 (1 revision) (flutter/flutter#136216)
2023-10-09 41873024+droidbg@users.noreply.github.com [leak-tracking] Add leak tracking in test/painting #1 (flutter/flutter#136167)
2023-10-09 41873024+droidbg@users.noreply.github.com [leak-tracking] Cover testwidgets with leak tracking in test/gestures (flutter/flutter#136166)
2023-10-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 81e5bf29dee4 to 0966f62d7101 (1 revision) (flutter/flutter#136215)
2023-10-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 22ce5c6a45e2 to 81e5bf29dee4 (3 revisions) (flutter/flutter#136211)
2023-10-09 110993981+htoor3@users.noreply.github.com [web] Fix `page up` `page down` `home` `end` shortcut behavior on web (flutter/flutter#135454)
2023-10-09 gspencergoog@users.noreply.github.com Update `MediaQuery` documentation to highlight asynchronous nature of size (flutter/flutter#135719)
2023-10-09 47866232+chunhtai@users.noreply.github.com Reland "Adds a parent scope TraversalEdgeBehavior and fixes modal rou� (flutter/flutter#134554)
2023-10-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 429a242b0db6 to 22ce5c6a45e2 (1 revision) (flutter/flutter#136205)
2023-10-09 engine-flutter-autoroll@skia.org Roll Packages from e578a16 to 7de08ec (4 revisions) (flutter/flutter#136202)
2023-10-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 664f5e833871 to 429a242b0db6 (2 revisions) (flutter/flutter#136201)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC rmistry@google.com,stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
@MarcoSavaglia MarcoSavaglia force-pushed the add-photo-mode-support branch from cb14fcf to 076f40c Compare November 3, 2023 01:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants