Code Monkey home page Code Monkey logo

android-sdk-demo's People

Contributors

3akat avatar albertwenger avatar bane-d avatar oliverfriedmann avatar ziggeojitpackservice avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-sdk-demo's Issues

Prevent OS from sleeping while the recorder is on

I'm using v0.82.2 of the Android SDK on an Android 10. When the recording is running and we do not interact with the screen, the screen goes to sleep (as set in the OS settings - defaulted to 30 seconds). And as soon as the screen goes to sleep, we can not restore the recording and the app freezes with an exception:

03-09 00:38:52.280 11335 11335 E AndroidRuntime: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at androidx.fragment.app.FragmentManagerImpl.checkStateLoss(FragmentManagerImpl.java:1536)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at androidx.fragment.app.FragmentManagerImpl.enqueueAction(FragmentManagerImpl.java:1558)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at androidx.fragment.app.BackStackRecord.commitInternal(BackStackRecord.java:317)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at androidx.fragment.app.BackStackRecord.commit(BackStackRecord.java:282)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at androidx.fragment.app.DialogFragment.show(DialogFragment.java:155)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at com.ziggeo.androidsdk.ui.fragments.BaseRecorderFragment.startRecording(BaseRecorderFragment.java:107)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at com.ziggeo.androidsdk.ui.fragments.BaseRecorderFragment.readyToRecord(BaseRecorderFragment.java:87)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at com.ziggeo.androidsdk.ui.fragments.CameraRecorderFragment$1.cameraOpened(CameraRecorderFragment.java:109)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at com.ziggeo.androidsdk.widgets.cameraview.CameraView$CallbackBridge.onCameraClosed(CameraView.java:838)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at com.ziggeo.androidsdk.widgets.cameraview.Camera2$2.onClosed(Camera2.java:198)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at android.hardware.camera2.impl.CameraDeviceImpl$5.run(CameraDeviceImpl.java:212)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:873)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:214)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7099)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
03-09 00:38:52.280 11335 11335 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)

How can we prevent OS from sleeping while the recording is on? I was thinking that this would be handled by OS itself.

By the way, I tried to call getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); but that doesn't help. https://developer.android.com/training/scheduling/wakelock

TextureView background attribute crashes 7.0 and above.

Hello, SDK causes crash for devices 7.0 and above. Here is the stacktrace.

android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.ziggeo.androidsdk.widgets.cameraview.CameraView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.ziggeo.androidsdk.widgets.cameraview.CameraView
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.ziggeo.androidsdk.widgets.cameraview.CameraView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at com.myregistry.refactor.core.BaseMRActivity.onCreate(BaseMRActivity.java:46)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: android.view.InflateException: Binary XML file line #15: Binary XML file line #15: Error inflating class android.view.TextureView
Caused by: android.view.InflateException: Binary XML file line #15: Error inflating class android.view.TextureView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:700)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:68)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
E/AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.view.View.inflate(View.java:21010)
at com.ziggeo.androidsdk.widgets.cameraview.TextureViewPreview.(TextureViewPreview.java:38)
at com.ziggeo.androidsdk.widgets.cameraview.CameraView.createPreviewImpl(CameraView.java:168)
at com.ziggeo.androidsdk.widgets.cameraview.CameraView.(CameraView.java:130)
at com.ziggeo.androidsdk.widgets.cameraview.CameraView.(CameraView.java:118)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at com.myregistry.refactor.core.BaseMRActivity.onCreate(BaseMRActivity.java:46)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.UnsupportedOperationException: TextureView doesn't support displaying a background drawable
at android.view.TextureView.setBackgroundDrawable(TextureView.java:316)
at android.view.View.setBackground(View.java:18247)
at android.view.View.(View.java:4600)
at android.view.View.(View.java:4109)
at android.view.View.(View.java:4088)
at android.view.TextureView.(TextureView.java:146)
... 42 more

android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

at android.app.ContextImpl.startActivity(ContextImpl.java:672)
at android.app.ContextImpl.startActivity(ContextImpl.java:659)
at android.content.ContextWrapper.startActivity(ContextWrapper.java:331)
at com.ziggeo.androidsdk.Ziggeo.startRecorder(Ziggeo.java:465)
at com.ziggeo.androidsdk.demo.FullscreenRecorderActivity.onCreate(FullscreenRecorderActivity.java:66)

Ziggeo.attachPlayer(...) bug.

I used this method on API16. When I call it more than once then if() was always false and new video fragment don't be attached to container. This code fixed this.

    @Override
    public void attachPlayer(FragmentManager manager, int contentId, String videoToken) {
        Fragment attachedFragment = manager.findFragmentByTag(VideoPlayerFragment.TAG);
        if(attachedFragment == null || !(attachedFragment instanceof VideoPlayerFragment)) {
            VideoPlayerFragment fragment;
            fragment = VideoPlayerFragment.getInstance(videoToken);
            manager.beginTransaction().replace(contentId, fragment, VideoPlayerFragment.TAG).addToBackStack(VideoRecorderFragment.TAG).commit();
        }else{
            manager.beginTransaction().remove(attachedFragment).commitAllowingStateLoss();
            VideoPlayerFragment fragment;
            fragment = VideoPlayerFragment.getInstance(videoToken);
            manager.beginTransaction().replace(contentId, fragment, VideoPlayerFragment.TAG).addToBackStack(VideoRecorderFragment.TAG).commit();
        }

    }

Null Pointer exception on URLEncodedUtils

