Video transcoding problem in iOS 13.0 +

Hi,

We have an existing App and since Apple team has released iOS 13.0 we ran into a problem with transcoding videos in iOS13.0+.
When I read the file path from camera.getPicture (sourceType=PHOTOLIBRARY), passing the path to videoEditor.transcodeVideo it indefinitely keeps calling the progress callback with value 0. It won’t throw error and it won’t call Completed callback.

I have to note that this problem only happens when I am trying on a real device (simulator is fine). which have been upgraded to iOS 13.0 (openFromLibrary() in the code below).

I tried transcoding a video which is taken from the camera (not from the photo library - captureVideo()) and it works perfectly.
I appreciate it if anyone could help me with this scenario.

Plugin used is: VideoEditor

openFromLibrary() { //DOES NOT WORK
  const optionsFiles: CameraOptions = {
    quality: 50,
    destinationType: this.camera.DestinationType.FILE_URI,
    mediaType: this.camera.MediaType.VIDEO,
    targetWidth: 450,
    targetHeight: 450,
    sourceType: this.camera.PictureSourceType.PHOTOLIBRARY
  } 
  this.camera.getPicture(optionsFiles).then((data) => {
    let model = {
      fullPath: data,
      name: data.substring(data.lastIndexOf('/') + 1)
    }
    //model.fullPath is something like:
    //file:///private/var/mobile/Containers/Data/PluginKitPlugin/DE8E75E9-BF8B-4990-8F01-3874169D65E0/tmp/trim.4F8792C3-D9EC-450D-9E05-2D96C1CF5AE5.MOV
    this.TranscodeVideo(model);
  }, (err) => {
    console.log(err) 
  })
}

captureVideo() { //WORKS
    let options: CaptureVideoOptions = { limit: 1, quality: 1 };
    this.mediaCapture.captureVideo(options).then((data: MediaFile[]) => {
      this.TranscodeVideo(data[0]);
    },
       (err: CaptureError) => console.error(err)
    );
  }

TranscodeVideo(data: any) {
  let fileUri = data.fullPath;
  let outputFileName = this.removeExtension(data.name) + new Date().getMilliseconds() + '_transcoded-output';
  console.log("fileUri: " + fileUri);
  console.log("outputFileName: " + outputFileName);
  this.videoEditor.transcodeVideo({
      fileUri: fileUri,
      outputFileName: outputFileName,
      outputFileType: this.videoEditor.OutputFileType.MPEG4,
      progress: (info: number) => {
        //This gets called indefinitely ... with info = 0
        console.log('progress' + info)
      }
    }).then(
        (fileUri: string) => {
          //This never gets called
          console.log('completed')
        }
      ).catch((error: any) =>  {
         //This never gets called
         alert(error)
      });
  
}

Here is the log when transcode video from library in a simulator:

Main Thread Checker: UI API called on a background thread: -[UINavigationController setDelegate:]
PID: 1120, TID: 13538, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   MyApp                               0x00000001084361c3 -[CDVCamera showCameraPicker:withOptions:] + 163
5   MyApp                               0x00000001084356aa __25-[CDVCamera takePicture:]_block_invoke + 1130
6   libdispatch.dylib                   0x00000001087e6df0 _dispatch_call_block_and_release + 12
7   libdispatch.dylib                   0x00000001087e7d64 _dispatch_client_callout + 8
8   libdispatch.dylib                   0x00000001087ea20b _dispatch_queue_override_invoke + 1022
9   libdispatch.dylib                   0x00000001087f929a _dispatch_root_queue_drain + 351
10  libdispatch.dylib                   0x00000001087f9ba4 _dispatch_worker_thread2 + 132
11  libsystem_pthread.dylib             0x00007fff5141c6b3 _pthread_wqthread + 583
12  libsystem_pthread.dylib             0x00007fff5141c3fd start_wqthread + 13
2019-10-01 13:41:29.919516-0700 MyApp[1120:13538] [reports] Main Thread Checker: UI API called on a background thread: -[UINavigationController setDelegate:]
PID: 1120, TID: 13538, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   MyApp                               0x00000001084361c3 -[CDVCamera showCameraPicker:withOptions:] + 163
5   MyApp                               0x00000001084356aa __25-[CDVCamera takePicture:]_block_invoke + 1130
6   libdispatch.dylib                   0x00000001087e6df0 _dispatch_call_block_and_release + 12
7   libdispatch.dylib                   0x00000001087e7d64 _dispatch_client_callout + 8
8   libdispatch.dylib                   0x00000001087ea20b _dispatch_queue_override_invoke + 1022
9   libdispatch.dylib                   0x00000001087f929a _dispatch_root_queue_drain + 351
10  libdispatch.dylib                   0x00000001087f9ba4 _dispatch_worker_thread2 + 132
11  libsystem_pthread.dylib             0x00007fff5141c6b3 _pthread_wqthread + 583
12  libsystem_pthread.dylib             0x00007fff5141c3fd start_wqthread + 13
**2019-10-01 13:41:34.518254-0700 MyApp[1120:13425] fileUri: file:///Users/admin/Library/Developer/CoreSimulator/Devices/6E600D79-C397-4B55-B776-DE036DBFCA7C/data/Containers/Data/PluginKitPlugin/5F323D37-2DE5-4440-BCC0-C07D91F7F77E/tmp/trim.2BB1FF35-883B-4CFE-8EC0-2482E4A09321.MOV**
**2019-10-01 13:41:34.518505-0700 MyApp[1120:13425] outputFileName: trim.2BB1FF35-883B-4CFE-8EC0-2482E4A09321501_transcoded-output**
**2019-10-01 13:41:34.642996-0700 MyApp[1120:13425] input videoWidth: 360.000000**
**2019-10-01 13:41:34.643182-0700 MyApp[1120:13425] input videoHeight: 480.000000**
**2019-10-01 13:41:34.643264-0700 MyApp[1120:13425] output newWidth: 360**
**2019-10-01 13:41:34.643323-0700 MyApp[1120:13425] output newHeight: 480**
**2019-10-01 13:41:34.643522-0700 MyApp[1120:13425] THREAD WARNING: ['VideoEditor'] took '124.734131' ms. Plugin should use a background thread.**
**2019-10-01 13:41:34.662540-0700 MyApp[1120:13538] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x6000033c4600> F8BB1C28-BAE8-11D6-9C31-00039315CD46**
**2019-10-01 13:41:34.667810-0700 MyApp[1120:13538] [ddagg]        AggregateDevice.mm:776   couldn't get default input device, ID = 0, err = 0!**
**2019-10-01 13:41:34.701108-0700 MyApp[1120:13425] progress0**
**2019-10-01 13:41:34.889640-0700 MyApp[1120:13530] Video export succeeded**
**2019-10-01 13:41:34.890443-0700 MyApp[1120:13425] progress100**
**2019-10-01 13:41:34.894357-0700 MyApp[1120:13425] completed**

