Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The getter 'length' was called on null. #20

Closed
trey-rosius opened this issue Apr 21, 2020 · 3 comments
Closed

The getter 'length' was called on null. #20

trey-rosius opened this issue Apr 21, 2020 · 3 comments

Comments

@trey-rosius
Copy link

Hi,

I'm actually running your example code. Here's the flutter version i'm using

Flutter 1.16.3 • channel master • https://github.com/flutter/flutter.git
Framework • revision be3a4b37b3 (4 weeks ago) • 2020-03-26 18:08:05 -0700
Engine • revision b2bdeb3f0f
Tools • Dart 2.8.0 (build 2.8.0-dev.17.0 1402e8e1a4)

And i get this exception when video compression starts.

E/Transcoder( 5243): Fatal error while transcoding, this might be invalid format or bug in engine or Android.
E/Transcoder( 5243): java.lang.UnsupportedOperationException: Output channel count (6) not supported.
E/Transcoder( 5243): 	at com.otaliastudios.transcoder.transcode.internal.AudioEngine.<init>(AudioEngine.java:83)
E/Transcoder( 5243): 	at com.otaliastudios.transcoder.transcode.AudioTrackTranscoder.onDecoderOutputFormatChanged(AudioTrackTranscoder.java:56)
E/Transcoder( 5243): 	at com.otaliastudios.transcoder.transcode.BaseTrackTranscoder.drainDecoder(BaseTrackTranscoder.java:240)
E/Transcoder( 5243): 	at com.otaliastudios.transcoder.transcode.BaseTrackTranscoder.transcode(BaseTrackTranscoder.java:165)
E/Transcoder( 5243): 	at com.otaliastudios.transcoder.engine.Engine.transcode(Engine.java:373)
E/Transcoder( 5243): 	at com.otaliastudios.transcoder.Transcoder$1.call(Transcoder.java:134)
E/Transcoder( 5243): 	at com.otaliastudios.transcoder.Transcoder$1.call(Transcoder.java:124)
E/Transcoder( 5243): 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
E/Transcoder( 5243): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/Transcoder( 5243): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/Transcoder( 5243): 	at java.lang.Thread.run(Thread.java:764)
E/flutter ( 5243): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: NoSuchMethodError: The getter 'length' was called on null.
E/flutter ( 5243): Receiver: null
E/flutter ( 5243): Tried calling: length
E/flutter ( 5243): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
E/flutter ( 5243): #1      _parseJson (dart:convert-patch/convert_patch.dart:30:28)
E/flutter ( 5243): #2      JsonDecoder.convert (dart:convert/json.dart:505:36)
E/flutter ( 5243): #3      JsonCodec.decode (dart:convert/json.dart:153:41)
E/flutter ( 5243): #4      VideoCompress.compressVideo (package:video_compress/src/video_compressor.dart:159:26)
E/flutter ( 5243): <asynchronous suspension>
E/flutter ( 5243): #5      _MyHomePageState.build.<anonymous closure> (package:video_compress_example/main.dart:101:44)
E/flutter ( 5243): <asynchronous suspension>
E/flutter ( 5243): #6      _MyHomePageState.build.<anonymous closure> (package:video_compress_example/main.dart)
E/flutter ( 5243): #7      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:779:19)
E/flutter ( 5243): #8      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:862:36)
E/flutter ( 5243): #9      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter ( 5243): #10     TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:504:11)
E/flutter ( 5243): #11     BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:282:5)
E/flutter ( 5243): #12     BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:254:7)
E/flutter ( 5243): #13     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter ( 5243): #14     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20)
E/flutter ( 5243): #15     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter ( 5243): #16     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter ( 5243): #17     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter ( 5243): #18     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter ( 5243): #19     _rootRunUnary (dart:async/zone.dart:1159:13)
E/flutter ( 5243): #20     _CustomZone.runUnary (dart:async/zone.dart:1048:19)
E/flutter ( 5243): #21     _CustomZone.runUnaryGuarded (dart:async/zone.dart:950:7)
E/flutter ( 5243): #22     _invoke1 (dart:ui/hooks.dart:275:10)
E/flutter ( 5243): #23     _dispatchPointerDataPacket (dart:ui/hooks.dart:184:5)
E/flutter ( 5243): 

@jonataslaw
Copy link
Owner

This happens when you are trying to decode a smaller file for higher quality.
Are you using DefaultQuality? I recommend that before converting, you do some logic using MediaInfo so if the file is smaller than 480p, use LowQuality Rather Default.

@trey-rosius
Copy link
Author

thanks a lot. It works now

@jigarfumakiya
Copy link

Hey @jonataslaw , can you tell me how can I check if my file is lower then 480p using mediaInfo?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants