arthenica / ffmpeg-kit

FFmpeg Kit for applications. Supports Android, Flutter, iOS, Linux, macOS, React Native and tvOS. Supersedes MobileFFmpeg, flutter_ffmpeg and react-native-ffmpeg.
https://arthenica.github.io/ffmpeg-kit
GNU Lesser General Public License v3.0
4.31k stars 580 forks source link

App Crash After multiple ffmpeg executions #918

Closed ikram3mkaissi closed 6 months ago

ikram3mkaissi commented 8 months ago

Description

I'm recording multiple videos , then using ffmpeg command to merge the videos into one , then compressing the video and then sendit to vimeo API , the user can immediately start recording again while the ffmpeg commands are doing the work in the background...

this is the code to merge videos into one : ` for (String _filePath in FFAppState().localVideos[_index].chunkPaths) { File _vid = File(_filePath); videoController = VideoPlayerController.file(_vid); await videoController!.initialize();

  _lastClipLength =
      (videoController!.value.duration.inMicroseconds / 1000000);
  _videoTotalLength += _lastClipLength;

  _clipsLnegth.add(
      "{'length':'${(videoController!.value.duration.inMicroseconds / 1000000).toStringAsFixed(6)}'}");

  //  _vid.delete(recursive: true);

  if (_filePath != FFAppState().localVideos[_index].chunkPaths[0]) {
    secondVideoPath = _filePath;

    String now = DateTime.now().toIso8601String();
    var outputPath =
        '${(Platform.isAndroid ? await getTemporaryDirectory() : await getTemporaryDirectory()).path}/$now.mp4';

    await FFmpegKit.execute(
            '-i $firstVideoPath  -i $secondVideoPath   -filter_complex \'[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[outv][outa]\' -map \'[outv]\' -map \'[outa]\' -c:v libx264  -preset ultrafast   $outputPath')
        .then((session) async {
      print('ffmpeg starting for video index');
      print(_index);
      final returnCode = await session.getReturnCode();

      if (ReturnCode.isSuccess(returnCode)) {
        // tempOutputPath = outputPath;

        firstVideoPath = outputPath;

        print('SUCCESS');
      } else if (ReturnCode.isCancel(returnCode)) {
        //     widget.showSendingVideoAnimation();
        print('CANCEL');
        // CANCEL
      } else {
        //  widget.showSendingVideoAnimation();
        print('ERROR');
        //print(returnCode);
        await session.getOutput().then((value) {
          showModalBottomSheet<void>(
            context: context,
            builder: (BuildContext context) {
              return Container(
                height: 400,
                color: Colors.amber,
                child: Center(
                  child: SingleChildScrollView(
                      child: Column(
                    mainAxisAlignment: MainAxisAlignment.center,
                    mainAxisSize: MainAxisSize.min,
                    children: <Widget>[
                      Text(value!),
                      ElevatedButton(
                        child: const Text('Close BottomSheet'),
                        onPressed: () => Navigator.pop(context),
                      ),
                    ],
                  )),
                ),
              );
            },
          );
        });

        // The stack trace if FFmpegKit fails to run a command
        final failStackTrace = await session.getFailStackTrace();
        //     print(failStackTrace);
        // The list of logs generated for this execution

        // ERROR
      }
      await session.cancel();
    }) ;
  }
}`

and this is the command to add a logo and compress the video :

   FFmpegSession session = await FFmpegKit.execute(
        '-i $firstVideoPath  -i $imagePath   -filter_complex   "[1]scale=iw/8:-1[wm];[0]fps=30,scale=1920:1080[a];[a][wm]overlay=W-w-20:20"  -c:v libx264  -preset ultrafast -crf 30     $newPath');

Expected behavior when i'm not using ffmpeg (meaning only recording and sending the video to vimeo) the app works perfectly and does not crash

Current behavior the app crash after executing multiple video recordings in a row

To Reproduce record a vdeo

Screenshots If applicable, add screenshots to help explain your problem.

Logs

