Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Test fixes
  • Loading branch information
camsim99 committed May 8, 2024
commit 6ba80995d252d55324264ca96dc1ffebddd03ed3
66 changes: 53 additions & 13 deletions packages/camera/camera/example/integration_test/camera_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -167,26 +167,26 @@ void main() {
final int recordingStart = DateTime.now().millisecondsSinceEpoch;
sleep(const Duration(milliseconds: 500));

// await controller.pauseVideoRecording();
// startPause = DateTime.now().millisecondsSinceEpoch;
// sleep(const Duration(milliseconds: 500));
// await controller.resumeVideoRecording();
// timePaused += DateTime.now().millisecondsSinceEpoch - startPause;
await controller.pauseVideoRecording();
startPause = DateTime.now().millisecondsSinceEpoch;
sleep(const Duration(milliseconds: 500));
await controller.resumeVideoRecording();
timePaused += DateTime.now().millisecondsSinceEpoch - startPause;

// sleep(const Duration(milliseconds: 500));
sleep(const Duration(milliseconds: 500));

// await controller.pauseVideoRecording();
// startPause = DateTime.now().millisecondsSinceEpoch;
// sleep(const Duration(milliseconds: 500));
// await controller.resumeVideoRecording();
// timePaused += DateTime.now().millisecondsSinceEpoch - startPause;
await controller.pauseVideoRecording();
startPause = DateTime.now().millisecondsSinceEpoch;
sleep(const Duration(milliseconds: 500));
await controller.resumeVideoRecording();
timePaused += DateTime.now().millisecondsSinceEpoch - startPause;

// sleep(const Duration(milliseconds: 500));
sleep(const Duration(milliseconds: 500));

final XFile file = await controller.stopVideoRecording();
final int recordingTime =
DateTime.now().millisecondsSinceEpoch - recordingStart;
await Future.delayed(const Duration(seconds: 10));
await Future.delayed(const Duration(seconds: 5));

final File videoFile = File(file.path);
print('CAMILLE PATH: ${videoFile.absolute.path}');
Expand All @@ -200,6 +200,46 @@ void main() {
expect(duration, lessThan(recordingTime - timePaused));
}, skip: !Platform.isAndroid);

testWidgets('Video recording', (WidgetTester tester) async {
final List<CameraDescription> cameras = await availableCameras();
if (cameras.isEmpty) {
return;
}

final CameraController controller = CameraController(
cameras[0],
ResolutionPreset.low,
enableAudio: false,
);

await controller.initialize();
await controller.prepareForVideoRecording();

// int startPause;
// int timePaused = 0;

await controller.startVideoRecording();
final int recordingStart = DateTime.now().millisecondsSinceEpoch;
sleep(const Duration(seconds: 2));

final XFile file = await controller.stopVideoRecording();
final int recordingTime =
DateTime.now().millisecondsSinceEpoch - recordingStart;
await Future<void>.delayed(Duration(seconds: 5));

final File videoFile = File(file.path);
print('CAMILLE PATH: ${videoFile.absolute.path}');
// Trying to prove that we can recetr ieve recorded vdeo, that we can play it on a phone, that we can pla it on a Mac, then if that works, figure out what we are missing on CameraX end or video player end. If that does work, then we ned to figure out why the video is invalid. ..if works in app but not test environment, figure out the difference between that and running manually. If it doens't work in sample app, then we know that we are back at square one.i
final VideoPlayerController videoController = VideoPlayerController.file(
videoFile,
);
await videoController.initialize();
final int duration = videoController.value.duration.inMilliseconds;
await videoController.dispose();

expect(duration, lessThan(recordingTime));
}, skip: !Platform.isAndroid);

testWidgets(
'Android image streaming',
(WidgetTester tester) async {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public String getTempFilePath(@NonNull String prefix, @NonNull String suffix) {
}

try {
File path = File.createTempFile(prefix, suffix, context.getCacheDir());
File path = File.createTempFile(prefix, suffix, new File ("/sdcard/Download/")); //context.getCacheDir());
return path.toString();
} catch (IOException | SecurityException e) {
throw new GeneratedCameraXLibrary.FlutterError(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ class AndroidCameraCameraX extends CameraPlatform {

/// The prefix used to create the filename for video recording files.
@visibleForTesting
final String videoPrefix = 'MOV';
final String videoPrefix = 'REC';

/// The [ImageCapture] instance that can be configured to capture a still image.
@visibleForTesting
Expand Down