Keep track of last_id which is the last frame id that we have info for. Use it instead of Frame Count to prevent
accessing non-existent frame records
close ffmpeg_input on event change
include duration in status messages because it may change when playing an in-progress event.
when we hit the end of our frame data if it is an in-progress event, reload the event data instead of moving to the next event.
Include X-Timestamp in http headers to match live stream behaviour
Only send time to next event when mode=ALL
Fix scale behaviour on event view
* Add eslint to travis.yml
* Update eslint package versions and apply new indent rules
* Enable the brace-style and block-style eslint rules
* Enable the 'curly' eslint rule
* Enable the 'keyword-spacing' eslint rule
* Enable the 'key-spacing' eslint rule
* Enable the 'object-curly-spacing' eslint rule
* Enable the 'no-new-object' eslint rule
* Only disable the no-caller eslint rule in the one affected file
* Enable the 'no-unused-vars' eslint rule for local variables
* Add linting of JS in .php files
* Fix nearEventsQuery
Removed dbEscape from getNearEvents previous event because it only returns 0. Now matches next. Changed getEventDefaultVideoPath function to return a web path rather than the absolute path based on ic0ns branch. Also added start times to allow for videoJS replaymode.
* Unescape filters
Filters need to be unescaped
* Add initial values to page load
* Add replay modes to videojs
* rough in figuring out a frame in between bulk frames
* Add alarmCues
Add a graphical indication of where alarm frames happened in an event. Similar to what zmNinja shows.
* Add remaining buttons to videojs
Functionality for all buttons on videojs streams. FF/RW buttons show as active when they are active.
* Whitespace and fix Bulkframe calcs
* Fix zms events trying to generate with mp4 code
ZMS events would attempt to generate frames as though they were an mp4/passthrough type because the full eventpath wasn't passed
* ZMS scrub bar
Move zms scrub bar to bottom of image feed. Make it simpler and more like videojs style.
* Wrap event feeds properly
* Fix dvrControls on watch view
* Add scaleToFit
Add a scaleToFit option to event view
* Add navigation for videoJS streams
Disables nav buttons at beginning and end of events. Handles switching from zms to videojs. If zms crashes changes next event function to reload page instead of ajax.
* Add scaleToFit to watch and frame view
Adds scaleToFit to watch view. Since frame view uses the watch cookie this required changes to frame view
* Add transition to zoom
* Change stills view to match stream
Move stills slider bar to match scrub bar on streams. Allow it to resize, make it larger. Add alarmcues.
* Add Stills for every event
Add stills for every event. Match size to stream size
* Progressbox transitions
Switched alarm cues from API to ajax/status.php. Less overhead due to only requesting the information it needs and avoids a weird problem with authentication after sitting logged in for hours.
ZMS zoom would display broken jpegs with arbitrary scale. When using scaleToFit set zms scale to nearest regular scale and let the browser handle the rest.
This hasn't worked for a while. It looks like it's the result of a fix for filter window redirecting. It's possible other things use it but this fixes event deletion without touching anything else.
Added a scale to fit option. When navigating between events of different size they will fill the window. Turned on when any event uses it, turned off when any event turns it off.
Videojs navigation now uses ajax. Feels and is faster. Some improvements, namely if zms ever crashes we can still navigate. Both zms and videojs update the address bar so refreshing a page doesn't return you to the first event.