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

[camera] Fix crash on stopVideoRecording for Android 6 #1789

Closed
wants to merge 1 commit into from

Conversation

giovanni-orciuolo
Copy link

@giovanni-orciuolo giovanni-orciuolo commented Jul 2, 2019

Description

Apparently, only on Android 6 (sdk version 23), if you don't call closeCaptureSession() before startPreview() on stopVideoRecording, the entire thing will throw a CameraAccessException with message "java.lang.IllegalStateException: swapBuffers: EGL error: 0x300d"

Calling closeCaptureSession() there will help solve this problem, but it won't solve it entirely, unfortunately... it's still something though. You also have to keep in mind that calling closeCaptureSession() will make the camera freeze so you need to init it again

Related Issues

A lot actually, don't have time to paste all of them here

Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
  • All existing and new tests are passing.
  • I updated/added relevant documentation (doc comments with ///).
  • The analyzer (flutter analyze) does not report any problems on my PR.
  • I read and followed the Flutter Style Guide.
  • The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
  • 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 signed the CLA.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Does your PR require plugin users to manually update their apps to accommodate your change?

  • Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
  • No, this is not a breaking change.

Apparently, only on Android 6 (sdk version 23), if you don't call closeCaptureSession() before startPreview() on stopVideoRecording, the entire thing will throw a CameraAccessException with message "java.lang.IllegalStateException: swapBuffers: EGL error: 0x300d"
@googlebot
Copy link

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

ℹ️ Googlers: Go here for more info.

@giovanni-orciuolo
Copy link
Author

I signed it!

@googlebot
Copy link

CLAs look good, thanks!

ℹ️ Googlers: Go here for more info.

@googlebot googlebot added cla: yes and removed cla: no labels Jul 2, 2019
@giovanni-orciuolo giovanni-orciuolo changed the title Fix crash on stopVideoRecording for Android 6 [camera] Fix crash on stopVideoRecording for Android 6 Jul 2, 2019
@bparrishMines
Copy link
Contributor

bparrishMines commented Jul 11, 2019

Hi @Doublehub, do you know what is causing the crash? closeCaptureSession(); is called at the beginning of startPreview(). So the crash would be from MediaRecorder.stop(); or MediaRecorder.reset();

@giovanni-orciuolo
Copy link
Author

I didn't investigate further into this problem because I don't have enough time to do that, but I think that the crash is caused by MediaRecorder.stop();

@bparrishMines
Copy link
Contributor

Since this is only reproducible on Android 6 (sdk version 23) and we are currently working on a refactor of this plugin that will erase this code soon I'm labeling it with "backlog" and we will prioritize according to the PR's priority; initial PR review policy.

@giovanni-orciuolo
Copy link
Author

Since this is only reproducible on Android 6 (sdk version 23) and we are currently working on a refactor of this plugin that will erase this code soon I'm labeling it with "backlog" and we will prioritize according to the PR's priority; initial PR review policy.

Ok, thanks

@alexviquez
Copy link

alexviquez commented Nov 9, 2019

Hi @Doublehub i got the same issue as you, on android 5 - 6 Exactly on Samsung J106M the phone sometimes throws the same exception as you describe but is not a complete crash, just the camera freeze and cant save the video, I put the camera library pointing to your repo but stills fail when stop video, do you have some information about this, it can help me to much thank you!

@mklim mklim removed their request for review February 14, 2020 22:13
@mvanbeusekom
Copy link
Contributor

Duplicate of #3336

@mvanbeusekom mvanbeusekom marked this as a duplicate of #3336 Dec 31, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
5 participants