guardianproject / haven

Haven is for people who need a way to protect their personal spaces and possessions without compromising their own privacy, through an Android app and on-device sensors
https://guardianproject.github.io/haven/
GNU General Public License v3.0
6.58k stars 728 forks source link

Video playback not working on older devices #342

Closed lukeswitz closed 5 years ago

lukeswitz commented 5 years ago
lukeswitz commented 5 years ago

related: #333

Applicable logs: Playback

 E/MediaPlayer: Attempt to call getDuration without a valid mediaplayer
    error (-38, 0)

Recording W/System.err: java.lang.IllegalStateException: The muxer track has finished muxing 08-30 15:09:52.687 16037-16423/org.havenapp.main W/System.err: at org.jcodec.common.Preconditions.checkState(Preconditions.java:441) at org.jcodec.containers.mp4.muxer.CodecMP4MuxerTrack.addFrameInternal(CodecMP4MuxerTrack.java:99) at org.jcodec.containers.mp4.muxer.MP4MuxerTrack.addFrame(MP4MuxerTrack.java:84) at org.jcodec.containers.mp4.muxer.CodecMP4MuxerTrack.addFrame(CodecMP4MuxerTrack.java:94) at org.jcodec.api.transcode.SinkImpl.outputVideoPacket(SinkImpl.java:71) at org.jcodec.api.transcode.SinkImpl.outputVideoFrame(SinkImpl.java:223) at org.jcodec.api.SequenceEncoder.encodeNativeFrame(SequenceEncoder.java:101) at org.jcodec.api.android.AndroidSequenceEncoder.encodeImage(AndroidSequenceEncoder.java:50) at org.havenapp.main.sensors.motion.CameraViewHolder.recordNewFrame(CameraViewHolder.java:280) at org.havenapp.main.sensors.motion.CameraViewHolder.lambda$null$2(CameraViewHolder.java:222) at org.havenapp.main.sensors.motion.-$$Lambda$CameraViewHolder$ZdQ-1jN2fJQ2Tc4GyJfvE4JsjV0.run(lambda) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)

n8fr8 commented 5 years ago

Yes, video needs a round of QA for sure on older devices.

lukeswitz commented 5 years ago

Now appears in logs as a blank video but the monitors all work otherwise, New log for issue:

I/System.out: [WARN] . (:0): No frames output.

lukeswitz commented 5 years ago

App doesn’t work on most older devices. Closing.

n8fr8 commented 5 years ago

On Mon, Apr 22, 2019, at 8:37 AM, Luke Switzer wrote:

App doesn’t work on most older devices. Closing.

Video is definitely a feature I am happy to restrict to newer devices.

Beyond that, we should continue to try and support at least back to Android 6 and something like a Nexus 5 or Moto G.

Is the "most older devices" issue related to the camera performance? Turning off the live preview of motion would solve that.