Skip to content

android_camerax plugin returns .temp extension for recorded video #148335

Closed
flutter/packages
#10273

Description

@ekuleshov

Steps to reproduce

  1. Launch example app from the camerax module
  2. Start video recording
  3. Stop video recording and observe extension of the reported saved file name.

Expected results

The file returned from the stop video recording method should have a file extension corresponding to the saved file type. E.g. .mp4, .jpg etc.

Actual results

Plugin saves recorded file with the .temp extension which does not correspond to the actual media type.

Code sample

Code sample
example app from the camerax module

Screenshots or Video

N/A

Logs

N/A

Flutter Doctor output

N/A

Activity

  1. darshankawar commented on May 15, 2024

    @darshankawar
    Member

    Thanks for the report. Using https://github.com/flutter/packages/tree/main/packages/camera/camera_android_camerax/example and running on S10, I was able to observe that the recording link that gets saved with extension .temp.

    stable, master flutter doctor -v
    [!] Flutter (Channel stable, 3.22.0, on macOS 12.2.1 21D62 darwin-x64, locale
        en-GB)
        • Flutter version 3.22.0 on channel stable at
          /Users/dhs/documents/fluttersdk/flutter
        ! Warning: `flutter` on your path resolves to
          /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
          your current Flutter SDK checkout at
          /Users/dhs/documents/fluttersdk/flutter. Consider adding
          /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
        ! Warning: `dart` on your path resolves to
          /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
          current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
          Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
          of your path.
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision 5dcb86f68f (5 days ago), 2024-05-09 07:39:20 -0500
        • Engine revision f6344b75dc
        • Dart version 3.4.0
        • DevTools version 2.34.3
        • If those were intentional, you can disregard the above warnings; however
          it is recommended to use "git" directly to perform update checks and
          upgrades.
    
    [!] Xcode - develop for iOS and macOS (Xcode 12.3)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        ! Flutter recommends a minimum Xcode version of 13.
          Download the latest version or update via the Mac App Store.
        • CocoaPods version 1.11.2
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] VS Code (version 1.62.0)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.21.0
    
    [✓] Connected device (5 available)
        • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
        • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
          ios            • iOS 14.4.1 18D61
        • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
          ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
        • macOS (desktop)            • macos                                    •
          darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
        • Chrome (web)               • chrome                                   •
          web-javascript • Google Chrome 98.0.4758.80
    
    [✓] HTTP Host Availability
        • All required HTTP hosts are available
    
    ! Doctor found issues in 1 category.
    
    [!] Flutter (Channel master, 3.22.0-30.0.pre.11, on macOS 12.2.1 21D62
        darwin-x64, locale en-GB)
        • Flutter version 3.22.0-30.0.pre.11 on channel master at
          /Users/dhs/documents/fluttersdk/flutter
        ! Warning: `flutter` on your path resolves to
          /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
          your current Flutter SDK checkout at
          /Users/dhs/documents/fluttersdk/flutter. Consider adding
          /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
        ! Warning: `dart` on your path resolves to
          /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
          current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
          Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
          of your path.
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision c90e18c6f5 (2 hours ago), 2024-05-09 20:32:11 -0700
        • Engine revision c0917b14fc
        • Dart version 3.5.0 (build 3.5.0-138.0.dev)
        • DevTools version 2.36.0-dev.5
        • If those were intentional, you can disregard the above warnings; however
          it is recommended to use "git" directly to perform update checks and
          upgrades.
    
    [!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
        • Android SDK at /Users/dhs/Library/Android/sdk
        ✗ cmdline-tools component is missing
          Run `path/to/sdkmanager --install "cmdline-tools;latest"`
          See https://developer.android.com/studio/command-line for more details.
        ✗ Android license status unknown.
          Run `flutter doctor --android-licenses` to accept the SDK licenses.
          See https://flutter.dev/docs/get-started/install/macos#android-setup for
          more details.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Build 13C100
        • CocoaPods version 1.11.2
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
        • IntelliJ at /Applications/IntelliJ IDEA.app
        • Flutter plugin version 65.1.4
        • Dart plugin version 213.7228
    
    [✓] VS Code (version 1.62.0)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.29.0
    
    [✓] Connected device (3 available)
        • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
          • iOS 15.3.1 19D52
        • macOS (desktop)           • macos                                    •
          darwin-x64     • macOS 12.2.1 21D62 darwin-x64
        • Chrome (web)              • chrome                                   •
          web-javascript • Google Chrome 109.0.5414.119
    
    [✓] Network resources
        • All expected network resources are available.
    
    ! Doctor found issues in 1 category.
          
    [!] Xcode - develop for iOS and macOS (Xcode 12.3)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        ! Flutter recommends a minimum Xcode version of 13.
          Download the latest version or update via the Mac App Store.
        • CocoaPods version 1.11.2
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] VS Code (version 1.62.0)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.21.0
    
    [✓] Connected device (5 available)
        • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
        • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
          ios            • iOS 14.4.1 18D61
        • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
          ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
        • macOS (desktop)            • macos                                    •
          darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
        • Chrome (web)               • chrome                                   •
          web-javascript • Google Chrome 98.0.4758.80
    
    [✓] HTTP Host Availability
        • All required HTTP hosts are available
    
    ! Doctor found issues in 1 category.
    
    
    
    
  2. added
    platform-androidAndroid applications specifically
    packageflutter/packages repository. See also p: labels.
    has reproducible stepsThe issue has been confirmed reproducible and is ready to work on
    team-androidOwned by Android platform team
    and removed
    in triagePresently being triaged by the triage team
    on May 15, 2024
  3. ekuleshov commented on May 15, 2024

    @ekuleshov
    Author

    I should also say that this is a change of behavior from the old android camera plugin. And generally it is a breaking change. Please raise severity of this issue.

  4. added
    P1High-priority issues at the top of the work list
    triaged-androidTriaged by Android platform team
    on May 16, 2024
  5. self-assigned this
    on May 16, 2024
  6. wdcs-dimilkalathiya commented on Jun 6, 2024

    @wdcs-dimilkalathiya

    This issue is breaking our current implementation is there any update regarding this? we have temporarily downgraded plugin and it works for now.

    I would like to know if there is workaround to this issue while using android_camerax

  7. AlexV525 commented on Jun 22, 2024

    @AlexV525
    Member
  8. 35 remaining items

  9. ekuleshov commented on Aug 29, 2025

    @ekuleshov
    Author

    I guess assuming mp4 may work in most cases... Though that isn't that far off from checking the actual file type and renaming a returned/completed file with the proper extension for that type.

    The statement about video file saved with an incorrect .mp4 extension being playable may not hold true on the Flutter side of things and there are more things that could be done with that vide besides playing it.

  10. camsim99 commented on Aug 29, 2025

    @camsim99
    Contributor

    @ekuleshov Sure but aren't you saying the only way to do that is for "FileProvider [to be] configured in the app"?

    The statement about video file saved with an incorrect .mp4 extension being playable may not hold true on the Flutter side of things and there are more things that could be done with that vide besides playing it.

    Also, can you elaborate on this? Why would this hold true for Android and not Flutter?

  11. ekuleshov commented on Aug 29, 2025

    @ekuleshov
    Author

    @ekuleshov Sure but aren't you saying the only way to do that is for "FileProvider [to be] configured in the app"?

    Probably, if its done in the Android code. But can be also done on the Dart side of things.

    The statement about video file saved with an incorrect .mp4 extension being playable may not hold true on the Flutter side of things and there are more things that could be done with that vide besides playing it.

    Also, can you elaborate on this? Why would this hold true for Android and not Flutter?

    Flutter is multi-platform and potentially file captured on Android could be played or processed/decoded somewhere else (e.g. using 3rd party non-Android-only video decoders, e.g. vlc, ffmpeg, etc). Even Flutter plugins running on Android that aren't using ExoPlayer for playing videos may not be able to play files saved with an incorrect extension. Or they would have to run their own file type detection in order to be able to do correct video decoding.

  12. moved this from [Non-blocking] Report upstream to [Blocking] Easy to delegate in Deprecating camera_androidon Sep 29, 2025
  13. moved this from [Blocking] Easy to delegate to In Progress in Deprecating camera_androidon Oct 21, 2025
  14. camsim99 commented on Oct 22, 2025

    @camsim99
    Contributor

    Put up flutter/packages#10273 to change the format to .mp4 for now and resolve this issue. I explain there why I think this is a reasonable change even if it is not the long term solution. I will take feedback from reviewers!

  15. added
    r: fixedIssue is closed as already fixed in a newer version
    on Oct 27, 2025
  16. github-actions commented on Nov 10, 2025

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  17. locked as resolved and limited conversation to collaborators on Nov 10, 2025
  18. moved this from In Progress to Done in Deprecating camera_androidon Nov 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work listfound in release: 3.22Found to occur in 3.22has reproducible stepsThe issue has been confirmed reproducible and is ready to work onp: cameraThe camera pluginpackageflutter/packages repository. See also p: labels.platform-androidAndroid applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-androidOwned by Android platform teamtriaged-androidTriaged by Android platform team

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions