Commit Graph
49 Commits
Author SHA1 Message Date
Steve GilvarryandClaude Opus 5 9338b5ec50 build: bump RtspServer to master for macOS pipe2 portability refs #4998
dep/RtspServer was pinned at a071599, which predates the portability
fix, so cmake --build fails on macOS in the vendored server:

  dep/RtspServer/src/net/Pipe.cpp:60:6: error: use of undeclared
  identifier 'pipe2'

ZoneMinder/RtspServer#14 emulates pipe2() with pipe() + fcntl() on
platforms that lack it (macOS, the BSDs). Pinning master (a8781ec)
rather than that one merge commit, so the submodule tracks a branch
tip we can move forward again.

The bump carries four upstream commits:

  bf6576a  fix: emulate pipe2 with pipe + fcntl on platforms without it
  7ea3c31  fix: hold shared_ptr to self in RtpConnection trigger lambda
  abdf5ad  feat: AV1Source passthrough mode for pre-formed RTP payloads
  064e08c  docs: rewrite README as standalone project

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B5KL9Xbi7K5aGsauLtd8tG
2026-09-12 15:53:09 +10:00
Isaac ConnorandClaude Opus 5 9796e57530 build: keep CxxUrl's install rules out of the prefix with EXCLUDE_FROM_ALL
The same treatment #5080 gave jwt-cpp. CxxUrl was already kept out of the
install, by saving ENABLE_INSTALL, forcing it off around the add_subdirectory
and restoring it. That works, but it rests on the submodule continuing to spell
its option exactly ENABLE_INSTALL, and on CMAKE_POLICY_DEFAULT_CMP0077 being
forced to NEW so that option() honours the value we set - CxxUrl asks for CMake
3.10, where it otherwise would not. Rename the option upstream, or bump the
submodule past a rename, and the guard silently stops working: headers, the
static library and the cmake package files start staging into the prefix again,
which is #4590 coming back with nothing to notice it.

EXCLUDE_FROM_ALL is enforced by CMake rather than by the dependency, and gives
one idiom for both vendored copies instead of two. Inter-target dependencies
supersede the exclusion, so zm still builds and links CxxUrl.

The tradeoff is that CxxUrl's ENABLE_INSTALL block now runs at configure time,
so CxxUrlConfig.cmake, CxxUrlConfigVersion.cmake and CxxUrlTargets.cmake are
generated into its build directory and CMAKE_PREFIX_PATH picks up that directory
in dep/ scope. Nothing reads any of it - CxxUrl is the last entry in this file -
and none of it is installed.

Verified by configuring before and after: dep/cmake_install.cmake goes from
including CxxUrl's install script to not referencing it. Neither staged
anything, so this is not a behaviour fix, it is a guarantee that it stays that
way.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nr76CednxtDt2nPuq6WrbL
2026-09-03 22:01:21 -04:00
Jash cab6633674 fix: stop installing vendored jwt-cpp headers into the prefix fixes #4590 2026-08-30 01:51:04 +05:30
Isaac Connor 11039c8fd5 sync up RtsPServer 2026-03-07 21:43:14 -05:00
Isaac ConnorandClaude Opus 4.6 11d9d38292 fix: silence cmake deprecation and policy warnings in deps
Update RtspServer cmake_minimum_required from 3.5 to 3.10 and set
CMP0077 policy to NEW before adding CxxUrl subdirectory to suppress
developer warnings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 19:52:10 -05:00
Isaac ConnorandClaude Opus 4.5 6120d26002 feat: add option to use system-installed jwt-cpp
Add ZM_USE_SYSTEM_JWT_CPP CMake option (default OFF) to allow using
system-installed jwt-cpp instead of the vendored version. When enabled,
CMake will search for jwt-cpp via find_package(jwt-cpp CONFIG).

The vendored jwt-cpp in dep/ is only built when not using system version.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 08:51:42 -05:00
Isaac Connor e0e50b5aca add AV1 support 2026-01-31 12:43:13 -05:00
Isaac ConnorandClaude Opus 4.5 a6e91a4699 feat: add SPS/PPS extraction to RTSP server for correct video dimensions
Extract H264 SPS/PPS and H265 VPS/SPS/PPS from video stream and pass
to xop sources for inclusion in SDP sprop-parameter-sets. This allows
RTSP clients like go2rtc to properly decode video with correct
dimensions.

Also adds auth_hash refresh support to go2rtc manager to prevent
authentication timeout after 2 hours.

