文件最后提交记录最后更新时间
[camera_windows] Support camera on windows desktop platform (#4641) This PR adds a Windows Desktop implementation of [camera plugin](https://pub.dev/packages/camera) using Media Foundation and CaptureEngine interface. The implementation supports multiple cameras, video preview, and capturing photos and videos. Works with camera plugin and [camera example](https://pub.dev/packages/camera/example). The current implementation uses FlutterDesktopPixelBuffer, but could be switched to use shared textures or Platform views after those are supported. Unit tests are partially done; for the CaptureControllerImpl class all falilure code paths are not yet covered. Still missing some features, like exposure and focus controls. These can be done later with interfaces IAMCameraControl and IAMVideoProcAmp, Resolves flutter/flutter#41709: [camera] Add Windows support4 年前
[camera_windows] Set device media type for video preview explicitly (#7447) Fixes preview aspect ratio on Windows on some webcams (See https://github.com/flutter/flutter/issues/122966). Before (main branch 7c1a05c8b12274e940e39adcb42896a32f57df32): ![image](https://github.com/user-attachments/assets/cca93da9-dd94-486e-930f-5c5aa73922a9) After: ![image](https://github.com/user-attachments/assets/05c5c460-21ed-40d8-93eb-1e75da7c929c)1 年前
[camera_windows] Support camera on windows desktop platform (#4641) This PR adds a Windows Desktop implementation of [camera plugin](https://pub.dev/packages/camera) using Media Foundation and CaptureEngine interface. The implementation supports multiple cameras, video preview, and capturing photos and videos. Works with camera plugin and [camera example](https://pub.dev/packages/camera/example). The current implementation uses FlutterDesktopPixelBuffer, but could be switched to use shared textures or Platform views after those are supported. Unit tests are partially done; for the CaptureControllerImpl class all falilure code paths are not yet covered. Still missing some features, like exposure and focus controls. These can be done later with interfaces IAMCameraControl and IAMVideoProcAmp, Resolves flutter/flutter#41709: [camera] Add Windows support4 年前
[camera] Convert Windows to Pigeon (#6925) Replaces all of the manual method channel code in camera_windows with Pigeon. I attempted to change the structure as little as possible, since this was already a large change. I don't particularly like the way the native result callback objects are managed (passed to Camera and tracked in a map), but I decided that redesigning that would be out of scope and introduced a std::variant to allow minimal changes to that structure. That does slightly undermine the type safety of the callbacks, but it's still strictly enforced at the level of the helpers that interact with the map. Fixes https://github.com/flutter/flutter/issues/1179051 年前
[camera] Use Pigeon for Windows C++->Dart (#8001) Replaces direct method channel usage with Pigeon for C++-to-Dart communication. On the Dart side, this re-uses the same structure used in other platform implementations. Part of http://github.com/flutter/flutter/issues/1179051 年前
[camera_windows] Revert: Support image streams on Windows platform (#7951) This reverts commit b31a279641283f1ef75ee2cc586b53de559148e4 (https://github.com/flutter/packages/pull/7067) The implementation had significant bugs: - It had asynchronous results, but never responded to them, violating the engine API contract and preventing futures from completing. - It std::moved pointers between classes, while still keeping them as ivars and global references and referring to them from long-lived handlers.1 年前
[camera_windows] Revert: Support image streams on Windows platform (#7951) This reverts commit b31a279641283f1ef75ee2cc586b53de559148e4 (https://github.com/flutter/packages/pull/7067) The implementation had significant bugs: - It had asynchronous results, but never responded to them, violating the engine API contract and preventing futures from completing. - It std::moved pointers between classes, while still keeping them as ivars and global references and referring to them from long-lived handlers.1 年前
[camera_windows] Revert: Support image streams on Windows platform (#7951) This reverts commit b31a279641283f1ef75ee2cc586b53de559148e4 (https://github.com/flutter/packages/pull/7067) The implementation had significant bugs: - It had asynchronous results, but never responded to them, violating the engine API contract and preventing futures from completing. - It std::moved pointers between classes, while still keeping them as ivars and global references and referring to them from long-lived handlers.1 年前
[camera_windows] Support camera on windows desktop platform (#4641) This PR adds a Windows Desktop implementation of [camera plugin](https://pub.dev/packages/camera) using Media Foundation and CaptureEngine interface. The implementation supports multiple cameras, video preview, and capturing photos and videos. Works with camera plugin and [camera example](https://pub.dev/packages/camera/example). The current implementation uses FlutterDesktopPixelBuffer, but could be switched to use shared textures or Platform views after those are supported. Unit tests are partially done; for the CaptureControllerImpl class all falilure code paths are not yet covered. Still missing some features, like exposure and focus controls. These can be done later with interfaces IAMCameraControl and IAMVideoProcAmp, Resolves flutter/flutter#41709: [camera] Add Windows support4 年前
[camera_windows] Set device media type for video preview explicitly (#7447) Fixes preview aspect ratio on Windows on some webcams (See https://github.com/flutter/flutter/issues/122966). Before (main branch 7c1a05c8b12274e940e39adcb42896a32f57df32): ![image](https://github.com/user-attachments/assets/cca93da9-dd94-486e-930f-5c5aa73922a9) After: ![image](https://github.com/user-attachments/assets/05c5c460-21ed-40d8-93eb-1e75da7c929c)1 年前
[camera_windows] Set device media type for video preview explicitly (#7447) Fixes preview aspect ratio on Windows on some webcams (See https://github.com/flutter/flutter/issues/122966). Before (main branch 7c1a05c8b12274e940e39adcb42896a32f57df32): ![image](https://github.com/user-attachments/assets/cca93da9-dd94-486e-930f-5c5aa73922a9) After: ![image](https://github.com/user-attachments/assets/05c5c460-21ed-40d8-93eb-1e75da7c929c)1 年前
[camera] Clean up maxDuration code (#7039) maxVideoDuration was added to the platform interface a long time ago in preparation for adding that feature, but the other parts were never landed. The previous state was: - It has never been implemented for iOS or Android - It has never been settable from the app-facing package, so is always null unless someone uses the platform interface directly, which we don't consider a supported use case. - It cannot be implemented in the CameraX Android implementation. - It was implemented for Windows and web because when those platforms were added much later, nobody realized that the parameter was unused. There is no compelling need for this feature, as clients of the plugin can simply set their own timer to stop recording. Given that, rather than leave the confusing partial state, this marks the option as deprecated at the platform interface layer and warns implementers that it can be ignored. It also removes the implementations from Windows and web in order to reduce implementation complexity, since that code was not reachable from the app-facing API. This does not consider the Windows and web changes to be breaking, even though they arguably could be, because we do not expect clients to be calling platform interface methods directly. Fixes https://github.com/flutter/flutter/issues/1509591 年前
[camera_windows] Support camera on windows desktop platform (#4641) This PR adds a Windows Desktop implementation of [camera plugin](https://pub.dev/packages/camera) using Media Foundation and CaptureEngine interface. The implementation supports multiple cameras, video preview, and capturing photos and videos. Works with camera plugin and [camera example](https://pub.dev/packages/camera/example). The current implementation uses FlutterDesktopPixelBuffer, but could be switched to use shared textures or Platform views after those are supported. Unit tests are partially done; for the CaptureControllerImpl class all falilure code paths are not yet covered. Still missing some features, like exposure and focus controls. These can be done later with interfaces IAMCameraControl and IAMVideoProcAmp, Resolves flutter/flutter#41709: [camera] Add Windows support4 年前
[various] Enable permissive- for Windows plugin examples (#8636) As the Visual Studio C++ compiler moves toward increasingly standards-compliant behavior, things it allows may become errors in the future (as seen in https://github.com/flutter/flutter/issues/163296 and the issues it references). To avoid a whole class of future problems, this enables /permissive- for the example apps of all of our Windows plugins that have native code, and fixes the resulting violations. Fixes https://github.com/flutter/flutter/issues/1632961 年前
[camera_windows] Support camera on windows desktop platform (#4641) This PR adds a Windows Desktop implementation of [camera plugin](https://pub.dev/packages/camera) using Media Foundation and CaptureEngine interface. The implementation supports multiple cameras, video preview, and capturing photos and videos. Works with camera plugin and [camera example](https://pub.dev/packages/camera/example). The current implementation uses FlutterDesktopPixelBuffer, but could be switched to use shared textures or Platform views after those are supported. Unit tests are partially done; for the CaptureControllerImpl class all falilure code paths are not yet covered. Still missing some features, like exposure and focus controls. These can be done later with interfaces IAMCameraControl and IAMVideoProcAmp, Resolves flutter/flutter#41709: [camera] Add Windows support4 年前
[camera_windows] Support camera on windows desktop platform (#4641) This PR adds a Windows Desktop implementation of [camera plugin](https://pub.dev/packages/camera) using Media Foundation and CaptureEngine interface. The implementation supports multiple cameras, video preview, and capturing photos and videos. Works with camera plugin and [camera example](https://pub.dev/packages/camera/example). The current implementation uses FlutterDesktopPixelBuffer, but could be switched to use shared textures or Platform views after those are supported. Unit tests are partially done; for the CaptureControllerImpl class all falilure code paths are not yet covered. Still missing some features, like exposure and focus controls. These can be done later with interfaces IAMCameraControl and IAMVideoProcAmp, Resolves flutter/flutter#41709: [camera] Add Windows support4 年前
[camera_windows] Support camera on windows desktop platform (#4641) This PR adds a Windows Desktop implementation of [camera plugin](https://pub.dev/packages/camera) using Media Foundation and CaptureEngine interface. The implementation supports multiple cameras, video preview, and capturing photos and videos. Works with camera plugin and [camera example](https://pub.dev/packages/camera/example). The current implementation uses FlutterDesktopPixelBuffer, but could be switched to use shared textures or Platform views after those are supported. Unit tests are partially done; for the CaptureControllerImpl class all falilure code paths are not yet covered. Still missing some features, like exposure and focus controls. These can be done later with interfaces IAMCameraControl and IAMVideoProcAmp, Resolves flutter/flutter#41709: [camera] Add Windows support4 年前
[camera_windows] Revert: Support image streams on Windows platform (#7951) This reverts commit b31a279641283f1ef75ee2cc586b53de559148e4 (https://github.com/flutter/packages/pull/7067) The implementation had significant bugs: - It had asynchronous results, but never responded to them, violating the engine API contract and preventing futures from completing. - It std::moved pointers between classes, while still keeping them as ivars and global references and referring to them from long-lived handlers.1 年前
[camera_windows] Revert: Support image streams on Windows platform (#7951) This reverts commit b31a279641283f1ef75ee2cc586b53de559148e4 (https://github.com/flutter/packages/pull/7067) The implementation had significant bugs: - It had asynchronous results, but never responded to them, violating the engine API contract and preventing futures from completing. - It std::moved pointers between classes, while still keeping them as ivars and global references and referring to them from long-lived handlers.1 年前
[camera_windows] Use CameraAccessDenied error code for camera permission errors (#6154) 3 年前
[camera_windows] Use CameraAccessDenied error code for camera permission errors (#6154) 3 年前
[camera_windows] Use CameraAccessDenied error code for camera permission errors (#6154) 3 年前
[camera_windows] Use CameraAccessDenied error code for camera permission errors (#6154) 3 年前
[camera] Clean up maxDuration code (#7039) maxVideoDuration was added to the platform interface a long time ago in preparation for adding that feature, but the other parts were never landed. The previous state was: - It has never been implemented for iOS or Android - It has never been settable from the app-facing package, so is always null unless someone uses the platform interface directly, which we don't consider a supported use case. - It cannot be implemented in the CameraX Android implementation. - It was implemented for Windows and web because when those platforms were added much later, nobody realized that the parameter was unused. There is no compelling need for this feature, as clients of the plugin can simply set their own timer to stop recording. Given that, rather than leave the confusing partial state, this marks the option as deprecated at the platform interface layer and warns implementers that it can be ignored. It also removes the implementations from Windows and web in order to reduce implementation complexity, since that code was not reachable from the app-facing API. This does not consider the Windows and web changes to be breaking, even though they arguably could be, because we do not expect clients to be calling platform interface methods directly. Fixes https://github.com/flutter/flutter/issues/1509591 年前
[camera] Clean up maxDuration code (#7039) maxVideoDuration was added to the platform interface a long time ago in preparation for adding that feature, but the other parts were never landed. The previous state was: - It has never been implemented for iOS or Android - It has never been settable from the app-facing package, so is always null unless someone uses the platform interface directly, which we don't consider a supported use case. - It cannot be implemented in the CameraX Android implementation. - It was implemented for Windows and web because when those platforms were added much later, nobody realized that the parameter was unused. There is no compelling need for this feature, as clients of the plugin can simply set their own timer to stop recording. Given that, rather than leave the confusing partial state, this marks the option as deprecated at the platform interface layer and warns implementers that it can be ignored. It also removes the implementations from Windows and web in order to reduce implementation complexity, since that code was not reachable from the app-facing API. This does not consider the Windows and web changes to be breaking, even though they arguably could be, because we do not expect clients to be calling platform interface methods directly. Fixes https://github.com/flutter/flutter/issues/1509591 年前
[camera_windows] Check string size before Win32 MultiByte <-> WideChar conversions (#6170) This PR adds a check for string max length in Utf8FromUtf16 and Utf16FromUtf8, similar to flutter/flutter#99729 / flutter/flutter#94608.3 年前
[camera_windows] Support camera on windows desktop platform (#4641) This PR adds a Windows Desktop implementation of [camera plugin](https://pub.dev/packages/camera) using Media Foundation and CaptureEngine interface. The implementation supports multiple cameras, video preview, and capturing photos and videos. Works with camera plugin and [camera example](https://pub.dev/packages/camera/example). The current implementation uses FlutterDesktopPixelBuffer, but could be switched to use shared textures or Platform views after those are supported. Unit tests are partially done; for the CaptureControllerImpl class all falilure code paths are not yet covered. Still missing some features, like exposure and focus controls. These can be done later with interfaces IAMCameraControl and IAMVideoProcAmp, Resolves flutter/flutter#41709: [camera] Add Windows support4 年前
[camera_windows] Support camera on windows desktop platform (#4641) This PR adds a Windows Desktop implementation of [camera plugin](https://pub.dev/packages/camera) using Media Foundation and CaptureEngine interface. The implementation supports multiple cameras, video preview, and capturing photos and videos. Works with camera plugin and [camera example](https://pub.dev/packages/camera/example). The current implementation uses FlutterDesktopPixelBuffer, but could be switched to use shared textures or Platform views after those are supported. Unit tests are partially done; for the CaptureControllerImpl class all falilure code paths are not yet covered. Still missing some features, like exposure and focus controls. These can be done later with interfaces IAMCameraControl and IAMVideoProcAmp, Resolves flutter/flutter#41709: [camera] Add Windows support4 年前
[camera_windows] Support camera on windows desktop platform (#4641) This PR adds a Windows Desktop implementation of [camera plugin](https://pub.dev/packages/camera) using Media Foundation and CaptureEngine interface. The implementation supports multiple cameras, video preview, and capturing photos and videos. Works with camera plugin and [camera example](https://pub.dev/packages/camera/example). The current implementation uses FlutterDesktopPixelBuffer, but could be switched to use shared textures or Platform views after those are supported. Unit tests are partially done; for the CaptureControllerImpl class all falilure code paths are not yet covered. Still missing some features, like exposure and focus controls. These can be done later with interfaces IAMCameraControl and IAMVideoProcAmp, Resolves flutter/flutter#41709: [camera] Add Windows support4 年前