I/CCodecConfig( 6328): query failed after returning 17 values (BAD_INDEX) D/CCodecConfig( 6328): c2 config diff is c2::u32 raw.color.matrix = 1 D/CCodecConfig( 6328): c2::u32 raw.color.primaries = 1 D/CCodecConfig( 6328): c2::u32 raw.color.transfer = 3 D/MediaCodec( 6328): keep callback message for reclaim I/CCodec ( 6328): state->set(STARTING) W/Codec2Client( 6328): query -- param skipped: index = 1342179345. W/Codec2Client( 6328): query -- param skipped: index = 2415921170. W/Codec2Client( 6328): query -- param skipped: index = 1610614798. D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb4000070089cdc28 : 8(16777216 size) total buffers - 8(16777216 size) used buffers - 22/32 (recycle/alloc) - 11/32 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006faefce028 : 0(0 size) total buffers - 0(0 size) used buffers - 41/46 (recycle/alloc) - 12/46 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006f725e9a28 : 5(10485760 size) total buffers - 5(10485760 size) used buffers - 16/27 (recycle/alloc) - 11/27 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006faefdaa28 : 0(0 size) total buffers - 0(0 size) used buffers - 39/45 (recycle/alloc) - 13/45 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400007011e29828 : 5(10485760 size) total buffers - 5(10485760 size) used buffers - 18/27 (recycle/alloc) - 10/27 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb4000070089a9428 : 0(0 size) total buffers - 0(0 size) used buffers - 41/46 (recycle/alloc) - 16/46 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006f72442428 : 5(10485760 size) total buffers - 5(10485760 size) used buffers - 17/27 (recycle/alloc) - 10/27 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400007008e2f628 : 0(0 size) total buffers - 0(0 size) used buffers - 40/46 (recycle/alloc) - 11/46 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006f725b5c28 : 5(10485760 size) total buffers - 5(10485760 size) used buffers - 18/27 (recycle/alloc) - 11/27 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb40000700db8c428 : 0(0 size) total buffers - 0(0 size) used buffers - 40/45 (recycle/alloc) - 16/45 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006f5745a828 : 5(10485760 size) total buffers - 5(10485760 size) used buffers - 16/27 (recycle/alloc) - 12/27 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006f2650ce28 : 0(0 size) total buffers - 0(0 size) used buffers - 40/46 (recycle/alloc) - 17/46 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006f57206428 : 5(10485760 size) total buffers - 5(10485760 size) used buffers - 18/27 (recycle/alloc) - 13/27 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006fac795c28 : 0(0 size) total buffers - 0(0 size) used buffers - 41/46 (recycle/alloc) - 19/46 (fetch/transfer) D/CCodecBufferChannel( 6328): [c2.mtk.avc.decoder#395] Created input block pool with allocatorID 16 => poolID 41 - OK (0) I/CCodecBufferChannel( 6328): [c2.mtk.avc.decoder#395] start: max output delay 19 D/CCodecBufferChannel( 6328): [c2.mtk.avc.decoder#395] Query output surface allocator returned 0 params => BAD_INDEX (6) I/CCodecBufferChannel( 6328): [c2.mtk.avc.decoder#395] Created output block pool with allocatorID 18 => poolID 3630 - OK D/CCodecBufferChannel( 6328): [c2.mtk.avc.decoder#395] Configured output block pool ids 3630 => OK D/Codec2-OutputBufferQueue( 6328): C2SurfaceSyncMemory created 20(20) D/Codec2-OutputBufferQueue( 6328): remote graphic buffer migration 0/0 D/Codec2Client( 6328): setOutputSurface -- generation=6479890 consumer usage=0x900 sync D/Codec2Client( 6328): Surface configure completed I/CCodec ( 6328): state->set(RUNNING) I/CCodecBufferChannel( 6328): [c2.mtk.avc.decoder#395] 8 initial input buffers available I/DMCodecAdapterFactory( 6328): Creating an asynchronous MediaCodec adapter for track type audio I/MediaCodec( 6328): setCodecState state(0), called in 6 I/CCodec ( 6328): state->set(ALLOCATING) I/CCodec ( 6328): allocate(c2.android.aac.decoder) I/CCodec ( 6328): setting up 'default' as default (vendor) store I/CCodec ( 6328): Created component [c2.android.aac.decoder] I/CCodec ( 6328): state->set(ALLOCATED) D/CCodecConfig( 6328): read media type: audio/mp4a-latm D/ReflectedParamUpdater( 6328): extent() != 1 for single value type: algo.buffers.max-count.values D/ReflectedParamUpdater( 6328): extent() != 1 for single value type: output.subscribed-indices.values D/ReflectedParamUpdater( 6328): extent() != 1 for single value type: input.buffers.allocator-ids.values D/ReflectedParamUpdater( 6328): extent() != 1 for single value type: output.buffers.allocator-ids.values D/ReflectedParamUpdater( 6328): extent() != 1 for single value type: algo.buffers.allocator-ids.values D/ReflectedParamUpdater( 6328): extent() != 1 for single value type: output.buffers.pool-ids.values D/ReflectedParamUpdater( 6328): extent() != 1 for single value type: algo.buffers.pool-ids.values I/CCodecConfig( 6328): query failed after returning 19 values (BAD_INDEX) D/CCodecConfig( 6328): c2 config diff is Dict { D/CCodecConfig( 6328): c2::u32 coded.aac-packaging.value = 0 D/CCodecConfig( 6328): c2::u32 coded.bitrate.value = 64000 D/CCodecConfig( 6328): c2::u32 coded.pl.level = 0 D/CCodecConfig( 6328): c2::u32 coded.pl.profile = 8192 D/CCodecConfig( 6328): c2::i32 coding.drc.album-mode.value = 0 D/CCodecConfig( 6328): c2::float coding.drc.attenuation-factor.value = 1 D/CCodecConfig( 6328): c2::float coding.drc.boost-factor.value = 1 D/CCodecConfig( 6328): c2::i32 coding.drc.compression-mode.value = 3 D/CCodecConfig( 6328): c2::i32 coding.drc.effect-type.value = 3 D/CCodecConfig( 6328): c2::float coding.drc.encoded-level.value = 0.25 D/CCodecConfig( 6328): c2::float coding.drc.reference-level.value = -16 D/CCodecConfig( 6328): c2::u32 input.buffers.max-size.value = 8192 D/CCodecConfig( 6328): c2::u32 input.delay.value = 0 D/CCodecConfig( 6328): string input.media-type.value = "audio/mp4a-latm" D/CCodecConfig( 6328): c2::u32 output.delay.value = 2 D/CCodecConfig( 6328): c2::float output.drc.output-loudness.value = 0.25 D/CCodecConfig( 6328): string output.media-type.value = "audio/raw" D/CCodecConfig( 6328): c2::u32 raw.channel-count.value = 1 D/CCodecConfig( 6328): c2::u32 raw.max-channel-count.value = 8 D/CCodecConfig( 6328): c2::u32 raw.sample-rate.value = 44100 D/CCodecConfig( 6328): } I/MediaCodec( 6328): MediaCodec will operate in async mode D/MediaCodec( 6328): flushMediametrics D/CCodec ( 6328): [c2.android.aac.decoder] buffers are bound to CCodec for this session I/CCodec ( 6328): appPid(6328) width(0) height(0) D/CCodecConfig( 6328): no c2 equivalents for log-session-id D/CCodecConfig( 6328): no c2 equivalents for flags D/CCodecConfig( 6328): config failed => CORRUPTED D/CCodecConfig( 6328): c2 config diff is c2::u32 raw.sample-rate.value = 48000 W/Codec2Client( 6328): query -- param skipped: index = 1107298332. D/CCodec ( 6328): client requested max input size 713, which is smaller than what component recommended (8192); overriding with component recommendation. W/CCodec ( 6328): This behavior is subject to change. It is recommended that app developers double check whether the requested max input size is in reasonable range. D/CCodec ( 6328): setup formats input: AMessage(what = 0x00000000) = { D/CCodec ( 6328): int32_t aac-drc-album-mode = 0 D/CCodec ( 6328): int32_t aac-drc-boost-level = 127 D/CCodec ( 6328): int32_t aac-drc-cut-level = 127 D/CCodec ( 6328): int32_t aac-drc-effect-type = 3 D/CCodec ( 6328): int32_t aac-encoded-target-level = -1 D/CCodec ( 6328): int32_t aac-max-output-channel_count = 8 D/CCodec ( 6328): int32_t aac-target-ref-level = 64 D/CCodec ( 6328): int32_t bitrate = 64000 D/CCodec ( 6328): int32_t channel-count = 1 D/CCodec ( 6328): int32_t level = 0 D/CCodec ( 6328): int32_t max-input-size = 8192 D/CCodec ( 6328): string mime = "audio/mp4a-latm" D/CCodec ( 6328): int32_t profile = 2 D/CCodec ( 6328): int32_t sample-rate = 48000 D/CCodec ( 6328): int64_t durationUs = 0 D/CCodec ( 6328): } D/CCodec ( 6328): setup formats output: AMessage(what = 0x00000000) = { D/CCodec ( 6328): int32_t aac-drc-album-mode = 0 D/CCodec ( 6328): int32_t aac-drc-boost-level = 127 D/CCodec ( 6328): int32_t aac-drc-cut-level = 127 D/CCodec ( 6328): int32_t aac-drc-effect-type = 3 D/CCodec ( 6328): int32_t aac-drc-output-loudness = -1 D/CCodec ( 6328): int32_t aac-encoded-target-level = -1 D/CCodec ( 6328): int32_t aac-max-output-channel_count = 8 D/CCodec ( 6328): int32_t aac-target-ref-level = 64 D/CCodec ( 6328): int32_t channel-count = 1 D/CCodec ( 6328): string mime = "audio/raw" D/CCodec ( 6328): int32_t sample-rate = 48000 D/CCodec ( 6328): } I/CCodecConfig( 6328): query failed after returning 19 values (BAD_INDEX) D/CCodecBufferChannel( 6328): [c2.mtk.avc.decoder#395] flushed work; ignored. D/CCodecBufferChannel( 6328): [c2.mtk.avc.decoder#395] Discard frames from previous generation. D/PipelineWatcher( 6328): onWorkDone: frameIndex not found (18446744073709551615); ignored D/MediaCodec( 6328): keep callback message for reclaim I/CCodec ( 6328): state->set(STARTING) W/Codec2Client( 6328): query -- param skipped: index = 1342179345. W/Codec2Client( 6328): query -- param skipped: index = 2415921170. W/Codec2Client( 6328): query -- param skipped: index = 1610614798. D/CCodecBufferChannel( 6328): [c2.android.aac.decoder#72] Created input block pool with allocatorID 16 => poolID 42 - OK (0) I/CCodecBufferChannel( 6328): [c2.mtk.avc.decoder#395] updating max output delay 19 D/Codec2-OutputBufferQueue( 6328): set max dequeue count 19 from update I/CCodecBufferChannel( 6328): [c2.android.aac.decoder#72] Created output block pool with allocatorID 16 => poolID 1457 - OK D/CCodecBufferChannel( 6328): [c2.android.aac.decoder#72] Configured output block pool ids 1457 => OK I/CCodec ( 6328): state->set(RUNNING) I/CCodecBufferChannel( 6328): [c2.android.aac.decoder#72] 4 initial input buffers available D/CCodecConfig( 6328): c2 config diff is c2::u32 raw.crop.height = 1080 D/CCodecConfig( 6328): c2::u32 raw.crop.width = 1920 D/CCodecConfig( 6328): c2::u32 raw.pixel-format.value = 4096 D/CCodecConfig( 6328): c2 config diff is c2::u32 raw.channel-mask.value = 4 D/CCodecBuffers( 6328): [c2.mtk.avc.decoder#395:2D-Output] popFromStashAndRegister: at 1000000000000us, output format changed to AMessage(what = 0x00000000) = { D/CCodecBuffers( 6328): int32_t android._color-format = 4096 D/CCodecBuffers( 6328): int32_t android._video-scaling = 1 D/CCodecBuffers( 6328): int32_t sar-width = 1 D/CCodecBuffers( 6328): int32_t color-standard = 1 D/CCodecBuffers( 6328): int32_t color-range = 2 D/CCodecBuffers( 6328): int32_t color-transfer = 3 D/CCodecBuffers( 6328): int32_t android._dataspace = 260 D/CCodecBuffers( 6328): int32_t width = 1920 D/CCodecBuffers( 6328): int32_t rotation-degrees = 0 D/CCodecBuffers( 6328): int32_t sar-height = 1 D/CCodecBuffers( 6328): int32_t max-width = 1920 D/CCodecBuffers( 6328): int32_t max-height = 1080 D/CCodecBuffers( 6328): int32_t priority = 0 D/CCodecBuffers( 6328): string mime = "video/raw" D/CCodecBuffers( 6328): Rect crop(0, 0, 1919, 1079) D/CCodecBuffers( 6328): Buffer hdr-static-info = { D/CCodecBuffers( 6328): 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ D/CCodecBuffers( 6328): 00000010: 00 00 00 00 00 00 00 00 00 ......... D/CCodecBuffers( 6328): } D/CCodecBuffers( 6328): int32_t frame-rate = 30 D/CCodecBuffers( 6328): int32_t height = 1080 D/CCodecBuffers( 6328): int32_t color-format = 2130708361 D/CCodecBuffers( 6328): } W/MediaCodec( 6328): mapFormat: no mediaType information I/MediaCodec( 6328): setCodecState state(1), called in 6 D/AudioTrack( 6328): setVolume(1.000000, 1.000000) pid : 6328 I/mali_config( 6328): @get_buffer_dataspace_setting: update dataspace (0x10010000 -> 0x08020000) I/mali_config( 6328): @get_buffer_dataspace_setting: update dataspace (0x10010000 -> 0x08020000) I/mali_config( 6328): @get_buffer_dataspace_setting: update dataspace (0x10010000 -> 0x08020000) I/mali_config( 6328): @get_buffer_dataspace_setting: update dataspace (0x10010000 -> 0x08020000) I/mali_config( 6328): @get_buffer_dataspace_setting: update dataspace (0x10010000 -> 0x08020000) I/mali_config( 6328): @get_buffer_dataspace_setting: update dataspace (0x10010000 -> 0x08020000) I/flutter ( 6328): checking video index I/flutter ( 6328): 1 I/mali_config( 6328): @get_buffer_dataspace_setting: update dataspace (0x10010000 -> 0x08020000) I/flutter ( 6328): {upload-offset: 100000, alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000, cache-control: no-store, transfer-encoding: chunked, date: Thu, 11 Jan 2024 09:33:38 GMT, tus-resumable: 1.0.0, upload-metadata: signature VnRvandEY1d1bjloM2tFNGVGZ0ZCeldhczJLQ1Q4WVdCZkw4cVFuWTJ5az0=,upload_attempt_id ODgyOTU5MDY5,user MTEyNDA4MTE3,user_region Z3MtZXU=,vimeo_app_id MTUyNTg2,app_id NWQ2YmQ4ZWYtMDVmMy00ZThmLTgyNDAtMDgyNGIyMzEyMTQw,filename MjAyNSBTdWdhciBTd2VldHMgKE1JKSwgTEhQLTFCLCB0YWd1cFRpdGFucywgTmF0aW9uYWwgQ3Jhd2ZvcmQgMTB1IChJTiksIDEvMTEvMjQsIOKPsCAxMDozMyBBTSBQbGF5IDM=,notify aHR0cHM6Ly92aW1lby5jb20vdXBsb2FkL190dXM=, via: 1.1 google, upload-length: 443454, x-content-type-options: nosniff}

I/MediaCodec( 6328): setCodecState state(0), called in 6 I/ViewRootImpl@8405f14MainActivity: ViewPostIme pointer 0 I/ViewRootImpl@8405f14MainActivity: ViewPostIme pointer 1 D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006f6147e428 : 5(40960 size) total buffers - 4(32768 size) used buffers - 27/32 (recycle/alloc) - 10/29 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400007008285a28 : 9(18874368 size) total buffers - 6(12582912 size) used buffers - 19/28 (recycle/alloc) - 11/28 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): evictor expired: 1, evicted: 1 W/System ( 6328): A resource failed to call release. W/System ( 6328): A resource failed to call release. I/MediaRecorderJNI( 6328): finalize I/MediaRecorderJNI( 6328): release I/Camera ( 6328): prepareMediaRecorder I/MediaRecorderJNI( 6328): release D/MediaRecorder( 6328): Constructor MediaRecorder I/MediaRecorderJNI( 6328): setup I/MediaRecorderJNI( 6328): setAudioSource(1) I/MediaRecorderJNI( 6328): setVideoSource(2) I/MediaRecorderJNI( 6328): setAudioEncoder(3) I/MediaRecorderJNI( 6328): setParameter() I/MediaRecorderJNI( 6328): setParameter() I/MediaRecorderJNI( 6328): setVideoEncoder(2) I/MediaRecorderJNI( 6328): setParameter() I/MediaRecorderJNI( 6328): setVideoFrameRate(30) I/MediaRecorderJNI( 6328): setVideoSize(1920, 1080) I/MediaRecorderJNI( 6328): setParameter() I/MediaRecorderJNI( 6328): setOutputFile I/MediaRecorderJNI( 6328): prepare I/flutter ( 6328): checking video index I/flutter ( 6328): 1 I/MediaRecorder( 6328): prepare elapsed time : 518 ms I/MediaRecorderJNI( 6328): getSurface W/H2BGraphicBufferProducer( 6328): getConsumerUsage is not fully supported I/BufferQueueProducer( 6328): SurfaceTexture-0-6328-1 disconnect: api 4 I/CameraManagerGlobal( 6328): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_IDLE for client com.tagup.tagup API Level 2 I/flutter ( 6328): {upload-offset: 150000, alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000, cache-control: no-store, transfer-encoding: chunked, date: Thu, 11 Jan 2024 09:33:46 GMT, tus-resumable: 1.0.0, upload-metadata: upload_attempt_id ODgyOTU5MDY5,user MTEyNDA4MTE3,user_region Z3MtZXU=,vimeo_app_id MTUyNTg2,app_id NWQ2YmQ4ZWYtMDVmMy00ZThmLTgyNDAtMDgyNGIyMzEyMTQw,filename MjAyNSBTdWdhciBTd2VldHMgKE1JKSwgTEhQLTFCLCB0YWd1cFRpdGFucywgTmF0aW9uYWwgQ3Jhd2ZvcmQgMTB1IChJTiksIDEvMTEvMjQsIOKPsCAxMDozMyBBTSBQbGF5IDM=,notify aHR0cHM6Ly92aW1lby5jb20vdXBsb2FkL190dXM=,signature VnRvandEY1d1bjloM2tFNGVGZ0ZCeldhczJLQ1Q4WVdCZkw4cVFuWTJ5az0=, via: 1.1 google, upload-length: 443454, x-content-type-options: nosniff}

