pinkfish / flutter_rtmppublisher

Publisher to rtmp using the camera plugin as a basis to do all the basic camera/record management.
BSD 3-Clause "New" or "Revised" License
95 stars 121 forks source link

Image Stream does not work #62

Open satyajitghana opened 3 years ago

satyajitghana commented 3 years ago

If I try to use the startImageStream method, it fails with an exception

      await controller?.startImageStream((image) => print('GOT IMAGE'));

Here's the log

W/BpBinder(19576): Slow Binder: BpBinder transact took 204 ms, interface=android.hardware.camera2.ICameraDeviceUser, code=6 oneway=false
V/Camera  (19576): open successful 
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576): Failed to open event stream
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576): java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter o
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at com.whelksoft.camera_with_rtmp.Camera$startPreviewWithImageStream$2.onListen(Unknown Source:2)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at io.flutter.plugin.common.EventChannel$IncomingStreamRequestHandler.onListen(EventChannel.java:188)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at io.flutter.plugin.common.EventChannel$IncomingStreamRequestHandler.onMessage(EventChannel.java:167)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:818)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at android.os.MessageQueue.next(MessageQueue.java:336)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at android.os.Looper.loop(Looper.java:181)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at android.app.ActivityThread.main(ActivityThread.java:7562)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at java.lang.reflect.Method.invoke(Native Method)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
E/EventChannel#plugins.flutter.io/camera_with_rtmp/imageStream(19576):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
W/Binder  (19576): Caught a RuntimeException from the binder stub implementation.
W/Binder  (19576): java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.camera2.CaptureRequest android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder.getRequest(int)' on a null object reference
W/Binder  (19576):  at android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.onCaptureErrorLocked(CameraDeviceImpl.java:2409)
W/Binder  (19576):  at android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.onDeviceError(CameraDeviceImpl.java:2051)
W/Binder  (19576):  at android.hardware.camera2.ICameraDeviceCallbacks$Stub.onTransact(ICameraDeviceCallbacks.java:137)
W/Binder  (19576):  at android.os.Binder.execTransactInternal(Binder.java:1021)
W/Binder  (19576):  at android.os.Binder.execTransact(Binder.java:994)

======== Exception caught by services library ======================================================
The following PlatformException was thrown while activating platform stream on channel plugins.flutter.io/camera_with_rtmp/imageStream:
PlatformException(error, Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter o, null, null)

When the exception was thrown, this was the stack: 
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:597:7)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:158:18)
<asynchronous suspension>
#2      EventChannel.receiveBroadcastStream.<anonymous closure> (package:flutter/src/services/platform_channel.dart:545:9)
<asynchronous suspension>
====================================================================================================