Changes:
- zm_rtsp_server_fifo_h264_source.cpp: Re-enable SPS/PPS extraction
- zm_rtsp_server_fifo_video_source.h: Add xop source pointers
- zm_rtsp_server.cpp: Connect FIFO sources to xop sources
- zm_monitor_go2rtc.cpp: Add periodic auth_hash refresh
- zm_monitor.h: Add refresh tracking members to Go2RTCManager
- dep/RtspServer: Update xop H264/H265Source with sprop support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:07:15 -05:00
Isaac Connor 3fce6ddd1d Update RtspServer to get new commits 2026-01-09 11:43:42 -05:00
Isaac Connor 12515ddcff Bump RtspServer to master 2025-11-12 09:29:54 -05:00
Isaac Connor 9d91f452b1 TUrn off install for CxxUrl. Fixes #4436 2025-09-07 18:05:44 -04:00
Isaac Connor 1f061c9666 Include CxxUrl and use it to build the correct url in Amcrest API 2025-08-31 10:08:40 -04:00
Isaac Connor d16481dede Remove generated files 2024-10-21 17:40:01 -04:00
Isaac Connor 65fd598bb7 Upgrade jwt-cpp to 0.7.0 2024-10-15 17:41:48 -04:00
Isaac Connor 5981f1918b Turn off building examples 2023-09-21 13:04:52 -04:00
Isaac Connor 3934bdda9d Add other files that are new since 0.6.0 2023-06-10 08:34:36 -04:00
Isaac Connor d29ef0e26b Update jwt-cpp to v0.7.0-rc.0 to fix build on openbsd 2023-06-10 08:32:43 -04:00
Isaac Connor 12898ea7ee Update to 0.6.0 2023-04-18 18:41:19 -04:00
Isaac Connor b59a42c8fe Put back to master 2022-09-12 12:00:55 -04:00
Isaac Connor 99eba230f5 Merge branch 'add_janus_rtsp_user' of github.com:ConnorTechnology/zoneminder into add_janus_rtsp_user 2022-09-12 11:57:39 -04:00
Isaac Connor 29750a56e7 Merge branch 'master' into add_mqtt 2022-08-25 18:37:54 -04:00
Isaac Connor 10e39b3b13 :wqMerge branch 'master' into replace_function_concept 2022-02-02 17:08:01 -05:00
Isaac Connor a91e7d96f8 Merge fix for VP8 2022-01-28 12:42:41 -05:00
Isaac Connor d567d8aafc Merge upstream patches to RTSPServer 2022-01-27 17:06:18 -05:00
Isaac Connor cf82d767de Remove the decoding code, just populate the av_packet. This fixes rtsp decoding because we weren't copying the decoded frame to shm raw image. 2022-01-25 14:27:32 -05:00
Isaac Connor 44b11389ce Merge pseudo:sandbox/ZoneMinder.connortechnology into event_thread 2022-01-13 12:00:17 -05:00
Isaac Connor 205ff6c033 apply fix to RtspServer 2022-01-02 19:25:52 -05:00
Isaac Connor 747c714699 put back up to date RtspServer 2021-05-09 18:15:37 -04:00
Isaac Connor 2cf6ad8089 Switch ZMPacket * to a shared_ptr<ZMPacket>. This is so that in LockedPacket we can unlock and then notify and be confident that packet_ won't have been deleted. Change ZMPacket->timestamp to be a timeval instead of timeval *. This might not have been necessary but I like it. No longer cuse the ZMPacket object to wrap the shared image buffers and timestamps. Use a vector for image_buffers. 2021-05-08 21:14:20 -04:00
Isaac Connor 5622429cc2 update RtspServer 2021-04-28 19:00:16 -04:00
Peter Keresztes Schmidt 4d18c515dc dep/span-lite: Remove erroneously added zm-dependency-interface
This is a header-only library so there is no target to compile for which warnings could be disabled.
Moreover a target dependency with INTERFACE visibility propagates to the dependants. This disabled warnings further down the chain.
2021-04-29 00:08:40 +02:00
Peter Keresztes Schmidt 9f56f633f1 dep: Add span-lite as C++20 span implementation
Link to the project https://github.com/martinmoene/span-lite
2021-04-25 23:13:21 +02:00
Isaac Connor 012827e800 bump RtspServer 2021-04-20 17:17:42 -04:00
Isaac Connor 7278119468 Update RtspServer with fix 2021-04-11 13:15:03 -04:00
Peter Keresztes Schmidt 58a60b6974 dep/jwt-cpp: Update to latest commit
Update to 4620bf43befea5ef69816fb8610723232a609030.
This fixes a Wunused-private-field warning reported in https://github.com/Thalhammer/jwt-cpp/issues/134
2021-04-11 18:07:35 +02:00
Isaac Connor 23de612faf update RtspServer 2021-04-10 15:44:44 -04:00
Isaac Connor 3f05cfadb0 update to Rtsp update 2021-04-10 12:21:26 -04:00
Isaac Connor cbbb95182d Add back jwt-cpp 2021-03-25 13:53:42 -04:00
Isaac Connor a1859210d5 delete jwt-cpp 2021-03-25 13:53:08 -04:00
Isaac Connor e0e75ad8d9 jwt-cpp/ 2021-03-23 15:58:42 -04:00
Isaac Connor 7a533686de remove our version of jwt-cpp 2021-03-23 13:43:08 -04:00
Isaac Connor e0893ef7ab update RtspServer 2021-03-22 17:49:59 -04:00
Peter Keresztes Schmidt 07cf469714 dep: Update RtspServer 2021-03-21 14:33:20 +01:00
Isaac Connor f2553220b6 Implement xop::Authenticator::GetFailedResponse to return a 401 2021-03-11 11:45:39 -05:00
Isaac Connor faddace69d Update version 2021-03-10 15:59:38 -05:00
Isaac Connor 08110fe9b1 try again at adding RtspServer submodule 2021-03-10 14:02:03 -05:00
Isaac Connor 24fb020686 Add PHZ76 in deps. Must be added as a submodule 2021-03-10 11:01:52 -05:00
Peter Keresztes Schmidt 37817f6ba4 dep/jwt-cpp: Update to version 0.5
Fixes some compile warnings. Unit tests pass with this version as well.
2021-03-01 23:14:56 +01:00
Peter Keresztes Schmidt c33b5a4393 Move in-tree dependencies to their own folder
src/ should only contain our code. Move the in-tree dependencies to dep/
This allows us (if necessary) to e.g. exclude that part of the tree from being analyzed by
various tools or mark it as external code in IDEs.
2021-02-28 02:12:07 +01:00