Hi:
I am using Ziggeo in a simple app and when I am uploading the video to the server I am receiving the follow null pointer exception. This happens on Embedded video recorder.

11-05 14:31:58.308 E/AndroidRuntime(12023): FATAL EXCEPTION: main
11-05 14:31:58.308 E/AndroidRuntime(12023): Process: com.jiahaoliuliu.simpleziggeointegration, PID: 12023
11-05 14:31:58.308 E/AndroidRuntime(12023): java.lang.NullPointerException
11-05 14:31:58.308 E/AndroidRuntime(12023):     at cz.msebera.android.httpclient.client.utils.URLEncodedUtils.format(URLEncodedUtils.java:341)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at cz.msebera.android.httpclient.client.utils.URLEncodedUtils.format(URLEncodedUtils.java:322)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at com.ziggeo.androidsdk.services.ZiggeoService.onIntentProcessed(ZiggeoService.java:418)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at com.ziggeo.androidsdk.services.ZiggeoService$1.run(ZiggeoService.java:392)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at android.os.Handler.handleCallback(Handler.java:733)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at android.os.Handler.dispatchMessage(Handler.java:95)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at android.os.Looper.loop(Looper.java:136)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at android.app.ActivityThread.main(ActivityThread.java:5072)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at java.lang.reflect.Method.invokeNative(Native Method)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at java.lang.reflect.Method.invoke(Method.java:515)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
11-05 14:31:58.308 E/AndroidRuntime(12023):     at dalvik.system.NativeStart.main(Native Method)

I am not doing anything special. The source code could be found here:
https://github.com/jiahaoliuliu/SimpleZiggeoIntegration

Activity won't finish

When i record a video with attachrecorder and click the stop button, then select the cover shot the activity doesn't finish, i just get a white screen and when the upload finishes i get the recorder back. How can i make it finish like when i click the check button?

confirmStopRecording does not work with Android Hardware Back Button

Apologies, if I'm creating so many issues 😞 but I was hoping that the issues that I'm creating should not be there.

Basically, in Android, when recording is started, a student (primary user of our app) might accidentally press the hardware back button. When we encountered the issue, I went looking for the configuration and the doc and found out the method confirmStopRecording(true).

Unfortunately, this shows the confirmation dialogue only for "Stop button" or "Send & Close" checkmark but not when the back button is pressed.

I think this is a very important point when it comes to recorder because the probability of pressing the back button is very high and we can't allow the recorder to be immediately closed without confirmation.

Please let me know how to handle this scenario?

Can't detect Camera2 Front Camera.

On API versions >= 21, I want to use Camera2 as the front camera. But the default still start as back camera

if(android.os.Build.VERSION.SDK_INT >= 21){
ziggeo.createVideo(Context, maxVideoDuration, CameraCharacteristics.LENS_FACING_FRONT, CameraHelper.Quality.HIGH, callback);
}
else{
ziggeo.createVideo(Context, maxVideoDuration, Camera.CameraInfo.CAMERA_FACING_FRONT, CameraHelper.Quality.HIGH, callback);

            }

Setting extraArgs (custom data) is not reflecting in the dashboard

I'm setting some string-based data in the Ziggeo recorder:

HashMap<String, String> extras = new HashMap<>();
extras.put("questionID", "5e428e8de7b8f5690b9db8f5");
extras.put("candidateID", "5e42882ae7b8f5690b9db7ee");

ziggeo = new Ziggeo(APP_TOKEN, CameraFullscreenRecorderActivity.this);
RecorderConfig config = new RecorderConfig.Builder()
        .callback(prepareCallback())
        .sendImmediately(false)
        .enableCoverShot(false)
        .maxDuration(50000)
        .extraArgs(extras)
        //.facing(CameraView.FACING_FRONT)
        .build();
ziggeo.setRecorderConfig(config);
ziggeo.startCameraRecorder();

But it's not reflecting in the dashboard once the videos are processed:

image

Am I missing something?

RuntimeException: stop failed after recording is completed

Description

I'm using the latest master 1bf79f9 to run the app locally for testing and surprised to see this isn't working.

As soon as the 20s is completed (or even I manually submit the recording), an exception is being thrown:

D/CameraFullscreenRecorderActivity: Recorder. RecordingProgress:19000
D/CameraFullscreenRecorderActivity: Recorder. microphoneHealth:BAD
D/CameraFullscreenRecorderActivity: Recorder. RecordingProgress:20000
D/CameraFullscreenRecorderActivity: Recorder. microphoneHealth:MODERATE
D/ZRecorder$Builder: onInfo. mr:com.ziggeo.androidsdk.recorder.ZRecorder@8d65d01 
    What:800
    Extra:0
I/MediaRecorderJNI: stop
E/MediaRecorder: stop failed: -1007
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.ziggeo.androidsdk.demo, PID: 11867
    java.lang.RuntimeException: stop failed.
        at android.media.MediaRecorder._stop(Native Method)
        at android.media.MediaRecorder.stop(MediaRecorder.java:1378)
        at com.ziggeo.androidsdk.widgets.cameraview.CameraViewImpl.releaseMediaRecorder(CameraViewImpl.java:264)
        at com.ziggeo.androidsdk.widgets.cameraview.Camera2Api23.releaseMediaRecorder(Camera2Api23.java:32)
        at com.ziggeo.androidsdk.widgets.cameraview.Camera2.stopRecording(Camera2.java:302)
        at com.ziggeo.androidsdk.widgets.cameraview.Camera2.lambda$prepareMediaRecorder$3$Camera2(Camera2.java:831)
        at com.ziggeo.androidsdk.widgets.cameraview.-$$Lambda$Camera2$hdojrmf2WsZ_VyKq2h4wIE2i4VA.onInfo(Unknown Source:2)
        at com.ziggeo.androidsdk.recorder.ZRecorder$Builder.lambda$build$0$ZRecorder$Builder(ZRecorder.java:133)
        at com.ziggeo.androidsdk.recorder.-$$Lambda$ZRecorder$Builder$RWH90Gu1RcipHZx_2oCneulCrkw.onInfo(Unknown Source:2)
        at android.media.MediaRecorder$EventHandler.handleMessage(MediaRecorder.java:1706)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7081)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
W/System.err: java.lang.RuntimeException: stop failed.
        at android.media.MediaRecorder._stop(Native Method)
        at android.media.MediaRecorder.stop(MediaRecorder.java:1378)
        at com.ziggeo.androidsdk.widgets.cameraview.CameraViewImpl.releaseMediaRecorder(CameraViewImpl.java:264)
        at com.ziggeo.androidsdk.widgets.cameraview.Camera2Api23.releaseMediaRecorder(Camera2Api23.java:32)
        at com.ziggeo.androidsdk.widgets.cameraview.Camera2.stopRecording(Camera2.java:302)
        at com.ziggeo.androidsdk.widgets.cameraview.Camera2.lambda$prepareMediaRecorder$3$Camera2(Camera2.java:831)
W/System.err:     at com.ziggeo.androidsdk.widgets.cameraview.-$$Lambda$Camera2$hdojrmf2WsZ_VyKq2h4wIE2i4VA.onInfo(Unknown Source:2)
        at com.ziggeo.androidsdk.recorder.ZRecorder$Builder.lambda$build$0$ZRecorder$Builder(ZRecorder.java:133)
        at com.ziggeo.androidsdk.recorder.-$$Lambda$ZRecorder$Builder$RWH90Gu1RcipHZx_2oCneulCrkw.onInfo(Unknown Source:2)
        at android.media.MediaRecorder$EventHandler.handleMessage(MediaRecorder.java:1706)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7081)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)

I even tried upgrading the dependency from 0.82.0 to com.github.ZiggeoJitpackService:Android-SDK:0.83.0_rc4 but it also has the same issue.

Environment

  • OS: macOS Catalina
  • Android version: 9
  • Device: Samsung J6

RuntimeException while switching the camera

First of all, just to mention, as of now, I'm not concerned with this issue because we have hidden the switch camera button but I just wanted to raise this issue for any future user. So you guys can decide the priority of this issue.

Basically, my camera is set to the front camera and when I'm tapping on the switch camera button, the app is crashing with the following exception:

03-11 13:37:58.399 29637 30821 E AndroidRuntime: FATAL EXCEPTION: Thread-10
03-11 13:37:58.399 29637 30821 E AndroidRuntime: Process: com.ziggeo.androidsdk.demo, PID: 29637
03-11 13:37:58.399 29637 30821 E AndroidRuntime: java.lang.RuntimeException: eglCreateWindowSurface: EGL error: 0x3003
03-11 13:37:58.399 29637 30821 E AndroidRuntime: 	at com.pedro.encoder.utils.gl.GlUtil.checkEglError(GlUtil.java:135)
03-11 13:37:58.399 29637 30821 E AndroidRuntime: 	at com.pedro.encoder.input.gl.SurfaceManager.eglSetup(SurfaceManager.java:132)
03-11 13:37:58.399 29637 30821 E AndroidRuntime: 	at com.pedro.encoder.input.gl.SurfaceManager.<init>(SurfaceManager.java:47)
03-11 13:37:58.399 29637 30821 E AndroidRuntime: 	at com.pedro.rtplibrary.view.LightOpenGlView.run(LightOpenGlView.java:46)
03-11 13:37:58.399 29637 30821 E AndroidRuntime: 	at java.lang.Thread.run(Thread.java:919)

NullPointer uploading the video

Hi:
I got a null pointer exception after record the video and trying to upload it:

11-05 11:30:03.728 E/AndroidRuntime(32096): FATAL EXCEPTION: Thread-7369
11-05 11:30:03.728 E/AndroidRuntime(32096): Process: com.jiahaoliuliu.simpleziggeointegration, PID: 32096
11-05 11:30:03.728 E/AndroidRuntime(32096): java.lang.NullPointerException
11-05 11:30:03.728 E/AndroidRuntime(32096):     at com.ziggeo.androidsdk.ui.fragments.VideoRecorderFragment$1.run(VideoRecorderFragment.java:189)
11-05 11:30:03.728 E/AndroidRuntime(32096):     at java.lang.Thread.run(Thread.java:841)

I am not doing anything special. The source code could be found here:
https://github.com/jiahaoliuliu/SimpleZiggeoIntegration

Crash issue in Nexus 6

USER_COMMENT=null
STACK_TRACE=java.lang.IllegalArgumentException: Unsupported angle: 450
at android.media.MediaRecorder.setOrientationHint(MediaRecorder.java:493)
at com.ziggeo.androidsdk.recording.MediaRecorderManager.startRecording(MediaRecorderManager.java:134)
at com.ziggeo.androidsdk.ui.fragments.VideoRecorderFragment.startRecording(VideoRecorderFragment.java:348)
at com.ziggeo.androidsdk.ui.fragments.VideoRecorderFragment.record(VideoRecorderFragment.java:388)
at com.ziggeo.androidsdk.ui.fragments.VideoRecorderFragment.onClick(VideoRecorderFragment.java:177)
at android.view.View.performClick(View.java:5204)

