Motion - Motion Release 3x 2x 1snap 9

Motion Snapshot Release 3.2.1_snap9

Release Notes

3.2.1 snap9 - 27 Mar 2005

:scull: Don't use. Buggy.

Development Release - not recommended for normal use

The netcam code is still under development but we are very interested in getting test reports on these releases from people with Network cameras.

Netcam related bug reports from the 3.2.1 snapshot releases can be added as a comment to

Changes since 3.1.19_snap4




  • Fix for tracking control with http control (Angel Carpintero)
  • Added the new feature Setup Mode (Joerg Weber). This also enables much more error messages given to the console when in non-daemon mode while still preserving the messages in syslog which are important for daemon mode debugging.
    The patch is still being worked on and is not finished. Changes in the FreeBSD code are not yet tested.
  • Remove most command line options and replace them by an option to specify location to motion.conf and a few options related to setting up motion. (Joerg Weber). This is also included in
  • Small improvement of the http control interface (link to setting itself on the html response when setting parameter) (Kenneth Lavrsen)

  • Fixed a bug in noise tune which was most visible at very low light. (Joerg Weber and Kenneth Lavrsen)
  • Further improvement in the setup mode. Messages are now prefixed by the thread number in [brackets]. Moved 2 funtions from motion.c to picture.c. The setup mode patch is now considered finished. (Joerg Weber)

Netcam fixes and debug code by Christopher Price - - snap5_post1_video.c and snap5-post1 patches.
  • Fixed netcam startup race condition.
  • Refactored image handling back to single unified function.
  • Refactored reconnection algorithm.
  • Jpeg only based connections should now use less cpu time.
  • Temporarily removed support for devices that do not support content-length (in progress).
  • Synced syslog/printf style to new motion standard.
  • Added developer debug trace defines/code.
  • Defines now used for many constants.

  • Improved console output in setup mode. Now also outputs threshold. (Joerg Weber)
  • Added some additional text to the motion http messages to the terminal so that you know where the messages come from. (Kenneth Lavrsen)
  • Netcam Stability Patch version snap6-post1 (Christopher Price)
    • Added support for netcams without content-length header (streaming only)
    • Remove memmem from netcam_wget.[c|h] (no longer used)
    • Several miscellaneous code cosmetic changes
    • TODO: remove tests for memmem from configure

  • Added support for non-streaming (image based) netcams without content-length header. (3.2.1-snap7-post1 version of the Netcam Stabilty Patch by Christopher Price).
  • Improvement in the noise-tune algoritm (Joerg Weber)
  • Re-arranged many of the const char declarations so that they are always before any statements within a block { }. This is to avoid compiler errors with older but still used gcc versions such as 2.9.5. (Kenneth Lavrsen)
  • Changed the use of %zd to %llu in printf statements of size_t types. This is done to avoid compiler errors with older but still used gcc versions such as 2.95. (Kenneth Lavrsen)

  • Fixed even more gcc 2.95 compiler errors (declarations not at beginning of block) (Kenneth Lavrsen).
  • Removed a gcc 2.95 compiler warning (netcam.c:1036: warning: variable `pic' might be clobbered by `longjmp' or `vfork') (Kenneth Lavrsen)
  • The values for cnt->locate and cnt->new_img are now #defines in motion.h to enhance code readability (Kenneth Lavrsen).
  • The setting of sql_mask is now only done once per second to save CPU power (Kenneth Lavrsen)
  • Adding checking for conflict between control port and webcam port. Webcam port for a thread is disabled if it is set to the same value as the control port (Kenneth Lavrsen).
  • Fixed some file descriptor leaks in webcam.c and netcam.c (Christophe Grenier).
  • Added "motion-http:" prefix to error messages from the http control thread (Kenneth Lavrsen).
  • Added additional error information when connection to MySQL fails (Kenneth Lavrsen).
  • Initiate cnt->event_nr to 1 to avoid code related to end of events and long mpeg films to be run during startup of Motion. (Kenneth Lavrsen)
  • Added new function in event.c close_anything_open() which is called from send_sms, send_mail and exec_command in order to prevent file descriptor and open sockets to be inherited by the shell causing freezing and instability. Code contributed by Christophe Grenier, Christopher Price and Kenneth Lavrsen.
  • Added new context global cnt_list.control_socket_server set by the httpd thread so that the above mentioned close_anything_open() can close open control sockets (Kenneth Lavrsen).
  • Renamed the top level global context structure to cnt_list so it can be reached from child threads and by above mentioned close_anything_open() (Christophe Grenier).

Next Steps

  • Still open todos on Netcam code. Keep on sending bug reports.
  • Fix open bugs.
  • Check the code for FreeBSD. This snap has not been tested at all in FreeBSD.
  • Range checking of options - includes a complete redesign of how options are loaded and changed via remote control. This redesign is mainly making the code more robust and should be transparent to the user.

Known Problems

  • See the BugReports for open bugs.
  • Motion Guide does not match this version. See MotionHttpControl and MotionHttpAPI for documentation of the new http based remote control feature. Command line parameters are completely changed.
  • The pwc-ioctl.h is for pwc version 9.0.1 and 10.0.6. If you still use the pwc 8 series then you need to use the headerfile pwc-ioctl.h-pwc8.0 (copy the pwc-ioctl.h-pwc8.0 over pwc-ioctl.h). This is relevant for USB cameras using Philips chips.


Bug Reports

-- KennethLavrsen - 27 Mar 2005
Topic revision: r3 - 27 Mar 2005, AngelCarpintero
Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Please do not email Kenneth for support questions (read why). Use the Support Requests page or join the Mailing List.
This website only use harmless session cookies. See Cookie Policy for details. By using this website you accept the use of these cookies.