I/BufferQueueProducer( 6328): SurfaceTexture-0-6328-1 connect: api=4 producerControlledByApp=true W/com.tagup.tagu( 6328): Long monitor contention with owner main (6328) at void android.hardware.camera2.impl.CameraDeviceImpl.waitUntilIdle()(CameraDeviceImpl.java:1339) waiters=0 in void android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.onResultReceived(android.hardware.camera2.impl.CameraMetadataNative, android.hardware.camera2.impl.CaptureResultExtras, android.hardware.camera2.impl.PhysicalCaptureResultInfo[]) for 727ms W/com.tagup.tagu( 6328): Long monitor contention with owner main (6328) at void android.hardware.camera2.impl.CameraDeviceImpl.waitUntilIdle()(CameraDeviceImpl.java:1339) waiters=1 in void android.hardware.camera2.impl.CameraDeviceImpl$4.run() for 731ms I/Camera ( 6328): CameraCaptureSession onConfigured I/Camera ( 6328): Updating builder settings D/Camera ( 6328): Updating builder with feature: ExposureLockFeature D/Camera ( 6328): Updating builder with feature: ExposurePointFeature D/Camera ( 6328): Updating builder with feature: ZoomLevelFeature D/Camera ( 6328): Updating builder with feature: AutoFocusFeature D/Camera ( 6328): Updating builder with feature: NoiseReductionFeature I/Camera ( 6328): updateNoiseReduction | currentSetting: fast D/Camera ( 6328): Updating builder with feature: FocusPointFeature D/Camera ( 6328): Updating builder with feature: ResolutionFeature D/Camera ( 6328): Updating builder with feature: SensorOrientationFeature D/Camera ( 6328): Updating builder with feature: FlashFeature D/Camera ( 6328): Updating builder with feature: ExposureOffsetFeature D/Camera ( 6328): Updating builder with feature: FpsRangeFeature I/Camera ( 6328): refreshPreviewCaptureSession I/Camera ( 6328): CameraCaptureSession onClosed I/CameraManagerGlobal( 6328): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client com.tagup.tagup API Level 2 I/MediaRecorderJNI( 6328): start D/BufferPoolAccessor2.0( 6328): bufferpool2 0xb400006f6147e428 : 5(40960 size) total buffers - 0(0 size) used buffers - 40/45 (recycle/alloc) - 14/45 (fetch/transfer) D/BufferPoolAccessor2.0( 6328): evictor expired: 1, evicted: 1 Lost connection to device. the Dart compiler exited unexpectedly.

Environment

github-actions[bot] commented 6 months ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

github-actions[bot] commented 6 months ago

This issue was closed because it has been stalled for 7 days with no activity.