setSendImmediatly(false) don't work.

Hi. I'm create new Ziggeo instance in Button onClickListener in Fragment like this
Ziggeo ziggeo = new Ziggeo(getString(R.string.ziggeo_appid));
ziggeo.setSendImmediately(false);
ziggeo.createVideo(getActivity(), ziggeo_video_duration);
and use EventBus for OnVideoSent event. But video always sent after recording. What's wrong?
And next question. How can I sent video not immediately after recording?

VideosService url_data Json Error

Hi,

Sorry for bothering with too many issues. I try to upload a video by calling:

mZiggeo.videos().create(fileToSaveRecording, null, object : ProgressCallback() {}

but when I do, I get the output:

D/OkHttp: --> POST https://api-us-east-1.ziggeo.com/embed/v1/applications/bc90c5d7ed6f42fb08d3c8cb5e54875e/scitylana/kcart
Content-Type: application/json; charset=utf-8
Content-Length: 331
--> END POST
D/OkHttp: <-- 201 Created https://embed.ziggeo.com/v1/applications/bc90c5d7ed6f42fb08d3c8cb5e54875e/videos/videos-upload-url (1263ms)
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS
Access-Control-Allow-Origin: *
Cache-Control: no-cache,no-store,must-revalidate
Content-Type: application/json
Date: Thu, 14 Oct 2021 19:09:43 GMT
Pragma: no-cache
Server: Apache
Vary: Accept-Encoding,User-Agent
X-Content-Type-Options: nosniff
X-Powered-By: PHP/7.1.33
Connection: keep-alive
<-- END HTTP
E/VideosService: org.json.JSONException: No value for url_data

Could you please take a look into this? Thanks in advance.

Video upload progress is return wrong values.

After recording the video, while uploading I believe we're getting the wrong values in the below callback function.

void uploadProgress(@nonnull String videoToken, @nonnull File file, long uploaded, long total);

uploaded bytes have greater value compared with total bytes. Attached is SS for reference.
Can someone from the team help me with this?

using implementation 'com.ziggeo:android-sdk:2.6.20'

image

Unable to playback video using video token

String videoToPlay1 = "-- Video Token here --";
ziggeo.startPlayer(videoToPlay1);

I am getting Player Error with the following error

2019-02-27 17:17:57.002 15639-15639/com.ziggeo.androidsdk.demo D/ZiggeoPlayerActivity: Player. Error
java.io.IOException: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 1182 path $.streams[0].push_services_success
at com.ziggeo.androidsdk.net.callbacks.BaseRxRequestCallback.onResponse(BaseRxRequestCallback.java:52)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)

Stop button not needed if sendImmediately is set to true

Continuing discussion from #30 (comment)

Setting .sendImmediately(false) shows two buttons in the recorder:

  1. "Stop & close button" which gives options to preview, re-record and submit the recording.
  2. "Send & close" check button which directly submits the recording.

But conceptually, sendImmediately should not mix two concerns. Am I making sense?

Also, what if we don't need the first button i.e. we can't allow our user to review their recording and can't have a re-record option. So is there a way we can hide the first button and keep showing the 2nd button when sendImmediately is set to false? Or vice-versa.

Use on Android 11 without external file storage access

Is it possible to use this SDK on Android 11, where access for READ_EXTERNAL_STORAGE is not permitted? I have not been able to get things working thus far on v2.5.7:

  • Using ziggeo.startCameraRecorder() gets stuck repeatedly flashing the "Camera, Audio, and Write storage access is needed to make recording" message (once you give camera and audio permissions) - probably because the write storage permission request will immediately fail at the OS-level.
  • Using ziggeo.startFileSelector() results in an empty page with the "Read storage access is needed to select a file" message, probably for the same reason as the above bullet point.
  • Using ziggeo.videos().create() is simply creating an "empty" video file in the dashboard. With Android 11, we must now access media through the contentResolver, which results in a URI with the scheme content://. Even if I then copy this into a File in internal app storage, the Ziggeo SDK seems to fail to find the contents to upload (although again, an "empty" video is created on the server). I'm not entirely sure why this is - perhaps the SDK can't access the app's internal storage. This also fails if I attempt to pass the content:// URI path or copied internal file path into the argsMap for the file key-value pair.

Is there anything more I can do here? Would it be possible to have ziggeo.videos().create accept java.io.InputStream?

How to customize video record layout ?

First I would like to thank for wonderful sdk.
I am facing the issue on customization for embedded video recorder. voice, camera switch, done, start recording options should be out side of the video view (will use custom buttons as per my design). I do not want show any icon in the video view.

can you please help me on this ?

  1. OnPageLoad recording should be started through front cam
  2. Camera switch access
  3. By Tapping Stop button, video recording should be stop and start upload to server

screenshot from 2016-12-03 20-20-40

Problem with permission of Camera on Android 6.0

Hi:
I am running this sample app on Nexus 9 with Android 6.0 and I cannot user the camera. The error I received is this:

11-04 14:40:12.261 E/CameraService(27581): Permission Denial: can't use the camera pid=32570, uid=10317
11-04 14:40:12.311 E/AndroidRuntime(32570): FATAL EXCEPTION: main
11-04 14:40:12.311 E/AndroidRuntime(32570): Process: com.ziggeo.ziggeodemowithoutsources, PID: 32570
11-04 14:40:12.311 E/AndroidRuntime(32570): java.lang.RuntimeException: Fail to connect to camera service
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.hardware.Camera.<init>(Camera.java:495)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.hardware.Camera.open(Camera.java:341)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at com.ziggeo.androidsdk.recording.CameraManager.openCamera(CameraManager.java:79)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at com.ziggeo.androidsdk.recording.VideoRecordingManager.surfaceCreated(VideoRecordingManager.java:66)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.view.SurfaceView.updateWindow(SurfaceView.java:582)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:177)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2055)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.view.Choreographer.doCallbacks(Choreographer.java:670)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.view.Choreographer.doFrame(Choreographer.java:606)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.os.Handler.handleCallback(Handler.java:739)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.os.Handler.dispatchMessage(Handler.java:95)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.os.Looper.loop(Looper.java:148)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at android.app.ActivityThread.main(ActivityThread.java:5417)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at java.lang.reflect.Method.invoke(Native Method)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-04 14:40:12.311 E/AndroidRuntime(32570):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Could you take a look on it?

SDK 31 Upgrade

Hello,

Recently we needed to upgrade the project's target SDK number to 31. When we did so, we saw that FullscreenRecorderActivity doesn't have 'exported=true' attribute declared in the manifest. To be able to run the app, we needed ziggeo to upgrade it's activities (that have intent-filter) to have 'exported=true'. (Saw in merged manifest, that FullscreenRecorderActivity and UriParserActivity don't have it.)

Can you please add this? Thanks a lot in advance.

Doesn't work with Android 13 - External Storage Permission always Denied

Since Android 13 these 2 permissions are always denied

android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

SDK is opening new Blank Activity with storage access error message on bottom.

Update Ziggeo Android SDK to work with Android 13 - Tiramisu Devices.

Can you please add support for this? Thanks a lot in advance.

Playback problem of video that's uploaded from desktop

Hi, when a video is uploaded from a desktop client, android sdk is unable to play it. I can see the thumbnail but preview function gives the following error:

