multimedia/motion:
- Update to 4.3.0 - Pass maintainership to submitter PR: 243415 Submitted by: ports@blievers.net
This commit is contained in:
parent
65b6b06a86
commit
d5108f1a24
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=531111
@ -2,18 +2,20 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= motion
|
||||
PORTVERSION= 4.0.1
|
||||
DISTVERSIONPREFIX= release-
|
||||
PORTREVISION= 10
|
||||
PORTVERSION= 4.3.0
|
||||
DISTVERSIONPREFIX= Release-
|
||||
CATEGORIES= multimedia
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
MAINTAINER= ports@blievers.net
|
||||
COMMENT= Motion detection application
|
||||
|
||||
LICENSE= GPLv2+
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
LICENSE_FILE= ${WRKSRC}/doc/COPYING
|
||||
|
||||
LIB_DEPENDS= libmicrohttpd.so:www/libmicrohttpd
|
||||
|
||||
USES= autoreconf gmake jpeg localbase pkgconfig gettext
|
||||
|
||||
USES= autoreconf gmake jpeg localbase pkgconfig
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= Motion-Project
|
||||
USE_RC_SUBR= ${PORTNAME}
|
||||
@ -33,9 +35,8 @@ PLIST_FILES= bin/motion \
|
||||
man/man1/motion.1.gz \
|
||||
"@sample ${ETCDIR}/motion.conf.sample" \
|
||||
"@dir ${ETCDIR}/conf.d"
|
||||
PORTDOCS= CHANGELOG CREDITS README.md README.FreeBSD \
|
||||
motion_guide.html mask1.png normal.jpg \
|
||||
outputmotion1.jpg outputnormal1.jpg
|
||||
PORTDOCS= *
|
||||
|
||||
PORTEXAMPLES= camera1-dist.conf camera2-dist.conf \
|
||||
camera3-dist.conf camera4-dist.conf
|
||||
|
||||
@ -86,24 +87,21 @@ post-patch:
|
||||
's|/usr/local|${LOCALBASE}|g' ${WRKSRC}/configure.ac
|
||||
# Fix pidfile path
|
||||
@${REINPLACE_CMD} -e \
|
||||
's|/run/motion|/run|' ${WRKSRC}/motion-dist.conf.in
|
||||
# Fix warnings about mismatched format specifiers (Fixed upstream in dbd7282)
|
||||
@${REINPLACE_CMD} -e \
|
||||
's|%hd|%d|g;s|%hu|%u|g;s|%Zu|%zu|g' ${WRKSRC}/webhttpd.c ${WRKSRC}/stream.c
|
||||
's|/run/motion|/run|' ${WRKSRC}/data/motion-dist.conf.in
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/motion ${STAGEDIR}${PREFIX}/bin
|
||||
${INSTALL_MAN} ${WRKSRC}/motion.1 ${STAGEDIR}${MANPREFIX}/man/man1
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/src/motion ${STAGEDIR}${PREFIX}/bin
|
||||
${INSTALL_MAN} ${WRKSRC}/man/motion.1 ${STAGEDIR}${MANPREFIX}/man/man1
|
||||
@${MKDIR} ${STAGEDIR}${ETCDIR}/conf.d
|
||||
${INSTALL_DATA} ${WRKSRC}/motion-dist.conf \
|
||||
${INSTALL_DATA} ${WRKSRC}/data/motion-dist.conf \
|
||||
${STAGEDIR}${ETCDIR}/motion.conf.sample
|
||||
|
||||
do-install-DOCS-on:
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/doc/* ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
|
||||
|
||||
do-install-EXAMPLES-on:
|
||||
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
|
||||
${INSTALL_DATA} ${PORTEXAMPLES:S|^|${WRKSRC}/|} ${STAGEDIR}${EXAMPLESDIR}
|
||||
${INSTALL_DATA} ${PORTEXAMPLES:S|^|${WRKSRC}/data/|} ${STAGEDIR}${EXAMPLESDIR}
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1481857527
|
||||
SHA256 (Motion-Project-motion-release-4.0.1_GH0.tar.gz) = 2f67669a09ce0481ecd987028dae1c5cb135dfdc3c254c06ab7c9ca0c6c183f0
|
||||
SIZE (Motion-Project-motion-release-4.0.1_GH0.tar.gz) = 444779
|
||||
TIMESTAMP = 1579243956
|
||||
SHA256 (Motion-Project-motion-Release-4.3.0_GH0.tar.gz) = 711c0281605a939e440eafafc16c45a04d4ca5077346af884b2ad30dcfe71ffa
|
||||
SIZE (Motion-Project-motion-Release-4.3.0_GH0.tar.gz) = 849564
|
||||
|
@ -1,254 +0,0 @@
|
||||
Convert old GNU field designator syntax to C99 syntax to remove some
|
||||
annoying warnings. Fixed upstream in a870946, mostly.
|
||||
|
||||
--- conf.c.orig 2016-10-25 01:39:24 UTC
|
||||
+++ conf.c
|
||||
@@ -49,131 +49,131 @@ char *get_current_dir_name(void)
|
||||
#define stripnewline(x) {if ((x)[strlen(x)-1]=='\n') (x)[strlen(x) - 1] = 0; }
|
||||
|
||||
struct config conf_template = {
|
||||
- camera_name: NULL,
|
||||
- width: DEF_WIDTH,
|
||||
- height: DEF_HEIGHT,
|
||||
- quality: DEF_QUALITY,
|
||||
- camera_id: 0,
|
||||
- rotate_deg: 0,
|
||||
- max_changes: DEF_CHANGES,
|
||||
- threshold_tune: 0,
|
||||
- output_pictures: "on",
|
||||
- motion_img: 0,
|
||||
- emulate_motion: 0,
|
||||
- event_gap: DEF_EVENT_GAP,
|
||||
- max_movie_time: DEF_MAXMOVIETIME,
|
||||
- snapshot_interval: 0,
|
||||
- locate_motion_mode: "off",
|
||||
- locate_motion_style: "box",
|
||||
- input: IN_DEFAULT,
|
||||
- norm: 0,
|
||||
- frame_limit: DEF_MAXFRAMERATE,
|
||||
- quiet: 1,
|
||||
- picture_type: "jpeg",
|
||||
- noise: DEF_NOISELEVEL,
|
||||
- noise_tune: 1,
|
||||
- minimum_frame_time: 0,
|
||||
- lightswitch: 0,
|
||||
- autobright: 0,
|
||||
- brightness: 0,
|
||||
- contrast: 0,
|
||||
- saturation: 0,
|
||||
- hue: 0,
|
||||
- power_line_frequency: -1,
|
||||
- roundrobin_frames: 1,
|
||||
- roundrobin_skip: 1,
|
||||
- pre_capture: 0,
|
||||
- post_capture: 0,
|
||||
- switchfilter: 0,
|
||||
- ffmpeg_output: 0,
|
||||
- extpipe: NULL,
|
||||
- useextpipe: 0,
|
||||
- ffmpeg_output_debug: 0,
|
||||
- ffmpeg_bps: DEF_FFMPEG_BPS,
|
||||
- ffmpeg_vbr: DEF_FFMPEG_VBR,
|
||||
- ffmpeg_video_codec: DEF_FFMPEG_CODEC,
|
||||
+ .camera_name = NULL,
|
||||
+ .width = DEF_WIDTH,
|
||||
+ .height = DEF_HEIGHT,
|
||||
+ .quality = DEF_QUALITY,
|
||||
+ .camera_id = 0,
|
||||
+ .rotate_deg = 0,
|
||||
+ .max_changes = DEF_CHANGES,
|
||||
+ .threshold_tune = 0,
|
||||
+ .output_pictures = "on",
|
||||
+ .motion_img = 0,
|
||||
+ .emulate_motion = 0,
|
||||
+ .event_gap = DEF_EVENT_GAP,
|
||||
+ .max_movie_time = DEF_MAXMOVIETIME,
|
||||
+ .snapshot_interval = 0,
|
||||
+ .locate_motion_mode = "off",
|
||||
+ .locate_motion_style = "box",
|
||||
+ .input = IN_DEFAULT,
|
||||
+ .norm = 0,
|
||||
+ .frame_limit = DEF_MAXFRAMERATE,
|
||||
+ .quiet = 1,
|
||||
+ .picture_type = "jpeg",
|
||||
+ .noise = DEF_NOISELEVEL,
|
||||
+ .noise_tune = 1,
|
||||
+ .minimum_frame_time = 0,
|
||||
+ .lightswitch = 0,
|
||||
+ .autobright = 0,
|
||||
+ .brightness = 0,
|
||||
+ .contrast = 0,
|
||||
+ .saturation = 0,
|
||||
+ .hue = 0,
|
||||
+ .power_line_frequency = -1,
|
||||
+ .roundrobin_frames = 1,
|
||||
+ .roundrobin_skip = 1,
|
||||
+ .pre_capture = 0,
|
||||
+ .post_capture = 0,
|
||||
+ .switchfilter = 0,
|
||||
+ .ffmpeg_output = 0,
|
||||
+ .extpipe = NULL,
|
||||
+ .useextpipe = 0,
|
||||
+ .ffmpeg_output_debug = 0,
|
||||
+ .ffmpeg_bps = DEF_FFMPEG_BPS,
|
||||
+ .ffmpeg_vbr = DEF_FFMPEG_VBR,
|
||||
+ .ffmpeg_video_codec = DEF_FFMPEG_CODEC,
|
||||
#ifdef HAVE_SDL
|
||||
- sdl_threadnr: 0,
|
||||
+ .sdl_threadnr = 0,
|
||||
#endif
|
||||
- ipv6_enabled: 0,
|
||||
- stream_port: 0,
|
||||
- stream_quality: 50,
|
||||
- stream_motion: 0,
|
||||
- stream_maxrate: 1,
|
||||
- stream_localhost: 1,
|
||||
- stream_limit: 0,
|
||||
- stream_auth_method: 0,
|
||||
- stream_authentication: NULL,
|
||||
- stream_preview_scale: 25,
|
||||
- stream_preview_newline: 0,
|
||||
- webcontrol_port: 0,
|
||||
- webcontrol_localhost: 1,
|
||||
- webcontrol_html_output: 1,
|
||||
- webcontrol_authentication: NULL,
|
||||
- frequency: 0,
|
||||
- tuner_number: 0,
|
||||
- timelapse: 0,
|
||||
- timelapse_mode: DEF_TIMELAPSE_MODE,
|
||||
+ .ipv6_enabled = 0,
|
||||
+ .stream_port = 0,
|
||||
+ .stream_quality = 50,
|
||||
+ .stream_motion = 0,
|
||||
+ .stream_maxrate = 1,
|
||||
+ .stream_localhost = 1,
|
||||
+ .stream_limit = 0,
|
||||
+ .stream_auth_method = 0,
|
||||
+ .stream_authentication = NULL,
|
||||
+ .stream_preview_scale = 25,
|
||||
+ .stream_preview_newline = 0,
|
||||
+ .webcontrol_port = 0,
|
||||
+ .webcontrol_localhost = 1,
|
||||
+ .webcontrol_html_output = 1,
|
||||
+ .webcontrol_authentication = NULL,
|
||||
+ .frequency = 0,
|
||||
+ .tuner_number = 0,
|
||||
+ .timelapse = 0,
|
||||
+ .timelapse_mode = DEF_TIMELAPSE_MODE,
|
||||
#if (defined(BSD))
|
||||
- tuner_device: NULL,
|
||||
+ .tuner_device = NULL,
|
||||
#endif
|
||||
- video_device: VIDEO_DEVICE,
|
||||
- v4l2_palette: DEF_PALETTE,
|
||||
- vidpipe: NULL,
|
||||
- filepath: NULL,
|
||||
- imagepath: DEF_IMAGEPATH,
|
||||
- moviepath: DEF_MOVIEPATH,
|
||||
- snappath: DEF_SNAPPATH,
|
||||
- timepath: DEF_TIMEPATH,
|
||||
- on_event_start: NULL,
|
||||
- on_event_end: NULL,
|
||||
- mask_file: NULL,
|
||||
- smart_mask_speed: 0,
|
||||
+ .video_device = VIDEO_DEVICE,
|
||||
+ .v4l2_palette = DEF_PALETTE,
|
||||
+ .vidpipe = NULL,
|
||||
+ .filepath = NULL,
|
||||
+ .imagepath = DEF_IMAGEPATH,
|
||||
+ .moviepath = DEF_MOVIEPATH,
|
||||
+ .snappath = DEF_SNAPPATH,
|
||||
+ .timepath = DEF_TIMEPATH,
|
||||
+ .on_event_start = NULL,
|
||||
+ .on_event_end = NULL,
|
||||
+ .mask_file = NULL,
|
||||
+ .smart_mask_speed = 0,
|
||||
#if defined(HAVE_MYSQL) || defined(HAVE_PGSQL) || defined(HAVE_SQLITE3)
|
||||
- sql_log_image: 1,
|
||||
- sql_log_snapshot: 1,
|
||||
- sql_log_movie: 0,
|
||||
- sql_log_timelapse: 0,
|
||||
- sql_query: DEF_SQL_QUERY,
|
||||
- database_type: NULL,
|
||||
- database_dbname: NULL,
|
||||
- database_host: "localhost",
|
||||
- database_user: NULL,
|
||||
- database_password: NULL,
|
||||
- database_port: 0,
|
||||
- database_busy_timeout: 0,
|
||||
+ .sql_log_image = 1,
|
||||
+ .sql_log_snapshot = 1,
|
||||
+ .sql_log_movie = 0,
|
||||
+ .sql_log_timelapse = 0,
|
||||
+ .sql_query = DEF_SQL_QUERY,
|
||||
+ .database_type = NULL,
|
||||
+ .database_dbname = NULL,
|
||||
+ .database_host = "localhost",
|
||||
+ .database_user = NULL,
|
||||
+ .database_password = NULL,
|
||||
+ .database_port = 0,
|
||||
+ .database_busy_timeout = 0,
|
||||
#endif /* defined(HAVE_MYSQL) || defined(HAVE_PGSQL) || define(HAVE_SQLITE3) */
|
||||
- on_picture_save: NULL,
|
||||
- on_motion_detected: NULL,
|
||||
- on_area_detected: NULL,
|
||||
- on_movie_start: NULL,
|
||||
- on_movie_end: NULL,
|
||||
- on_camera_lost: NULL,
|
||||
- motionvidpipe: NULL,
|
||||
- netcam_url: NULL,
|
||||
- netcam_userpass: NULL,
|
||||
- netcam_keepalive: "off",
|
||||
- netcam_proxy: NULL,
|
||||
- netcam_tolerant_check: 0,
|
||||
- rtsp_uses_tcp: 1,
|
||||
+ .on_picture_save = NULL,
|
||||
+ .on_motion_detected = NULL,
|
||||
+ .on_area_detected = NULL,
|
||||
+ .on_movie_start = NULL,
|
||||
+ .on_movie_end = NULL,
|
||||
+ .on_camera_lost = NULL,
|
||||
+ .motionvidpipe = NULL,
|
||||
+ .netcam_url = NULL,
|
||||
+ .netcam_userpass = NULL,
|
||||
+ .netcam_keepalive = "off",
|
||||
+ .netcam_proxy = NULL,
|
||||
+ .netcam_tolerant_check = 0,
|
||||
+ .rtsp_uses_tcp = 1,
|
||||
#ifdef HAVE_MMAL
|
||||
- mmalcam_name: NULL,
|
||||
- mmalcam_control_params: NULL,
|
||||
+ .mmalcam_name = NULL,
|
||||
+ .mmalcam_control_params = NULL,
|
||||
#endif
|
||||
- text_changes: 0,
|
||||
- text_left: NULL,
|
||||
- text_right: DEF_TIMESTAMP,
|
||||
- text_event: DEF_EVENTSTAMP,
|
||||
- text_double: 0,
|
||||
- despeckle_filter: NULL,
|
||||
- area_detect: NULL,
|
||||
- minimum_motion_frames: 1,
|
||||
- exif_text: NULL,
|
||||
- pid_file: NULL,
|
||||
- log_file: NULL,
|
||||
- log_level: LEVEL_DEFAULT+10,
|
||||
- log_type_str: NULL,
|
||||
- camera_dir: sysconfdir"/conf.d"
|
||||
+ .text_changes = 0,
|
||||
+ .text_left = NULL,
|
||||
+ .text_right = DEF_TIMESTAMP,
|
||||
+ .text_event = DEF_EVENTSTAMP,
|
||||
+ .text_double = 0,
|
||||
+ .despeckle_filter = NULL,
|
||||
+ .area_detect = NULL,
|
||||
+ .minimum_motion_frames = 1,
|
||||
+ .exif_text = NULL,
|
||||
+ .pid_file = NULL,
|
||||
+ .log_file = NULL,
|
||||
+ .log_level = LEVEL_DEFAULT+10,
|
||||
+ .log_type_str = NULL,
|
||||
+ .camera_dir = sysconfdir"/conf.d"
|
||||
};
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- configure.ac.orig 2016-10-25 01:39:24 UTC
|
||||
+++ configure.ac
|
||||
@@ -790,7 +790,7 @@ SUPPORTED_V4L2_old=false
|
||||
if test "${V4L}" = "no"; then
|
||||
AC_MSG_CHECKING(for V42L support)
|
||||
AC_MSG_RESULT(skipping)
|
||||
-else
|
||||
+elif test "${PWCBSD}" = "yes"; then
|
||||
AC_CHECK_TYPE([struct v4l2_buffer],
|
||||
[SUPPORTED_V4L2=true],
|
||||
[SUPPORTED_V4L2=false],
|
@ -1,53 +0,0 @@
|
||||
Upstream fix from 4.1.* causes too many merge conflicts.
|
||||
https://github.com/Motion-Project/motion/commit/b5c3a73cc62e
|
||||
https://github.com/Motion-Project/motion/commit/9b93a417e37e
|
||||
|
||||
--- ffmpeg.c.orig 2016-10-25 01:39:24 UTC
|
||||
+++ ffmpeg.c
|
||||
@@ -439,7 +439,7 @@ struct ffmpeg *ffmpeg_open(const char *ffmpeg_video_co
|
||||
/* The selection of 8000 in the else is a subjective number based upon viewing output files */
|
||||
if (vbr > 0){
|
||||
ffmpeg->vbr =(int)(((100-vbr)*(100-vbr)*(100-vbr) * 8000) / 1000000) + 1;
|
||||
- c->flags |= CODEC_FLAG_QSCALE;
|
||||
+ c->flags |= AV_CODEC_FLAG_QSCALE;
|
||||
c->global_quality=ffmpeg->vbr;
|
||||
}
|
||||
}
|
||||
@@ -447,7 +447,7 @@ struct ffmpeg *ffmpeg_open(const char *ffmpeg_video_co
|
||||
MOTION_LOG(INF, TYPE_ENCODER, NO_ERRNO, "%s vbr/crf for codec: %d", ffmpeg->vbr);
|
||||
|
||||
if (strcmp(ffmpeg_video_codec, "ffv1") == 0) c->strict_std_compliance = -2;
|
||||
- c->flags |= CODEC_FLAG_GLOBAL_HEADER;
|
||||
+ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
|
||||
|
||||
retcd = avcodec_open2(c, codec, &opts);
|
||||
if (retcd < 0) {
|
||||
@@ -489,7 +489,10 @@ struct ffmpeg *ffmpeg_open(const char *ffmpeg_video_co
|
||||
}
|
||||
|
||||
ffmpeg->video_outbuf = NULL;
|
||||
- if (!(ffmpeg->oc->oformat->flags & AVFMT_RAWPICTURE)) {
|
||||
+#ifdef AVFMT_RAWPICTURE
|
||||
+ if (!(ffmpeg->oc->oformat->flags & AVFMT_RAWPICTURE))
|
||||
+#endif
|
||||
+ {
|
||||
ffmpeg->video_outbuf_size = ffmpeg->c->width * 512;
|
||||
ffmpeg->video_outbuf = mymalloc(ffmpeg->video_outbuf_size);
|
||||
}
|
||||
@@ -705,12 +708,15 @@ int ffmpeg_put_frame(struct ffmpeg *ffmpeg, AVFrame *p
|
||||
gettimeofday(&tv1, NULL);
|
||||
|
||||
av_init_packet(&pkt); /* Init static structure. */
|
||||
+#ifdef AVFMT_RAWPICTURE
|
||||
if (ffmpeg->oc->oformat->flags & AVFMT_RAWPICTURE) {
|
||||
pkt.stream_index = ffmpeg->video_st->index;
|
||||
pkt.flags |= AV_PKT_FLAG_KEY;
|
||||
pkt.data = (uint8_t *)pic;
|
||||
pkt.size = sizeof(AVPicture);
|
||||
- } else {
|
||||
+ } else
|
||||
+#endif
|
||||
+ {
|
||||
pkt.data = NULL;
|
||||
pkt.size = 0;
|
||||
retcd = avcodec_encode_video2(AVSTREAM_CODEC_PTR(ffmpeg->video_st),
|
@ -1,57 +0,0 @@
|
||||
Fix netcam getaddrinfo/connect usage (Fixed upstream in be2328a)
|
||||
|
||||
--- netcam.c.orig 2016-10-25 01:39:24 UTC
|
||||
+++ netcam.c
|
||||
@@ -840,8 +840,7 @@ static void netcam_disconnect(netcam_con
|
||||
*/
|
||||
static int netcam_connect(netcam_context_ptr netcam, int err_flag)
|
||||
{
|
||||
- struct sockaddr_in6 server; /* For connect */
|
||||
- struct addrinfo *ai; /* For getaddrinfo */
|
||||
+ struct addrinfo *ai;
|
||||
int ret;
|
||||
int saveflags;
|
||||
int back_err;
|
||||
@@ -851,8 +850,11 @@ static int netcam_connect(netcam_context
|
||||
fd_set fd_w;
|
||||
struct timeval selecttime;
|
||||
|
||||
+ char port[15];
|
||||
+ sprintf(port,"%u",netcam->connect_port);
|
||||
+
|
||||
/* Lookup the hostname given in the netcam URL. */
|
||||
- if ((ret = getaddrinfo(netcam->connect_host, NULL, NULL, &ai)) != 0) {
|
||||
+ if ((ret = getaddrinfo(netcam->connect_host, port, NULL, &ai)) != 0) {
|
||||
if (!err_flag)
|
||||
MOTION_LOG(ERR, TYPE_NETCAM, NO_ERRNO, "%s: getaddrinfo() failed (%s): %s",
|
||||
netcam->connect_host, gai_strerror(ret));
|
||||
@@ -920,16 +922,6 @@ static int netcam_connect(netcam_context
|
||||
netcam->sock);
|
||||
|
||||
/*
|
||||
- * Fill the hostname details into the 'server' structure and
|
||||
- * attempt to connect to the remote server.
|
||||
- */
|
||||
- memset(&server, 0, sizeof(server));
|
||||
- memcpy(&server, ai->ai_addr, sizeof(server));
|
||||
- server.sin6_family = ai->ai_family;
|
||||
- server.sin6_port = htons(netcam->connect_port);
|
||||
- freeaddrinfo(ai);
|
||||
-
|
||||
- /*
|
||||
* We set the socket non-blocking and then use a 'select'
|
||||
* system call to control the timeout.
|
||||
*/
|
||||
@@ -948,9 +940,11 @@ static int netcam_connect(netcam_context
|
||||
}
|
||||
|
||||
/* Now the connect call will return immediately. */
|
||||
- ret = connect(netcam->sock, &server, sizeof(server));
|
||||
+ ret = connect(netcam->sock, ai->ai_addr, ai->ai_addrlen);
|
||||
back_err = errno; /* Save the errno from connect */
|
||||
|
||||
+ freeaddrinfo(ai);
|
||||
+
|
||||
/* If the connect failed with anything except EINPROGRESS, error. */
|
||||
if ((ret < 0) && (back_err != EINPROGRESS)) {
|
||||
if (!err_flag)
|
@ -1,32 +0,0 @@
|
||||
--- stream.c.orig 2016-10-25 01:39:24 UTC
|
||||
+++ stream.c
|
||||
@@ -727,9 +727,9 @@ int http_bindsock(int port, int local, i
|
||||
const char *addr_str;
|
||||
struct sockaddr_storage sin;
|
||||
bzero(&sin, sizeof(struct sockaddr_storage));
|
||||
- sin.ss_family = ipv6_enabled?AF_INET6:AF_INET;
|
||||
if (ipv6_enabled) {
|
||||
struct sockaddr_in6 *sin6 = (struct sockaddr_in6*)&sin;
|
||||
+ sin6->sin6_len = sizeof(struct sockaddr_in6);
|
||||
sin6->sin6_family = AF_INET6;
|
||||
sin6->sin6_port = htons(port);
|
||||
if(local) {
|
||||
@@ -741,6 +741,7 @@ int http_bindsock(int port, int local, i
|
||||
}
|
||||
} else {
|
||||
struct sockaddr_in *sin4 = (struct sockaddr_in*)&sin;
|
||||
+ sin4->sin_len = sizeof(struct sockaddr_in);
|
||||
sin4->sin_family = AF_INET;
|
||||
sin4->sin_port = htons(port);
|
||||
if(local) {
|
||||
@@ -752,8 +753,8 @@ int http_bindsock(int port, int local, i
|
||||
}
|
||||
}
|
||||
|
||||
- if (bind(sd, (struct sockaddr*)&sin, sizeof(sin)) != 0) {
|
||||
- MOTION_LOG(NTC, TYPE_STREAM, NO_ERRNO, "%s: error binding on %s port %d", addr_str, port);
|
||||
+ if (bind(sd, (struct sockaddr*)&sin, sin.ss_len) != 0) {
|
||||
+ MOTION_LOG(NTC, TYPE_STREAM, SHOW_ERRNO, "%s: error binding on %s port %d", addr_str, port);
|
||||
close(sd);
|
||||
return -1;
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
Convert old GNU field designator syntax to C99 syntax to remove some
|
||||
annoying warnings. Fixed upstream in a870946.
|
||||
|
||||
--- track.c.orig 2016-10-25 01:39:24 UTC
|
||||
+++ track.c
|
||||
@@ -17,25 +17,25 @@
|
||||
|
||||
|
||||
struct trackoptions track_template = {
|
||||
- dev: -1, /* dev open */
|
||||
- port: NULL, /* char *port */
|
||||
- motorx: 0, /* int motorx */
|
||||
- motory: 0, /* int motory */
|
||||
- maxx: 0, /* int maxx; */
|
||||
- maxy: 0, /* int maxy; */
|
||||
- minx: 0, /* int minx; */
|
||||
- miny: 0, /* int miny; */
|
||||
- homex: 128, /* int homex; */
|
||||
- homey: 128, /* int homey; */
|
||||
- motorx_reverse: 0, /* int reversed x servo; */
|
||||
- motory_reverse: 0, /* int reversed y servo; */
|
||||
- speed: TRACK_SPEED, /* speed */
|
||||
- stepsize: TRACK_STEPSIZE, /* stepsize */
|
||||
- active: 0, /* auto tracking active */
|
||||
- minmaxfound: 0, /* flag for minmax values stored for pwc based camera */
|
||||
- step_angle_x: 10, /* UVC step angle in degrees X-axis that camera moves during auto tracking */
|
||||
- step_angle_y: 10, /* UVC step angle in degrees Y-axis that camera moves during auto tracking */
|
||||
- move_wait: 10 /* number of frames to disable motion detection after camera moving */
|
||||
+ .dev = -1, /* dev open */
|
||||
+ .port = NULL, /* char *port */
|
||||
+ .motorx = 0, /* int motorx */
|
||||
+ .motory = 0, /* int motory */
|
||||
+ .maxx = 0, /* int maxx; */
|
||||
+ .maxy = 0, /* int maxy; */
|
||||
+ .minx = 0, /* int minx; */
|
||||
+ .miny = 0, /* int miny; */
|
||||
+ .homex = 128, /* int homex; */
|
||||
+ .homey = 128, /* int homey; */
|
||||
+ .motorx_reverse = 0, /* int reversed x servo; */
|
||||
+ .motory_reverse = 0, /* int reversed y servo; */
|
||||
+ .speed = TRACK_SPEED, /* speed */
|
||||
+ .stepsize = TRACK_STEPSIZE, /* stepsize */
|
||||
+ .active = 0, /* auto tracking active */
|
||||
+ .minmaxfound = 0, /* flag for minmax values stored for pwc based camera */
|
||||
+ .step_angle_x = 10, /* UVC step angle in degrees X-axis that camera moves during auto tracking */
|
||||
+ .step_angle_y = 10, /* UVC step angle in degrees Y-axis that camera moves during auto tracking */
|
||||
+ .move_wait = 10 /* number of frames to disable motion detection after camera moving */
|
||||
};
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- video2.c.orig 2017-08-11 20:05:27 UTC
|
||||
+++ video2.c
|
||||
@@ -184,7 +184,7 @@ typedef struct {
|
||||
/**
|
||||
* xioctl
|
||||
*/
|
||||
-#ifdef __OpenBSD__
|
||||
+#if defined (__OpenBSD__) || defined (__FreeBSD__)
|
||||
static int xioctl(src_v4l2_t *vid_source, unsigned long request, void *arg)
|
||||
#else
|
||||
static int xioctl(src_v4l2_t *vid_source, int request, void *arg)
|
@ -1,20 +0,0 @@
|
||||
Comment out unused struct to avoid warnings.
|
||||
|
||||
--- video_freebsd.c.orig 2016-10-25 01:39:24 UTC
|
||||
+++ video_freebsd.c
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
#define array_elem(x) (sizeof(x) / sizeof((x)[0]))
|
||||
|
||||
+/*
|
||||
static const struct camparam_st {
|
||||
int min, max, range, drv_min, drv_range, def;
|
||||
} CamParams[] = {
|
||||
@@ -58,6 +59,7 @@ static const struct camparam_st {
|
||||
BT848_CHROMAREGMIN, (BT848_CHROMAREGMAX - BT848_CHROMAREGMIN + 1),
|
||||
BT848_CHROMACENTER, },
|
||||
};
|
||||
+*/
|
||||
|
||||
#define BRIGHT 0
|
||||
#define CONTR 1
|
@ -1,45 +0,0 @@
|
||||
Fix warnings about mismatched format specifiers (Fixed upstream in dbd7282)
|
||||
Fix sockaddr type mismatch warnings (Fixed upstream in dbd7282)
|
||||
|
||||
--- webhttpd.c.orig 2016-10-25 01:39:24 UTC
|
||||
+++ webhttpd.c
|
||||
@@ -2067,7 +2067,7 @@ static unsigned int handle_get(int clien
|
||||
//Send the webcontrol section if applicable
|
||||
if (cnt[0]->conf.webcontrol_html_output) {
|
||||
send_template_ini_client(client_socket, ini_template);
|
||||
- sprintf(res, "<b>Motion "VERSION" Running [%hu] Cameras</b><br>\n"
|
||||
+ sprintf(res, "<b>Motion "VERSION" Running [%d] Cameras</b><br>\n"
|
||||
"<a href='/0/'>All</a>\n", i);
|
||||
send_template(client_socket, res);
|
||||
|
||||
@@ -2079,7 +2079,7 @@ static unsigned int handle_get(int clien
|
||||
send_template(client_socket, res);
|
||||
counter = 0;
|
||||
}
|
||||
- sprintf(res, "<a href='/%hu/'>Camera %d%s%s</a>\n", y, cnt[y]->conf.camera_id,
|
||||
+ sprintf(res, "<a href='/%d/'>Camera %d%s%s</a>\n", y, cnt[y]->conf.camera_id,
|
||||
cnt[y]->conf.camera_name ? " -- " : "",
|
||||
cnt[y]->conf.camera_name ? cnt[y]->conf.camera_name : "");
|
||||
send_template(client_socket, res);
|
||||
@@ -2112,10 +2112,10 @@ static unsigned int handle_get(int clien
|
||||
send_template_end_client(client_socket);
|
||||
} else {
|
||||
send_template_ini_client_raw(client_socket);
|
||||
- sprintf(res, "Motion "VERSION" Running [%hu] Cameras\n0\n", i);
|
||||
+ sprintf(res, "Motion "VERSION" Running [%d] Cameras\n0\n", i);
|
||||
send_template_raw(client_socket, res);
|
||||
for (y = 1; y < i; y++) {
|
||||
- sprintf(res, "%hu\n", y);
|
||||
+ sprintf(res, "%d\n", y);
|
||||
send_template_raw(client_socket, res);
|
||||
}
|
||||
}
|
||||
@@ -2571,7 +2571,7 @@ static int acceptnonblocking(int serverf
|
||||
|
||||
if (select(serverfd + 1, &fds, NULL, NULL, &tm) > 0) {
|
||||
if (FD_ISSET(serverfd, &fds)) {
|
||||
- if ((curfd = accept(serverfd, &client, &client_len)) > 0)
|
||||
+ if ((curfd = accept(serverfd, (struct sockaddr *)&client, &client_len)) > 0)
|
||||
return curfd;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user