* Added <assert.h> to motion.h, so we can do assertions * Changed the return-code semantics of rtsp_decode_video() and rtsp_decode_packet() to a tristate: negative on error, zero if no output is currently available, positive if output was successfully obtained * Assert that avcodec_send_packet() never returns AVERROR(EAGAIN) (i.e. we never overfill the codec with packets) * Treat AVERROR(EAGAIN) from avcodec_receive_frame() as a no-output, non-error condition (it means we need to send more packets before we can get a frame) * Changed netcam_read_rtsp_image() to handle the case where the codec has a frame ready for output without needing any new packets * Simplified the logic in the netcam_read_rtsp_image() packet-read loop * Improved wording of some log messages * Removed needless variable initializations
Motion
Status
The build status from travis-ci for the master branch is:
Description
Motion is a program that monitors the video signal from one or more cameras and is able to detect if a significant part of the picture has changed. Or in other words, it can detect motion.
Documentation
The documentation for Motion is contained within the file motion_guide.html.
The offline version of this file is available in the doc/motion directory. The online version of the motion_guide.html file is within the master branch and can be viewed here
In addition to the detailed building instructions included within the guide, the INSTALL file contains abbreviated building instructions.
Resources
Please join the mailing list here
We prefer support through the mailing list because more people will have the benefit from the answers. A archive of mailing list discussions can be viewed here
License
Motion is mainly distributed under the GNU GENERAL PUBLIC LICENSE (GPL) version 2 or later. See the copyright file for a list of all the licensing terms of the various components of Motion.
The file CREDITS lists the many people who have contributed to Motion over the years.
Contributing
Issues and Patches should be submitted via github and include detail descriptions of the issue being addressed as well as any documentation updates that would be needed with the change.