05-02 21:14:03.668 27902-29257/com.myregistry E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error processing request. Version: 2.7.0
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:241)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.danikula.videocache.ProxyCacheException: Error using file /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-03.mp4 as disc cache. Version: 2.7.0
at com.danikula.videocache.file.FileCache.(FileCache.java:39)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83)
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49)
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-03.mp4.download: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:455)
at java.io.RandomAccessFile.(RandomAccessFile.java:247)
at com.danikula.videocache.file.FileCache.(FileCache.java:37)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
at libcore.io.IoBridge.open(IoBridge.java:441)
at java.io.RandomAccessFile.(RandomAccessFile.java:247) 
at com.danikula.videocache.file.FileCache.(FileCache.java:37) 
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
05-02 21:14:06.736 27902-29259/com.myregistry E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error processing request. Version: 2.7.0
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:241)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.danikula.videocache.ProxyCacheException: Error using file /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-06.mp4 as disc cache. Version: 2.7.0
at com.danikula.videocache.file.FileCache.(FileCache.java:39)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83)
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49)
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-06.mp4.download: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:455)
at java.io.RandomAccessFile.(RandomAccessFile.java:247)
at com.danikula.videocache.file.FileCache.(FileCache.java:37)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
at libcore.io.IoBridge.open(IoBridge.java:441)
at java.io.RandomAccessFile.(RandomAccessFile.java:247) 
at com.danikula.videocache.file.FileCache.(FileCache.java:37) 
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
05-02 21:14:09.782 27902-29275/com.myregistry E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error processing request. Version: 2.7.0
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:241)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.danikula.videocache.ProxyCacheException: Error using file /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-09.mp4 as disc cache. Version: 2.7.0
at com.danikula.videocache.file.FileCache.(FileCache.java:39)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83)
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49)
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-09.mp4.download: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:455)
at java.io.RandomAccessFile.(RandomAccessFile.java:247)
at com.danikula.videocache.file.FileCache.(FileCache.java:37)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
at libcore.io.IoBridge.open(IoBridge.java:441)
at java.io.RandomAccessFile.(RandomAccessFile.java:247) 
at com.danikula.videocache.file.FileCache.(FileCache.java:37) 
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
05-02 21:14:12.835 27902-29281/com.myregistry E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error processing request. Version: 2.7.0
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:241)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.danikula.videocache.ProxyCacheException: Error using file /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-12.mp4 as disc cache. Version: 2.7.0
at com.danikula.videocache.file.FileCache.(FileCache.java:39)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83)
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49)
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-12.mp4.download: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:455)
at java.io.RandomAccessFile.(RandomAccessFile.java:247)
at com.danikula.videocache.file.FileCache.(FileCache.java:37)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
at libcore.io.IoBridge.open(IoBridge.java:441)
at java.io.RandomAccessFile.(RandomAccessFile.java:247) 
at com.danikula.videocache.file.FileCache.(FileCache.java:37) 
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
05-02 21:14:15.891 27902-29345/com.myregistry E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error processing request. Version: 2.7.0
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:241)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.danikula.videocache.ProxyCacheException: Error using file /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-15.mp4 as disc cache. Version: 2.7.0
at com.danikula.videocache.file.FileCache.(FileCache.java:39)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83)
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49)
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-15.mp4.download: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:455)
at java.io.RandomAccessFile.(RandomAccessFile.java:247)
at com.danikula.videocache.file.FileCache.(FileCache.java:37)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
at libcore.io.IoBridge.open(IoBridge.java:441)
at java.io.RandomAccessFile.(RandomAccessFile.java:247) 
at com.danikula.videocache.file.FileCache.(FileCache.java:37) 
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
05-02 21:14:18.960 27902-29348/com.myregistry E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error processing request. Version: 2.7.0
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:241)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.danikula.videocache.ProxyCacheException: Error using file /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-18.mp4 as disc cache. Version: 2.7.0
at com.danikula.videocache.file.FileCache.(FileCache.java:39)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83)
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49)
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-18.mp4.download: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:455)
at java.io.RandomAccessFile.(RandomAccessFile.java:247)
at com.danikula.videocache.file.FileCache.(FileCache.java:37)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
at libcore.io.IoBridge.open(IoBridge.java:441)
at java.io.RandomAccessFile.(RandomAccessFile.java:247) 
at com.danikula.videocache.file.FileCache.(FileCache.java:37) 
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
05-02 21:14:22.015 27902-29253/com.myregistry E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error processing request. Version: 2.7.0
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:241)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.danikula.videocache.ProxyCacheException: Error using file /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-22.mp4 as disc cache. Version: 2.7.0
at com.danikula.videocache.file.FileCache.(FileCache.java:39)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83)
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49)
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-22.mp4.download: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:455)
at java.io.RandomAccessFile.(RandomAccessFile.java:247)
at com.danikula.videocache.file.FileCache.(FileCache.java:37)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
at libcore.io.IoBridge.open(IoBridge.java:441)
at java.io.RandomAccessFile.(RandomAccessFile.java:247) 
at com.danikula.videocache.file.FileCache.(FileCache.java:37) 
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
05-02 21:14:25.072 27902-29254/com.myregistry E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error processing request. Version: 2.7.0
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:241)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.danikula.videocache.ProxyCacheException: Error using file /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-25.mp4 as disc cache. Version: 2.7.0
at com.danikula.videocache.file.FileCache.(FileCache.java:39)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83)
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49)
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-25.mp4.download: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:455)
at java.io.RandomAccessFile.(RandomAccessFile.java:247)
at com.danikula.videocache.file.FileCache.(FileCache.java:37)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
at libcore.io.IoBridge.open(IoBridge.java:441)
at java.io.RandomAccessFile.(RandomAccessFile.java:247) 
at com.danikula.videocache.file.FileCache.(FileCache.java:37) 
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
05-02 21:14:28.116 27902-29257/com.myregistry E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error processing request. Version: 2.7.0
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:241)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.danikula.videocache.ProxyCacheException: Error using file /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-28.mp4 as disc cache. Version: 2.7.0
at com.danikula.videocache.file.FileCache.(FileCache.java:39)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83)
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49)
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-28.mp4.download: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:455)
at java.io.RandomAccessFile.(RandomAccessFile.java:247)
at com.danikula.videocache.file.FileCache.(FileCache.java:37)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
at libcore.io.IoBridge.open(IoBridge.java:441)
at java.io.RandomAccessFile.(RandomAccessFile.java:247) 
at com.danikula.videocache.file.FileCache.(FileCache.java:37) 
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
05-02 21:14:28.138 27902-29259/com.myregistry E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error processing request. Version: 2.7.0
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:241)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.danikula.videocache.ProxyCacheException: Error using file /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-28.mp4 as disc cache. Version: 2.7.0
at com.danikula.videocache.file.FileCache.(FileCache.java:39)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83)
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49)
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Ziggeo/Player/867d25dda59a46f87f3fab8d2fc4aad9_Z_VIDEO_02-05-2018_09-14-28.mp4.download: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:455)
at java.io.RandomAccessFile.(RandomAccessFile.java:247)
at com.danikula.videocache.file.FileCache.(FileCache.java:37)
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
at libcore.io.IoBridge.open(IoBridge.java:441)
at java.io.RandomAccessFile.(RandomAccessFile.java:247) 
at com.danikula.videocache.file.FileCache.(FileCache.java:37) 
at com.danikula.videocache.HttpProxyCacheServerClients.newHttpProxyCache(HttpProxyCacheServerClients.java:83) 
at com.danikula.videocache.HttpProxyCacheServerClients.startProcessRequest(HttpProxyCacheServerClients.java:49) 
at com.danikula.videocache.HttpProxyCacheServerClients.processRequest(HttpProxyCacheServerClients.java:39) 
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:234) 
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) 
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:338) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 

CameraX Exception

Hello, when I try to start ziggeo camera recorder, below exception is thrown.

Device: Pixel 7 Pro - Android 14

Dependency:
'com.ziggeo:android-sdk:2.6.21'