Here is how we try to transcode video from library in a real iPhone:

Main Thread Checker: UI API called on a background thread: -[UINavigationController setDelegate:]
PID: 458, TID: 25245, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   MyApp                               0x000000010422a814 -[CDVCamera showCameraPicker:withOptions:] + 192
5   MyApp                               0x0000000104229e38 __25-[CDVCamera takePicture:]_block_invoke + 1052
6   libdispatch.dylib                   0x000000010436de48 _dispatch_call_block_and_release + 32
7   libdispatch.dylib                   0x000000010436f2a8 _dispatch_client_callout + 20
8   libdispatch.dylib                   0x0000000104371b1c _dispatch_queue_override_invoke + 924
9   libdispatch.dylib                   0x0000000104380aac _dispatch_root_queue_drain + 356
10  libdispatch.dylib                   0x0000000104381418 _dispatch_worker_thread2 + 144
11  libsystem_pthread.dylib             0x00000001b334ea60 _pthread_wqthread + 216
12  libsystem_pthread.dylib             0x00000001b3354c78 start_wqthread + 8
2019-10-01 13:46:34.968769-0700 MyApp[458:25245] [reports] Main Thread Checker: UI API called on a background thread: -[UINavigationController setDelegate:]
PID: 458, TID: 25245, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   MyApp                               0x000000010422a814 -[CDVCamera showCameraPicker:withOptions:] + 192
5   MyApp                               0x0000000104229e38 __25-[CDVCamera takePicture:]_block_invoke + 1052
6   libdispatch.dylib                   0x000000010436de48 _dispatch_call_block_and_release + 32
7   libdispatch.dylib                   0x000000010436f2a8 _dispatch_client_callout + 20
8   libdispatch.dylib                   0x0000000104371b1c _dispatch_queue_override_invoke + 924
9   libdispatch.dylib                   0x0000000104380aac _dispatch_root_queue_drain + 356
10  libdispatch.dylib                   0x0000000104381418 _dispatch_worker_thread2 + 144
11  libsystem_pthread.dylib             0x00000001b334ea60 _pthread_wqthread + 216
12  libsystem_pthread.dylib             0x00000001b3354c78 start_wqthread + 8
**2019-10-01 13:46:40.599042-0700 MyApp[458:25050] fileUri: file:///private/var/mobile/Containers/Data/PluginKitPlugin/DE8E75E9-BF8B-4990-8F01-3874169D65E0/tmp/trim.521777DB-3325-4E83-98F6-BEDF14EBDC9C.MOV**
**2019-10-01 13:46:40.599279-0700 MyApp[458:25050] outputFileName: trim.521777DB-3325-4E83-98F6-BEDF14EBDC9C594_transcoded-output**
**2019-10-01 13:46:40.617653-0700 MyApp[458:25050] input videoWidth: 360.000000**
**2019-10-01 13:46:40.617717-0700 MyApp[458:25050] input videoHeight: 480.000000**
**2019-10-01 13:46:40.617747-0700 MyApp[458:25050] output newWidth: 360**
**2019-10-01 13:46:40.617780-0700 MyApp[458:25050] output newHeight: 480**
**2019-10-01 13:46:40.617903-0700 MyApp[458:25050] THREAD WARNING: ['VideoEditor'] took '17.159912' ms. Plugin should use a background thread.**
**2019-10-01 13:46:40.624098-0700 MyApp[458:25050] progress0**
**2019-10-01 13:46:40.624256-0700 MyApp[458:25050] progress0**
**2019-10-01 13:46:41.633175-0700 MyApp[458:25050] progress0**
**2019-10-01 13:46:42.639211-0700 MyApp[458:25050] progress0**
**2019-10-01 13:46:43.642919-0700 MyApp[458:25050] progress0**
**2019-10-01 13:46:44.649573-0700 MyApp[458:25050] progress0**
**2019-10-01 13:46:45.653984-0700 MyApp[458:25050] progress0**
**2019-10-01 13:46:46.661094-0700 MyApp[458:25050] progress0**
**2019-10-01 13:46:47.665412-0700 MyApp[458:25050] progress0**
**2019-10-01 13:46:48.669655-0700 MyApp[458:25050] progress0**
**2019-10-01 13:46:49.674255-0700 MyApp[458:25050] progress0**