Skip to main content
Known Participant
November 17, 2015
Question

Stream error when loading from the camera

  • November 17, 2015
  • 0 replies
  • 428 views

Hi,

I've had this bug for a very long time (across multiple SDK's). I have an app that uses the camera, but every 10-20th time I do it, I get a Stream Error and sometimes (not always) the program crashes after that. I get to the camera UI and I can take a picture, and when I get back to my app (and I try to load the media promise), it fails to do so. I have seen this behaviour on iOS, but I'm not sure if it happens on Android as well. I remember at some point I had some problems with the camera sending multiple COMPLETE-events, so maybe that is related somehow.

I have compared my code to sample code, and it seems like I do it in the same way. Does anyone else have this problem?

The following is some snippets of the code I'm using (I have ommitted some of the less important parts):

    private function launchCameraUI():void {
        if (cameraOpen)
            return;
      
        var cameraUI:CameraUI = new CameraUI();
        addCameraListeners(cameraUI);
      
        cameraOpen = true;
        cameraUI.launch(MediaType.IMAGE);
    }

/////////////////////////////////////////////////////////////////////////////////////////////////////

    private function onCameraUIComplete(e:MediaEvent):void {
            cameraOpen = false;
          
        try {
                var cameraUI:CameraUI = e.target as CameraUI;
                removeCameraListeners(cameraUI);
              
                mediaPromise = e.data;
                dataSource = mediaPromise.open();
            if (mediaPromise.isAsync) {
                    var eventSource:IEventDispatcher = dataSource as IEventDispatcher;
                  
                    eventSource.addEventListener(Event.COMPLETE, onMediaLoaded);
                }
            else {
                    readMediaData();
                }
            }
            catch (e:Error) {
                App.i.reportError("onCameraUIComplete", e.getStackTrace(), e.message);
                App.i.openMessageBox(Language.current.getText("Error") + " (2)", Language.current.getText("info program error"), Language.current.getText("Ok") );
            }
        }

/////////////////////////////////////////////////////////////////////////

            var mpLoader:Loader = new Loader();
        cameraImage = true;
            mpLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onMediaPromiseLoaded);
            mpLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onMediaPromiseLoadError); // THIS IS THE ERROR EVENT THAT I SOMETIMES GET
            mpLoader.loadFilePromise(mediaPromise);

/////////////////////////////////////////////////////////////////////////

I hope someone can see what I'm doing wrong.

Thanks in advance

Mark

This topic has been closed for replies.