Exception configuring surface
java.lang.IllegalArgumentException: Expected index to be within 0..size()-1, but was 4
  at androidx.collection.SimpleArrayMap.keyAt(SimpleArrayMap.kt:313)
  at androidx.collection.ArrayMap$KeyIterator.elementAt(ArrayMap.java:506)
  at androidx.collection.IndexBasedArrayIterator.next(IndexBasedArrayIterator.kt:34)
  at com.ziggeo.androidsdk.widgets.cameraview.Camera2.collectAllSizes(Camera2.java:213)
  at com.ziggeo.androidsdk.widgets.cameraview.Camera2.collectCameraInfo(Camera2.java:192)
  at com.ziggeo.androidsdk.widgets.cameraview.Camera2.start(Camera2.java:138)
  at com.ziggeo.androidsdk.widgets.cameraview.Camera2$2.onSurfaceChanged(Camera2.java:113)
  at com.ziggeo.androidsdk.widgets.cameraview.PreviewImpl.dispatchSurfaceChanged(PreviewImpl.java:46)
  at com.ziggeo.androidsdk.widgets.cameraview.OpenGLPreview$1.surfaceChanged(OpenGLPreview.java:33)
  at com.pedro.rtplibrary.view.OpenGlViewBase.surfaceChanged(OpenGlViewBase.java:130)
  at android.view.SurfaceView.updateSurface(SurfaceView.java:1201)
  at android.view.SurfaceView.lambda$new$0(SurfaceView.java:225)
  at android.view.SurfaceView.$r8$lambda$NfZyM_TG8F8lqzaOVZ7noREFjzU(Unknown Source:0)
  at android.view.SurfaceView$$ExternalSyntheticLambda1.onPreDraw(D8$$SyntheticClass:0)
  at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1176)
  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3985)
  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2659)
  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9789)
  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1399)
  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1408)
  at android.view.Choreographer.doCallbacks(Choreographer.java:1008)
  at android.view.Choreographer.doFrame(Choreographer.java:938)
  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1382)
  at android.os.Handler.handleCallback(Handler.java:959)
  at android.os.Handler.dispatchMessage(Handler.java:100)
  at android.os.Looper.loopOnce(Looper.java:232)
  at android.os.Looper.loop(Looper.java:317)
  at android.app.ActivityThread.main(ActivityThread.java:8501)
  at java.lang.reflect.Method.invoke(Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)

Can't Initialize Callback

Callback callback;
long maxVideoDuration = 15000;
ziggeo.createVideo(getApplicationContext(), maxVideoDuration, callback);

This doesn't work. What is the correct way to initialize callback? And what does it actually do? The Docs are unclear about callback.

Crash using attachRecorder

Found an issue when I use attachRecorder, to use a Fragment on my layout to display the recorder.

When I tap record Icon, it immediately crashes. The issue is that the CacheFile comes as Null. Analysing the code. I found an issue, and was going to Fork the project and fix it, when I realized it's just a Demo Project that is on Github.

The issue I found was on lines:

559 - Fragment fragment = VideoRecorderFragment.getInstance(getCacheFolder(), this.maxRecordingDuration);
560 - fragment.setArguments(this.recorderBundleInitialisation());

On file Ziggeo.class.

Inside VideoRecorderFragment.getInstance, you already use setArguments, with ARG_PATH. But when you do this second setArguments on line 560, ARG_PATH gets lost, which causes a crash when I try to record it.

Error Existing from Video Player screen

Hi:
I am using the full screen video feature to record the video. After the video has been correctly recorded, I press the stop button, select the cover and click on the play button. The problem is after the video is correctly played, there is not way for me to come back to the previous screen other than press the physical back button. If I press it, the screen shown is the recording screen, not the one which allows me to upload or play the current video, so there is not way after play a video to upload the video played.

Please, save the state of the screen before I play the video so when I come back, I can still decide if I should upload the video or record a new video.

Thanks.

NPE on stopping the recorder

This exception is being thrown very frequently but can be reproduced. This is being thrown when stopped manually or when the timer finishes or when manually stopped (using the checkmark button):

03-12 15:03:17.593 11542 11542 E AndroidRuntime: FATAL EXCEPTION: main
03-12 15:03:17.593 11542 11542 E AndroidRuntime: Process: in.org.hooman, PID: 11542
03-12 15:03:17.593 11542 11542 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.Context.checkPermission(java.lang.String, int, int)' on a null object reference
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at androidx.core.content.ContextCompat.checkSelfPermission(ContextCompat.java:544)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.ziggeo.androidsdk.ui.fragments.BaseActionFragment.isPermissionGranted(BaseActionFragment.java:101)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.ziggeo.androidsdk.ui.fragments.BaseActionFragment.isPermissionsGranted(BaseActionFragment.java:45)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.ziggeo.androidsdk.ui.fragments.BaseRecorderFragment.startRecording(BaseRecorderFragment.java:99)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.ziggeo.androidsdk.ui.fragments.BaseCameraRecorderFragment.startRecording(BaseCameraRecorderFragment.java:116)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.ziggeo.androidsdk.ui.fragments.CameraRecorderFragment.startRecording(CameraRecorderFragment.java:356)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.ziggeo.androidsdk.ui.fragments.BaseRecorderFragment.lambda$loadConfigs$0(BaseRecorderFragment.java:52)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.ziggeo.androidsdk.ui.fragments.-$$Lambda$BaseRecorderFragment$VhRSI25HqTq6r_2bTkvqb6hQSx4.countdown(Unknown Source:2)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.ziggeo.androidsdk.recorder.CountDownHandler.start(CountDownHandler.java:24)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.ziggeo.androidsdk.recorder.CountDownHandler.lambda$start$0(CountDownHandler.java:29)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.ziggeo.androidsdk.recorder.-$$Lambda$CountDownHandler$gOW88V4_LPzxBPjp_4xr40KxRdE.run(Unknown Source:6)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:883)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:100)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:237)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7811)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
03-12 15:03:17.593 11542 11542 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)

Options I'm using are:

const options: ZiggeoOption = {
    facing: 1,
    maxDuration: this.competency.timePerQuestion,     // being set to 2 minutes
    autoRecord: true,
    disableCameraSwitch: true,
    confirmStopRecording: true,
    countdown: 3,
    title: this.question.title,
    quality: 1,     // 1 == medium quality
    customData: {
        questionID: 'some value',
        userID: 'some value',
        assessmentTestID: 'some value'
    }
};

