[RELEASE] HD+ - Android Dashboard

Here's what I'm thinking.. I used to have a global setting called "Click Action" which would affect what happens when you click on a device that can be toggled on/off.

I would move that global setting to a device setting (see screenshots below) which replaces the PIN protect setting that's there today.

When you pick one of the choices you can then decide if you want that to apply to just this device, all other devices of the same device type (ie: lights) or all devices.

It seems to me that would cover most cases without too much effort. I'll try to keep all current settings too (PIN protect, etc)

4 Likes

Sorry, while I'd love to port it I don't have any current plans to do it.. mostly just due to not having the time! Originally this was intended to be for wall mounted dashboards and I didn't envision many users sticking an expensive iPad on the wall when a $25 Fire tablet would work.

2 Likes

That seems like a great plan

I am aware of the change, but it keeps reverting after i set all the back buttons to 12X2, which covers the entire top row

I think this covers the gamut very well. :+1:

That sounds great. I can save PIN for a few devices that need it.

One little thing regarding the PIN. If you incorrectly enter the PIN it pops up a message, but you have to use the keyboard backspace to remove the incorrect entry before retrying. I wondered if it’s possible for the incorrect entry to auto clear from the boxes when the ‘incorrect PIN’ prompt appears.

Update on the Exoplayer and RTSP video @jpage4500

RTSP has been streaming permanently in the demo app for 16 hours now without fail.

Unfortunately the Exoplayer video tile with the same stream in the dashboard has also remained running overnight (about 10 hours). My hope was, that the Exoplayer tile would fail overnight and if the RTSP demo was still going strong it might reveal something.

I'm going to leave two tablets untouched - the one running RTSP demo and one running the Hubitat Dashboard with the Exoplayer tile and see what happens.

funny you should mention that.. while testing the PIN entry I noticed that too and changed it to auto-clear when you get it wrong.

2 Likes

Right so I got home this evening and the two tablets running Hubitat Dashboard with the RTSP stream using Exoplayer have failed/frozen. A bit different this time in that the buffering icon was flashing/stuttering and when I've dumped the logs in the app, the attempted reconnect (I'm guessing) has failed and it was writing 21 entries per second to the logs!

The RTSP demo has continued working throughout - now nearly 24 hours connected, so it appears that whatever kills the connection when using Exoplayer does not do the same for the RTSP viewer.

I'll post a chunk of the logs here but it only went back a few minutes due to the number of events.

Summary

221221 - Kitchen Debug

12/21 16:10:27 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:27 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:27 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:27 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:27 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:27 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:27 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:27 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:27 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:27 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:27 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:27 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:27 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:27 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:27 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:28 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:28 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:29 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:29 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:30 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:30 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:31 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:31 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 2

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 2

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:32 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:32 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 2

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:33 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:33 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:34 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:35 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:35 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:36 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:36 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:37 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:38 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:38 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:39 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:39 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:40 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:40 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:41 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:41 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:42 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:42 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 2

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:43 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:43 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:44 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:44 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:45 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:45 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:45 I DebugHelper DEVICES:141, SIZE:70k

12/21 16:10:45 I DebugHelper MODEL:KFTRWI, OS:9, SDK:28

12/21 16:10:45 I DebugHelper IP:192.168.0.50, APP_ID:1420, HAS_TOKEN:true

12/21 16:10:46 D FileUtils shareFile: /data/user/0/com.jpage4500.hubitat/files/debug-log.txt

12/21 16:10:46 D FileUtils shareFile: /data/user/0/com.jpage4500.hubitat/files/event-log-internal.txt

12/21 16:10:46 D FileUtils shareFile: /storage/emulated/0/Android/data/com.jpage4500.hubitat/files/dashboard-192.168.0.50.txt

12/21 16:10:46 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:46 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:46 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:46 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (3362045)

12/21 16:10:46 D DeviceVideoView ExoPlayer (default) (3362045): onDroppedVideoFrames: 1

12/21 16:10:46 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (3362045)

12/21 16:10:46 D DeviceVideoView stopVideo: ExoPlayer (default), rtsp://admin:@192.168.0.250:50002/Streaming/Channels/202/

12/21 16:10:50 D HubitatManager handleResume: isFirstSync:false

12/21 16:10:50 D MainActivity handleUploadLogs: upload log selected! ["/data/user/0/com.jpage4500.hubitat/files/debug-log.txt","/data/user/0/com.jpage4500.hubitat/files/event-log-internal.txt","/storage/emulated/0/Android/data/com.jpage4500.hubitat/files/dashboard-192.168.0.50.txt"]

12/21 16:10:50 D HubitatManager checkCloudMode: currentSSID:["EA34"]

12/21 16:10:50 I HubitatManager checkCloudMode: MODE_AUTO, CLOUD: hasPermission:true, SSID:EA34, TOKEN:false

12/21 16:10:50 W HubitatManager createNetworkEndpoints: no cloud token set

12/21 16:10:50 D HubitatManager createNetworkEndpoints: connecting to LOCAL IP: http://192.168.0.50/apps/api/1420/

12/21 16:10:50 D HubitatManager syncDevices: full:false

12/21 16:10:50 D DashboardConfig setGridSize: itemHeight:174, cols:11, offset:5 (screen:1920x1128)

12/21 16:10:50 D DeviceVideoView playVideoExoPlayer: rtsp://admin:@192.168.0.250:50002/Streaming/Channels/202/

12/21 16:10:50 D DeviceVideoView onPlaybackStateChanged: state:2, ExoPlayer (default) (115352340)

12/21 16:10:50 D DeviceVideoView onRenderedFirstFrame: ExoPlayer (default) (115352340)

12/21 16:10:51 D HubitatManager checkIfAllResponsesReceived: updated:7

12/21 16:10:51 D DeviceVideoView connect: same URL:rtsp://admin:@192.168.0.250:50002/Streaming/Channels/202/, ExoPlayer (default) (115352340)

12/21 16:10:53 D DeviceVideoView onPlaybackStateChanged: state:3, ExoPlayer (default) (115352340)

As you can see it went nuts!

This is good - I need to now figure out what's different between the demo and what I'm doing.. both are using the same library so there must be something different.

This looks like the state was going from buffering to playing over and over again. All of this happens in the driver so I'm not sure what I can do to change it. Maybe there's some buffering options that I can change though.

FWIW I also I ordered a couple of Reolink indoor cameras so I can have more RTSP devices to test with.

EDIT: in the meantime, you can turn debugging off in the app (tap 4 times on nav drawer logo).. that will stop the app from all of that debug logging

1 Like

I have android 4.4.4 1.0.1674 works, nothing above that. All the links above go to 1.8.xx. The version page on the document goes up to 1.0.14. I'm just looking for 1.0.1674, please.

Bump?

I don't keep old versions of the app. Worst case I could just get that version and build it. Are you able to get any device log to see why the newer versions don't work? I'm guessing there's some crash on startup which will prevent sending logs from the app.

1.0.1822 also works on Android 4.3 (the Wink Relay version).... I know there were a couple of versions before that which had stopped working on Android 4.3.

Versions past 1.0.1822 will install but fail when the app is started (at least on the Relay).

The app crashes on startup

I was able to re-build this version (with a minor change since one of libraries doesn't exist anymore) - the apk is here.

The app crashes on startup

I checked and the next released version after 1.0.1674 has some library updates so I assume one of these is causing the crash on the 4.4.4 device. I might be able to fix it but I'd either need a 4.4.4 device to test with (I don't have anything lower than Android 7 I think) or to get the device logs from your device.

But, since the app crashes on startup you'd have to get the device logs manually and send them to me.

1 Like

I recently updated an Icon image - overwriting the image with a cleaner version - I did NOT change the name of the icon. Normally I version icons, but this time I didn't. shrugs

The icon for the device will not update. Like it is stuck in Cache. I've tried open /close app, open close my emulator, and run emulator disk cleanup to rebuild cache, nothing is working. How can I force a cache clear without loosing any layout work? ps. I've got backups up the gazoo.

The image loader will cache images and I can look at adding some way to clear the cache (ie: debug mode option). In the meantime, what should work is doing a clear data on the app and then restoring from backup.

ARGHHHHH. all custom icons now gone. checked 6 backups I've done... frustrating. I use image picker.

I ran my own test..

  • set a custom tile image using "Image Picker.."
  • backed up the dashboard to an external file location
  • did a clear data on the app
  • restored dashboard using the backup

I also didn't get the custom icon restored.. this article explains why

It seems like Android OS is determined to only give you temporary access to anything you get back via it's file picker. I can (and do) ask for longer access but even that goes away when you do a 'clear data' which essentially clears all permissions that the app had.

Note this really only applies to "Image Picker.." and image URL's that start with: content://...

The reason it all works today is because the image loader caches images.. so it doesn't likely need to load them from the original source for a long while.

That document mentions making a copy of any image selected via Image Picker but that won't help if you do a clear data (which will remove all files the app creates).

The best options I can think of are:

  1. define a folder where you can put images on your device and the app will look for them there
  2. use the hub's filemanager for custom images. You do have to be on the local network to access the hub's filemanager but only once (from that point on they'll be cached)

thanks for the research! this may explain all my bizarre icon issues for the last year or so... sort of. anyways.
Moving icons to the hub isn't desired for me. I'll try a custom folder / media manager next.
Jim