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

[video_player] Fixed HLS Streams on iOS #6

Merged
merged 288 commits into from Mar 8, 2021
Merged

[video_player] Fixed HLS Streams on iOS #6

merged 288 commits into from Mar 8, 2021

Conversation

do4Mother
Copy link

Description

Replace this paragraph with a description of what this PR is doing. If you're modifying existing behavior, describe the existing behavior, how this PR is changing it, and what motivated the change.

Related Issues

Replace this paragraph with a list of issues related to this PR from the issue database. Indicate, which of these issues are resolved or fixed by this PR. Note that you'll have to prefix the issue numbers with flutter/flutter#.

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.

Chris Yang and others added 30 commits December 17, 2020 18:16
…elled (flutter#3303)

Set networkCallback back to null when event stream is cancelled
* Move camera to camera/camera

* Fix relative path after move

* First suggestion for camera platform interface

* Remove test coverage folder

* Update the version to 1.0.0

* Remove redundant analysis overrides

* Renamed onLatestImageAvailableHandler definition

* Split CameraEvents into separate streams

* Updated platform interface to have recording methods return XFile instances.

* Update documentation and unit tests to match platform interface changes

* Make file input optional for recording methods in platform interface. Update docs.

* Add missing full stop in docs.

* Run dartfmt. Wrapped docs after max 80 cols. Added missing full stop.

* Implemented & tested first parts of method channel implementation

* Remove unused EventChannelMock class

* Add missing unit tests

* Add availableCameras to method channel implementation

* Updated platform interface

* Update packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Added placeholders in default method channel implementation

* Add missing implementations to default method channel implementation

* Fix formatting

* Fix PR feedback

* Add unit test for availableCameras

* Expand availableCameras unit test. Added unit test for takePicture.

* Add unit test for startVideoRecording

* Add unit test for prepareForVideoRecording

* Add unit test for stopVideoRecording

* Add unit test for pauseVideoRecording

* Add unit test for buildView

* Remove TODO comment

* Update packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* WIP: Dart and Android implementation

* Have resolution stream replay last value on subscription. Replace stream_transform with rxdart.

* Added reverse method channel to replace event channel. Updated initialise and takePicture implementations for android. WIP implementation for startVideoRecording

* Fixed example app for Android. Removed isRecordingVideo and isStreamingImages from buildView method.

* iOS implementation: Removed standard event channel. Added reverse method channel. Updated initialize method. Added resolution changed event. Updated error reporting to use new method channel.

* Added some first tests for camera/camera

* Started splitting initialize method

* More tests and some feedback

* Finish splitting up initialize for iOS

* Update unit tests

* Remove unused listener in plugin

* Fix takePicture method on iOS

* Fix video recording on iOS. Updated platform interface.

* Update unit tests

* Update error handling of video methods in iOS code. Make iOS code more consistent.

* Split initialize method on Android

* Updated startVideoRecording documentation

* Make sure file is returned by stopVideoRecording

* Change cast

* Use correct event-type after initializing

* Fix DartMessenger unit-tests

* Fix formatting

* Fixed tests, formatting and analysis warnings

* Added missing documentation public APIs

* Added missing license to Dart files

* Fix formatting issues

* Updated CHANGELOG and version

* Added more tests

* Formatted code

* Added additional unit-tests to platform_interface

* Fix formatting issues

* Re-added the CameraPreview widget

* Refactored CameraException not to use

* Use import/export instead of part implementation

* fixed formatting

* Resolved additional feedback

* Resolved additional feedback

* Flash WIP

* Implement flash modes for Android

* Update dependency to git repo

* Add missing PictureCaptureRequest class

* Add PR feedback

* Move enums out of Camera.java

* Expanded platform interface so support setting flash mode

* Formatted dart code

* Manually serialize flash mode enum rather than relying on stringification.

* Add default to flash mode serialization

* Fix for unit tests and reformatting

* Fixed CHANGELOG and remove redundant iOS files

* Expose FlashMode through camera package

* Add reqeusted unit tests

* Clean up new tests

* Add unit tests for Android implementation

* Update platform interface dependency to point to pub.dev release.

Co-authored-by: Maurits van Beusekom <maurits@baseflow.com>
Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>
Co-authored-by: daniel <daniel.roek@gmail.com>
* Refactored and tested zoom on Android

* Fix merge conflict
* Added torch mode functionality for Android and iOS.

* Format objective c code
…r#3367)

* Wait pre capture to finish

* Add autofocus stage to capture

* Fixed autofocus stage

* Make sure torch is turned off

* Format & structure improvements

* Update changelog and pubspec

* Update packages/camera/camera/android/src/main/java/io/flutter/plugins/camera/Camera.java

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera/android/src/main/java/io/flutter/plugins/camera/PictureCaptureRequest.java

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera/CHANGELOG.md

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera/pubspec.yaml

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Remove unnecessary import.

* Updated unit tests

Co-authored-by: Maurits van Beusekom <maurits@baseflow.com>
Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>
* Fixed video recording

* Update changelog and pubspec version

* Update packages/camera/camera/CHANGELOG.md

Co-authored-by: Maurits van Beusekom <maurits@baseflow.com>

Co-authored-by: Maurits van Beusekom <maurits@baseflow.com>
* Added maxVideoDuration to startVideoRecording

* updated documentation

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* updated documentation

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Fixed long line in docs

* Formatting

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>
…g auto exposure. (flutter#3345)

* Added platform interface methods for setting auto exposure.

* Added platform interface methods for setting auto exposure.

* Remove workspace files
…re. (flutter#3346)

* Added platform interface methods for setting auto exposure.

* Added platform interface methods for setting auto exposure.

* Remove workspace files

* Added auto exposure implementations for Android and iOS

* iOS fix for setting the exposure point

* Removed unnecessary check

* Update platform interface dependency

* Implement PR feedback

* Restore test

* Small improvements for exposure point resetting
…ix an Android 6 crash (flutter#3336)

Co-authored-by: Maurits van Beusekom <maurits@baseflow.com>
…tter#3364)

* Added imageFormatGroup to initialize

* Apply suggestions from code review

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Added period to sentence

* Moved ImageFormatGroup to platform_interface; Added extension to convert ImageFormatGroup to name; Changed int to ImageFormatGroup for initializeCamera

* Fixed test

* Separated Android and iOS in name extension

* Clarified returns on name extension

* Export image_format_group.dart in types.dart

* Changed enum values to lowercase

* Added ImageFormatGroup test

* Fixed formatting

* Removed target platform switch.

* Fixed formatting

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>
* Fixed stale images in imageStream subscriptions

* Implemented feedback

* Fixed format exception

* added null-check for imageStreamReader

* Removed setOnImageAvailableListener from onCancel

* fixed formatting
…flutter#3383)

* Refactured Camera and fix issue front facing camera

* Update FPS range on Android to have correct brightness

* Formatted files

* Fix version conflict
…g auto focus. (flutter#3369)

* Added platform interface methods for setting auto exposure.

* Added platform interface methods for setting auto exposure.

* Remove workspace files

* Added auto exposure implementations for Android and iOS

* Added platform interface methods for managing auto focus.

* Formatted code

* Export focus mode

* Update platform interface for changes to autofocus methods

* Revert "Update platform interface for changes to autofocus methods"

This reverts commit bdeed1d.

* iOS fix for setting the exposure point

* Removed unnecessary check

* Updated changelog and pubspec.yaml

* Update platform interface dependency

* Implement PR feedback

* Restore test

* Revert test change

* Update camera pubspec

* Update platform interface to prevent breaking changes with current master

Co-authored-by: Maurits van Beusekom <maurits@baseflow.com>
…g capture orientation. (flutter#3389)

* Expand platform interface to support reporting device orientation

* Switch to flutter DeviceOrientation enum

* Add interface methods for (un)locking the capture orientation.

* Update capture orientation interfaces and add unit tests.

* Made device orientation mandatory for locking capture orientation in the platform interface.

* Update comment

* Update comment.

* Update changelog and pubspec version

* Update packages/camera/camera_platform_interface/lib/src/events/device_event.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera_platform_interface/lib/src/events/device_event.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera_platform_interface/lib/src/events/device_event.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera_platform_interface/lib/src/events/device_event.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

* Update packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>

Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl>
Co-authored-by: Maurits van Beusekom <maurits@baseflow.com>
* set useAutoFocus to true by default

there's no way to set useAutoFocus to `true` and it is `false` by default so the auto focus is not working.

* Update pubspec.yaml

* Update CHANGELOG.md
ditman and others added 28 commits February 23, 2021 15:10
…sfully. (flutter#3475)

* Update FLTURLLauncherPlugin.m

Update result to `True` when the url was loaded successfully.

* Update pubspec.yaml

* Update CHANGELOG.md

* Undo the re-addition of pre-release changelogs.

Co-authored-by: Ben Li <libe@google.com>
Co-authored-by: stuartmorgan <stuart.morgan@gmail.com>
Co-authored-by: David Iglesias Teixeira <ditman@gmail.com>
Without this, the dummy ("interface") XFile implementation of these properties has different nullability than the others, and the analyzer doesn't match what the runtime actually sees.
* Stable null safety release camera_platform_interface

* Update minimum plugin_platform_interface version

* Update version of cross_file to 0.3.1
Migrates the app-facing package to null safety. Includes replacing Mockito with a custom fake/mock.

Fixes an issue where the example didn't handle dialogs being canceled, which was highlighted by the NNBD migration. (Previously, they would cause null assertions at runtime, which wasn't noticed during development. NNBD for the win!)

Fixes flutter/flutter#75235
`io.flutter.embedded_views_preview` is not required since version `1.0.0`, so doesn't need to be in the example.
The action won't work on the simulator works on physical iOS device which was not mentioned here so it was added

Co-authored-by: Michael Klimushyn <mklim@google.com>
Co-authored-by: Stuart Morgan <stuartmorgan@google.com>
…lutter#3642)

Migrates to NNBD.
Replaces Mockito-based fakes with test's Fake.
@do4Mother do4Mother changed the title fix issue cant stream live video on iOS [video_player] Fixed HLS Streams on iOS Mar 8, 2021
@tomykho tomykho merged commit fd58665 into tomykho:master Mar 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet