-
Notifications
You must be signed in to change notification settings - Fork 28
/
changelog.txt
224 lines (184 loc) · 15.1 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
v1.2.3 (Nov 30 2015)
--------------------
- Removed import of previewgui in default.py
v1.2.2 (Nov 22 2015)
--------------------
- Few more fixes to logic when playing fullscreen from preview
- Added settings to control how playing fullscreen from preview works, including choosing between all camera player, or itself with/without controls
- Made changes to what is logging, including fixing the service changing the log level if it changes.
v1.2.1 (Nov 15 2015)
--------------------
- Few fixes to logic when playing fullscreen from preview
- Resolved negative wait time issue when trigger_interval is reported as 0 from the Foscam HD camera
v1.2.0 (Nov 14 2015)
--------------------
- New icons for SD/HD Foscam Cameras to differentiate
- Updated description in addon.xml
- Added Context Menu options to main menu cameras
- Fixed MjpegInterlace setting on Previews
- Decoupled the service from the preview window to make the add-on more capable and efficient. Open and Close now done through requests
- Ability to restart the service manually
- Added hard timeout for mjpeg frame extractor code due to it causing a 'crashed' camera to never exit a loop
- 5 and 6 camera support added for previews and menu, not integrated yet into All Camera player which still is cameras 1-4 only
- Ability now to remotely change the URL of the Preview Camera as requested by @mrjd
- Fixed any found bugs
v1.1.1 (Nov 08 2015)
--------------------
- Broke a few things in the process of finalizing, fixed this...
v1.1.0 (Nov 06 2015)
--------------------
- Initial Foscam SD Support. Core functions covered but waiting on official SDK approval from Foscam to make sure I can properly implement the features.
- Revamped Camera API system so add-on can be made to support more camera types if the API is known
- Support for Python 2.6 builds of Kodi fixed
- Added in a feature setting to Toggle Preview Window Open or Closed using the same command (useful if mapped to a button)
- Altered Trigger Interval setting to original way as a camera with continued alarm detection could close then reopen instead of continuing to stay open until the alarm condition cleared
- PTZ Sensitivity is now set individually by camera
- Improvements made to error handling and detection when acquiring images
- Added a Timeout setting for HTTP requests so if one camera goes offline, it doesn't slow down the Add-on responsiveness when accessing the menu. Also errors out faster if images can't be acquired.
- Fixed Dismissing previews so all previews are dismissed properly if that is how it is configured in settings (previously only affected interval)
- Collapsed image updating for previews into the preview window class
Foscam SD Current Feature Support
- All playback methods including Previews
- Motion and sound detection work, but must be configured on the Camera's web interface
- Pan and Tilt Controls
- Mirror and Flip
- Reboot
Foscam SD Features not yet Supported (Pending SDK Approval and Delivery from Foscam)
- All Configurations from within the Add-on (Camera Settings)
- Presets and Home Location
- IR LED Settings
v1.0.7 (Oct 24 2015)
--------------------
New Features:
- Ability to configure behavior of calling script to show preview multiple times. Now can toggle window open and closed.
v1.0.6 (Oct 24 2015)
--------------------
Fixed Issues:
- Several small fixes to work on first time config
v1.0.5 (Oct 24 2015)
--------------------
Fixed Issues:
- Previous fix didn't work. Using try/except.
v1.0.4 (Oct 24 2015)
--------------------
Fixed Issues:
- Removing comment that was placed in error
v1.0.3 (Oct 24 2015)
--------------------
Fixed Issues:
- Further improved utils.py to check if data before executing commands
v1.0.2 (Oct 24 2015)
--------------------
Fixed Issues:
- Removed a log line in utils.py which failed if artwork has never been cached.
v1.0.1 (Oct 24 2015)
--------------------
Fixed Issues:
- Removed reference to old foscam.py in service.py
v1.0.0 (Oct 24 2015) - Official Release
---------------------------------------
Fixed Issues:
- Camera controls don't display on generic IP cameras
- Code cleaned up, performance improvements and documented code
- Image cleanup doesn't remove fanart
- Improved generic IP camera support
New Features:
- New settings menu overhaul with added features
- Extended Menu with advanced features
- Foscam Camera Settings window added to configure the Foscam Camera
- Icons by camera type
- Fanart updates using snapshot image from camera
- New interlaced mjpeg mode can reduce flicker on slower computers
- IR LED controls
- Notifications showing add-on information added. This can be turned off in settings.
- Configure preview behavior, separated by service and manually requested
Known Issues:
- *HIGH PRIORITY* When using MJPEG for all player or preview, its possible there might be a lag that grows overtime depending on network speed and computer speed. Work Around: Use snapshots
- *MEDIUM PRIORITY* Zoom buttons are not included in remote/keyboard navigation scheme yet. Work around: Use the mouse
- *MEDIUM PRIORITY* Screensaver will come on during All Camera player when its playing
- *LOW PRIORITY* Trigger interval is allowed to be 0 in the code which causes a camera thread to hang. This is a bug from the camera itself which I discovered so I'm not sure if I should put a check into it. Camera value should be 5-15 but somehow my one camera became 0-10 which is not correct. I will try to reset it to factory to see if this resolves it.
- *LOW PRIORITY* Z-Order of windows isn't optimized if calling from the script for multiple player types. Not a likely scenario but some 'error' logic can be added to prevent any potential issues
- *LOW PRIORITY* If multiple preview windows are opened, you can only close the window by mouse which was opened last.
v0.2.0 (Oct 7 2015)
-------------------
Fixed Issues:
- If playback ends on its own, controls stay on screen until closed manually. -> Controls are now not drawn until playback has started and will close the control window through a callback
- Camera perceived responsiveness to move button presses improved through a hack which plays the video starting ahead of current time. Still requires good network connection.
- Fixed sleep interval time as it was halfed
- Reduced flicker in all_cameras even more on MJPEG by making it interlaced. Considered a hack now, and will be included in a future setting option (as flicker was seen on AMD A6 but not i3 HTPCs)
- Fixed issue where settings werent taking the MJPEG url manually due to a typo
- Mjpeg -> JPEG stream used in the all camera player and previews were bound to foscam cameras for no real reason.
- Several fixes related to generic IP camera support, tested on a DLink DCS-932L.
.. Fixed settings to show preview settings for generic IP Cam
.. Fixed issue where an array was out of bounds with 4th camera, no convesion in camera number since arrays start at 0
.. Changed the MJPEG -> JPEG converter code to work with both Foscam and my D-Link. Hopefully other MJPEG Generic IP Cameras will work similarly.
New Features:
- Added Support for Kodi 14 (Helix)
- Renamed add-on as Surveillance Room, with new icon and fanart. RunScripts will need to be updated to plugin.video.surveillanceroom
- Improved Generic IP Camera Support, tested on
- Ability to rename cameras and it will display, but not update the FoscamHD camera itself.
- Ability to set a preset of the current location in the single camera player. If set, when the add-on service starts it will go to this preset location. Preset can be removed too.
- Zoom Buttons added to single player for supported FoscamHD cameras
- All Camera Move Buttons are now FoscamHD functional
- Camera Flip and Mirror buttons are now FoscamHD functional
Features in Progress:
- New Extended Menu with added options and tests. To help in choosing configuration settings.
- Moving camera API from foscam.py to foscam2.py for improved capabilities and reliability.
- Adding options to settings to include: Anti-Flicker hack options; reset to preset home location on/off; ptz sensitivity; ptz speed; ability to service on/off globally
Known Issues:
- Trigger interval is allowed to be 0 in the code which causes a camera thread to hang. This is a bug from the camera itself which I discovered so I'm not sure if I should put a check into it. Camera value should be 5-15 but somehow my one camera became 0-10 which is not correct. I will try to reset it to factory to see if this resolves it.
- Z-Order of windows isn't optimized if calling from the script for multiple player types. Not a likely scenario but some 'error' logic can be added to prevent any potential issues
- If multiple preview windows are opened, you can only close the window by mouse which was opened last.
**NEW** - Preset and Zoom buttons are not included in remote/keyboard navigation scheme yet
**NEW** - Screensaver will come on during All Camera player when its playing
**NEW** - Controls show on single camera player for generic IP Cameras when API doesn't work for them
v0.1.0 (Oct 7 2015)
-------------------
Fixed Issues:
- No loader picture for previews. -> Didn't add loader, but added Black background which also helps any potential image flicker
New Features:
- Camera controls will now display depending on what is supported by the camera on the single camera player (Excluding Zoom which is not yet implemented)
- Ability to open camera stream/all camera player/preview RunScript() to use with key configuration or for use externally (home automation, etc)... and Future Context Menu integration capability as well!
All Camera Player: RunScript(plugin.video.foscam4kodi, fullscreen, 0)
Single Camera Player: RunScript(plugin.video.foscam4kodi, fullscreen, <camera_number>)
Preview Window: RunScript(plugin.video.foscam4kodi, preview, <camera_number>)
- Slight Overhaul of the settings menu to make more sense. It's not pretty yet but allows for customization of more features described as follows.
.. Ability to choose between mainstream or *new* substream and MJPEG for single camera stream
.. Ability to configure using snapshots or MJPEG stream for previews and all camera player. MJPEG is approx 10 FPS minimum, snapshots are 1FPS minimum by my tests.
.. Ability to choose which windows not to show for if opened (ie home screen, system settings, content selection panes, etc) (Works but haven't performed exhaustive testing!)
.. Configurable playback start time after preview is selected to play fullscreen - (Works but haven't performed exhaustive testing!)
.. Configurable dismissal time (hardcoded at 15 right now) and configurable behavior (all cameras or just that one camera) -> (Works but haven't performed exhaustive testing!)
Features in Progress:
- Ability to rename cameras and display that while playing for better user experience. -> Added to settings but not used in main code yet.
Known Issues:
- Timeout of 2 seconds added to camera test connection which sometimes is flaky since the result is cached until kodi restarts or the settings change.
- Trigger interval is allowed to be 0 in the code which causes a camera thread to hang. This is a bug from the camera itself which I discovered so I'm not sure if I should put a check into it. Camera value should be 5-15 but somehow my one camera became 0-10 which is not correct. I will try to reset it to factory to see if this resolves it.
- Occasionally I found that a camera can 'die'. This requires a reboot of Kodi to resolve since its the Kodi window manager having an issue with a control. I think I have a way to detect it and try to programatically fix it, but if it still fails I should be able to send a notifaction dialog to reboot kodi and try again. (While still allowing it to run, albeit glitchier...erm the image in the all camera view stutters)
- If playback ends on its own, controls stay on screen until closed manually.
- Icons and fanart aren't correct for this plugin.
**NEW** - Z-Order of windows isn't optimized if calling from the script for multiple player types. Not a likely scenario but some 'error' logic can be added to prevent any potential issues
**NEW** - If multiple preview windows are opened, you can only close the window by mouse which was opened last.
**NEW** - Mjpeg stream used in the all camera player and previews are bound to foscam cameras for no real reason. This needs to be corrected. Work Around: Choose snapshot from the settings
**NEW** - Black background not added to all camera player
v0.0.2 (Oct 2 2015)
-------------------
Fixed Issues:
- 2 addons showing for this in the Program Addons view. -> Fixed by changing the extension point type in addon.xml from xbmc.python.script to xbmc.python.library
- Single camera is slow to load. This is because it is testing the connection first. -> Fixed by changing the settings call for Level 2 instead of Level 3. Level 3 tests the connection first and Level 2 uses the cached result.
- Dismissal time was not captured. -> Fixed now by making sure preview window sets the dismissed time on a close action.
New Features:
- Ability to open the camera to full display if selected from the preview (Select or Enter). This will stop any currently playing media. When Exited, the previously playing media will play again from where it stopped minue 10 seconds.
Features in Progress:
- Ability to choose which windows not to show for if opened (ie home screen, system settings, content selection panes, etc) -> Just needs settings implementation... like the 2 below.
- Configurable playback start time after preview is selected to play fullscreen - Half implemented. Just need to create settings and the globalSettings() function, then add the variable to the monitor.reset() call
- Configurable dismissal time (hardcoded at 15 right now) and configurable behavior (all cameras or just that one camera) -> Half implented by adding logic to the global monitor. globalSettings will need to update on monitor.reset() call.
Known Issues:
- Timeout of 2 seconds added to camera test connection which sometimes is flaky since the result is cached until kodi restarts or the settings change.
- Trigger interval is allowed to be 0 in the code which causes a camera thread to hang. This is a bug from the camera itself which I discovered so I'm not sure if I should put a check into it. Camera value should be 5-15 but somehow my one camera became 0-10 which is not correct. I will try to reset it to factory to see if this resolves it.
- Occasionally I found that a camera can 'die'. This requires a reboot of Kodi to resolve since its the Kodi window manager having an issue with a control. I think I have a way to detect it and try to programatically fix it, but if it still fails I should be able to send a notifaction dialog to reboot kodi and try again. (While still allowing it to run, albeit glitchier...erm the image in the all camera view stutters)
- If playback ends on its own, controls stay on screen until closed manually.
- Icons and fanart aren't correct for this new plugin name.
v0.0.1 (Oct 1 2015)
-------------------
- Initial Alpha Test Release
- Tested on F19804p and F19831w using Firmware 2.11.1.118