更新日志 (CHANGELOG)
[1.1.0] - 2026-10-08
修复 (Fixed)
- common.h 缺少
<stdint.h> 导致 uint8_t 未定义,编译失败 (B1)
- main.c 重复/缺失 goto 标签导致编译失败;重写为单一 teardown 状态机 (B2)
- main.c 后台线程未 join 造成退出崩溃;信号处理非 async-signal-safe (B3)
- Makefile
BUILD_DIR 定义顺序错误、仿真宏与代码不一致、缺失 test 目标 (B4)
- stream.c/playback.c 数组压缩删除丢失相邻会话,造成泄漏与失联 (B5)
- stream.c/playback.c
free() 后读取字段的 use-after-free (B6)
- config.h
pid_file 类型错误 (B7)
- utils.c 缺少
<sys/stat.h> (B8)
- NET_E* 与 sleep_milliseconds 隐式声明(GCC14 硬错误),新增 isup_sdk.h 集中声明 (B9)
- PID 写/删路径不一致;多个已定义未使用函数接入实际调用;模拟线程除零兜底
新增 (Added)
-test 自测模式覆盖 注册->推流->回放->报警->登出 全链路
make test 一键编译并自测
alarm_ingest / stream_get_session / stream_find_by_channel / playback_get_session 公共访问接口
验证 (Verified)
- Ubuntu 24.04 / GCC 14:
make simulate 零警告零错误
./hikvision-isup-client -test 全链路通过,进程干净退出(exit 0)
[1.0.0] - 初始版本
- 海康 ISUP 客户端完整 C 工程:平台注册 / PS流推送 / ZLMediaKit RTMP / 录像回放 / 报警接入