* Additional Travis Testing
This commit includes the following revisions to the testing.
1. Add a output from the configure script to indicate version of libavformat.
2. Add test_builds.sh script which includes tests for following with/without options.
--with-developer-flags, --without-ffmpeg, --without-mysql, --without-pgsql
--without-v4l2, --without-mysqlite3
3. Add testing via docker for 16.04 and 17.04
1. Revise the developer warnings to treat all warnings as errors
2. Revise a few of the comparisons of signed to unsigned.
3. Isolate the setjmp to separate function since it is warning on 14.04
4. Remove redundant clang OSX test since gcc is really clang according to travis logs
This commit updates the travis testing for the following:
1. Adds Mac OS X testing for gcc and clang
2. Removes the testing on precise
3. Adds the developer flags to the configure
4. For trusty, tests both the default ffmpeg libraries from apt as well as those in the ppa.
1. Revised the MYSQL/PGSQL to search directories
2. Revised the MYSQL/PGSQL to use the package config files if available.
3. Revised the CPU options to honor the --without-optimizecpu option.
4. Revised the include for MYSQL/PGSQL to conform with search and package results.
Allow setting a 'conf_value' and 'copy_func' to the deprecated option.
This way some backwards compatibility can be obtained by simply
setting the new option to the wanted value. The deprecated option
will not exist within the config structure, so it won't be able
to accidently print out in a config write.
With the config system, maintaining backwards-compatability
can be quite difficult. Especially with things like the Web
control config-write ability.
Furthermore, most config options are either totally removed
or succeeded by a different set of options. This does not require
any backwards-compatability.
The `dep_config_params` array is checked when a config option
is unknown to the current system (`config_params`).
If the option is found, a warning is logged for the user to see.
We tell them the last version it was used and why it changed.
When running multiple cameras or a single camera with the
config `camera` lines, motion creates a thread for each
camera (even if just the one).
A mis-configuration can easily happen where the `stream_port`
option remains set in `motion.conf`. This causes the Web control
preview section to show a duplicate of one stream.
Prevent this by knowing that if we are multi-threaded,
the main thread has no active camera and don't loop over it.
Add an (int) flag to the context structure to flag config files
loaded by `camera_dir`. We do this to skip writing them out
as separate `camera` lines.
Also fixed the printing of a blank line to the config when
printing out the default disabled `camera` line.
Previously the directory was being used for the camera files but not
being stored and therefore a Web Control config write would override
the `camera_dir` line with the default value.
Also changed the incorrect function name in the comment.
- The `camera_dir` option was always being set to a default path
which was missing a 'motion/' compared to the installed config
file default. This caused it to always check that folder and
upon a Web config-write, to always write out as enabled.
We now set it NULL like most other options and read the config
value into it, if enabled.
- Upon a Web config-write if the option is disabled, we now write
out the installed default path with it (remaining disabled).
- Improved the guide and config help to be more clear of how the
option works.
The previous version of jpegutils.c was performing the downsampling of images manually
This commit rewrites the decompression to take advantage of the built in downsampling
and image color space conversion that is part of the JPEG libaries.
This function is currently only called from the vid_mjpegtoyuv420p routine.
* Change how the path access is verified. Instead of creating a dummy file use access() function
* Extpipe path check improvement
* Minor extpipe event path check code optimization
* Changed MOTION_LOG macro and remover "%s:" from the format string
Function name will be now auto added
* Re-applied log-update after conflict resolution
* Some old style logging still remaining, updated