Wrong video record orientation.

Whenever I record and upload a video, my record has different orientation (upside down)

I checked the local file under file system and saw that the orientation is wrong. Here is the screenshot.

screenshot_20180117-234017

Laucher Icon Collision

Am using the Android SDk and got this error "ic_launcher.png: error: Duplicate file" and "ic_launcher.png: Original is here, The version qualifier may be implied".
It appears that, there is ic_launcher.png in the library which collided with the default "ic_launcher.png". to work around this i had to either add the -v4 qualifier to resource folders , move just ic_launcher.png to *dpi-v4 or rename it

Application is not responding after playing preview on API 27+

Hello

I just added the Android SDK to the app and tried the camera recorder. It successfully launches the recording activity so I'm able to start recording. However, after stopping recording and trying to play the video I recorded, the application is not responding and nothing happens. I tried it on multiple Android versions and was able to reproduce it on API 27+, on lower APIs it works fine and opens the player with recorded video.

From the logs:

com.ziggeo.androidsdk.ui.activities.CameraRecorderActivity (server) is not responding. Waited 5000ms for FocusEvent(hasFocus=false))

I tried dependency from docs:

com.github.ZiggeoJitpackService:Android-SDK:2.6.5

and even some I found in some github issue:

com.ziggeo:android-sdk:2.6.20

Usage:

val ziggeo = Ziggeo(APP_TOKEN, requireContext())
ziggeo.startCameraRecorder()

Can you please check this issue?

Changing Video quality or Camera facing has no effect

Ziggeo ziggeo = new Ziggeo(APP_TOKEN, this);
RecorderConfig config = new RecorderConfig.Builder()
.callback(prepareCallback())
.quality(CameraView.QUALITY_LOW)
.facing(CameraView.FACING_FRONT)
.sendImmediately(false)
.enableCoverShot(false)
.maxDuration(20000)
.build();

ziggeo.configureRecorder(config);
ziggeo.startCameraRecorder();

I am using the above code, but quality and camera facing is not changing.

In file com.ziggeo.androidsdk.ui.fragments.BaseVideoRecorderFragment, init() function, getArguments() is always returning null when using ziggeo.startCameraRecorder() hence its skipping the init of variables from RecorderConfig and using default values. Can you see into this problem.

Thank you.

Cannot play video in v2.4.1

Hi,

SDK throws exception when I try to play an uploaded video:

D/OkHttp: <-- 200 OK https://embed.ziggeo.com/v1/applications/bc90c5d7ed6f42fb08d3c8cb5e54875e/videos/7dbc6f70358ec226bca1825117d97e65 (231ms)
Access-Control-Allow-Credentials: true
D/OkHttp: Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS
Access-Control-Allow-Origin: *
Content-Type: application/json
Date: Fri, 15 Oct 2021 23:00:14 GMT
Server: Apache
Vary: Accept-Encoding,User-Agent
X-Content-Type-Options: nosniff
X-Powered-By: PHP/7.1.33
Connection: keep-alive
<-- END HTTP
E/ZVideoView: java.io.IOException: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1330 path $.effect_profile
at com.ziggeo.androidsdk.net.callbacks.BaseRxRequestCallback.onResponse(BaseRxRequestCallback.java:50)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:174)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:929)

Can you please take a look into this?
Thanks.

This repository is not the SDK, consider renaming it

It's mentioned here https://ziggeo.com/docs/sdks/mobile/android that Ziggeo's Android Java SDK is managed publicly on this repo:

image

But this repository isn't the actual Android SDK. The actual SDK is hosted on jitpack.io at https://jitpack.io/#ZiggeoJitpackService/Android-SDK (which is also damn confusing).

For beginners (or whoever starting to use Ziggeo), it is very confusing and time taking to understand that this repo is not the SDK repo (so do not look for the changelog, commits) instead this is a sample Android app to demonstrate the SDK.

Consider renaming it to something like android-sdk-demo.

StopRecordingConfirmationDialogConfig resources as regular string

Hello,

In RecorderConfig.Builder class, I would like to add attribute stop confirmation dialog. But when I checked it, it only has resId params for title, message and button labels. Can you please also add feature to accept string as well?

Thanks in advance.

Unable to record video with front camera

I have taken latest sdk and sample but i am getting below error in MOTOZPlay device.

https://github.com/Ziggeo/Android-Client-SDK/tree/d6ca2a0a30cfc13b1f6bb67fef17f691a46d4cf3

FATAL EXCEPTION: main
                                                                            Process: com.ziggeo.androidsdk.demo, PID: 26614
                                                                            java.lang.RuntimeException: start failed.
                                                                                at android.media.MediaRecorder.start(Native Method)
                                                                                at com.ziggeo.androidsdk.widgets.cameraview.Camera1.startRecording(Camera1.java:123)
                                                                                at com.ziggeo.androidsdk.widgets.cameraview.CameraView.startRecording(CameraView.java:435)
                                                                                at com.ziggeo.androidsdk.demo.CameraViewActivity.onClick(CameraViewActivity.java:138)
                                                                                at android.view.View.performClick(View.java:5612)
                                                                                at android.view.View$PerformClick.run(View.java:22288)
                                                                                at android.os.Handler.handleCallback(Handler.java:751)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                at android.os.Looper.loop(Looper.java:154)
                                                                                at android.app.ActivityThread.main(ActivityThread.java:6123)
                                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.