* Refactor EXIF function
Refactor the dedicated jpeg EXIF routine into prepare_exif(), to become a comon function used to prepare exif data for jpeg _and_ webp files. This change does not introduce any WEBP related code.
* EXIF handler for WEBP
Add the EXIF handler for WEBP files.
* Add EXIF data to WEBP files
A WEBP MUX is used to add the EXIF data to the WEBP files.
* Fix pthread_setname_np detection
Commit 6617c6f2c8 replaced
AC_LINK_IFELSE with AC_COMPILE_IFELSE. This has broken the
pthread_setname_np detection as compilation will always succeed even if
pthread_setname_np is not available (if the function is not found, a
simple warning will be displayed in config.log).
The correct fix is to put back AC_LINK_IFELSE with -pthread in LIBS
otherwise compilation will fail on toolchain without pthread_setname_np.
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
* Check for pthread_getname_np
On some toolchains (like musl), pthread_setname_np is available but not
pthread_getname_np so add this check in configure.ac
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
* Revision for detection of XSI vs GNU variants of strerror
Implement a new configuration option which allows users to specify the
type of parameters which can be accessed via the webcontrol page. The
new option permits levels 0(none) to 3(restricted) with a default of
none. This option is to enhance the security associated with the
application for users that may expose the webcontrol port publicly.
Close#515
* Timelapse Options
1. Revise the configuration options to have some of the timelapse options use distinct configuration values.
Closes#43
* Whitespace
* High Resolution
Refactor the netcam_rtsp module and associated image variables to allow for processing a dual stream from rtsp cameras.
Continue the process of segregating the functionality of the netcams into distinct modules based upon their function.
The correction to my previous method of setting an existing string
(commit 3af03ad) inadvertently caused a memory access violation,
which causes a crash when trying to write the config.
Fix this by using a separate string buffer.
* Add a runtime argument to dump config options
In order to simplify support requests, we can now dump all enabled
config options to the log(file), with argument 'o' for 'options'.
Any likely sensitive information will be redacted.
* Documentation update for dump config argument
Resolve issues related to RTSP Cameras
1. Do not drain the codec at each frame
2. Add variable active to context and remove #ifdef HAVE_FFMPEG
3. Reset return code for encoding when timing problems for pts
4. Set the jpeg error messages to debug level.
5. Comment out the frame timing debug messages that flood log.