XEngine-V9.17.0.1001 Build20250425 其他更新 CI现在直接支持Ubuntu22.04和Ubuntu24.04 ARM64版本发布 安装脚本ubuntu的版本输出方式修改 音视频编解码组件 音视频滤镜模块 音频滤镜修改了输出缓冲区结构,使用了音频模块的缓冲区结构 音频滤镜修改输入输出,现在可以输入输出pts息了 视频滤镜修改了输出缓冲区结构,使用了音频模块的缓冲区结构 视频滤镜修改输入输出,现在可以输入输出pts和dts信息了 视频编解码模块 视频编码现在支持设置dts时间戳了 视频编码自定义pts的时候不在内部处理自动pts了.完全交给用户计算 视频帮助增加了获取视频编解码器支持的帧率函数 音频编解码模块 音频帮助增加了获取音频编解码器支持的采样率函数 音频帮助增加了获取音频编解码器支持的通道函数 流媒体组件 RTMP协议模块 解析类修正没有区分CSID导致内部解析数据错误的问题 核心组件 核心服务模块 管道通信命名管道修正删除缺少删除管道文件参数的问题 基础组件 基础模块 触发器修改初始化句柄现在通过返回值获取 触发器修改设置触发器通过数据结构设置了 触发器获取间隔时间函数现在可以获取指定时间类型 触发器删除和销毁函数为NULL参数将返回错误 触发器现在支持指定时间触发了 触发器现在支持输出回调函数的时间偏移值了 触发器现在支持处理完一个计时器自动释放了 触发器修正销毁错误的线程分离问题 触发器修改TIME和其他类型时间处理方法,解决触发器失效问题 触发器修改了内部锁和触发方式,使用了事件触发器.解决性能问题 ====================================================================================== XEngine-V9.16.0.1001 Build20250421 其他更新 增加了UBuntu20.04系统发布支持 增加了非WINDOWS系统的_DEBUG编译宏支持 安装脚本MAC升级到ffmpeg7版本支持 安装脚本linux增加了新的库支持,ubuntu现在支持20.04_x64系统了 安装脚本linux的ffmpeg编译方法更新了,更加清楚简介 音视频编解码组件 媒体包处理模块 媒体转换和封包所有系统都支持自定义输出回调了 音频编解码模块 帮助类增加了获取指定音频编解码器支持的采样格式列表的函数 编解码类解码器支持设置请求解码器输出指定采样格式,如果不支持返回错误 视频编解码模块 帮助类增加了获取指定视频编解码器支持的采样格式列表的函数 帮助组件 日志模块 日志输出对于NULL句柄直接返回错误而不是崩溃了 客户端组件 客户端模块 TCPXCore客户端修改退出逻辑,现在退出逻辑更合理 核心组件 核心服务模块 TCPXCore和UDPXCore服务修正关闭服务退出句柄处理不当崩溃问题 管道通信命名管道WINDOWS类型修改为字节型 管道通信命名管道修正关闭管道会导致全部管道关闭的问题 管道通信命名管道现在LINUX创建不会打开管道了 管道通信命令管道打开函数现在需要制定读或者写模式,而不是读写模式 管道通信命名管道不在区分服务后客户端模式,只使用读写模式并且删除的时候可以指定是否删除管道文件 管道通信命名管道现在不需要设置名称结果了,内部自动处理 管道通信命名管道修正创建失败返回正确的问题 管道通信命名管道修正连接处理句柄使用不当的问题 管道通信命名管道修改内部缓冲区大小 管道通信邮槽现在不需要设置名称结果了,内部自动处理 基础组件 基础安全模块 删除了文件操作类相关安全函数,兼容差 ====================================================================================== XEngine-V9.15.0.1001 Build20250405 音视频编解码组件 媒体包处理模块 封包类现在可以写入封包信息了,用于自动计算duration 流媒体组件 RTMP协议模块 组包函数现在data和cmd的打包函数在打包字符串数据的时候如果长度0可以自动计算了 客户端组件 客户端推拉流模块 实时推流的音频删除了重采样支持,现在需要在外部重采样 实时推流的音频AAC编码现在可以自动选择libfdk_aac库了 实时推流的视频增加了GOP设置支持 编码推流删除了视频的duration时间处理,采用默认 文件推流修改了推流的处理时间计算方法 帮助组件 日志模块 日志类默认日志级别设置为INFO了 日志类增加了新的颜色属性(黄色) 日志类日志输出间隔时间设置修改现在只支持NOTICE,INFO,DEBUG,TRACK了 日志类修正输出的WINDOWS的TRACK日志输出不正确的问题 日志类间隔时间输出现在支持文件了 日志类间隔时间输出的时间统计问题修正 日志类颜色设置现在可以传递NULL参数表示还原 核心组件 池管理模块 内存池初始化使用更新,现在只设置内存个数,最大个数和最大内存大小了 内存池取消获取内存池内存对其功能,申请的时候已经处理了 内存池释放内存修正处理完毕不退出和处理和合理的问题 内存池支持最大内存个数大小限制了 内存池修正小块内存复用不正确无效的问题 内存池现在支持内存CHUNK复用启用和关闭了 内存池错误码优化 ====================================================================================== XEngine-V9.14.0.1001 Build20250321 其他更新 修正LINUX安装脚本处理删除引擎不正确的问题 LINUX安装脚本升级了UBUNTU和ROCKYLINUX的FFMPEG编译版本为7.1.1 Windows的开源库依赖版本全部进行了更新 修改WINDOWS_ARM64安装脚本库名称 流媒体组件 RTMP协议模块 修改某些请求连接确认包合并的无法处理的问题 音视频编解码组件 音频编解码模块 音频编解码删除了重采样功能,请使用filter实现 音频编解码对于AAC编码现在默认使用libfdk_aac了(如果支持) 音频编码支持AAC编码质量等级设置 音频帮助类增加了音频FIFO功能类,并且支持末尾填充 音频编解码类解码器修正输出缓冲区大小计算错误导致的问题 音频编码器优化对于fdkaac的配置启用问题 视频编解码模块 编码器删除了多余的码流设置代码 媒体包处理模块 封包类不在自动计算duration值了,交给底层自己处理 系统组件 系统配置模块 增加了WINDOWS注册表读写函数功能支持 系统函数模块 硬件类CPU信息现在支持Windows ARM64版本获取CPU名称和制造商了 ====================================================================================== XEngine-V9.13.0.1001 Build20250304 其他更新 安装脚本修正rockylinux无法清理的问题 CI增加了新的系统发布,现在支持RockyLiunx9 ARM64了 CI增加了新的系统发布,现在支持Windows ARM64了 核心组件 核心安全模块 修改代码风格,统一空格风格类型 编解码类修改URL编解码,优化修正某些特殊字符处理问题 音视频编解码组件 音视频帮助模块 媒体信息类增加了获取媒体开始时间的函数 媒体信息类获取时间修正信息流处理导致的错误 媒体信息类获取音视频信息现在可以获取视频的B帧数和GOP大小了 系统组件 系统函数模块 文件类枚举文件类增加了UNICODE版本,现在支持ANSI和UNICODE函数处理 文件类删除和创建多级目录现在支持UNICODE和ANSI版本,用于多语言处理 文件类获取文件属性现在支持UNICODE和ANSI版本 文件类保存缓冲区数据现在支持UNICODE和ANSI版本 文件类创建稀疏文件函数现在支持UNICODE和ANSI版本 文件类拷贝文件函数现在支持UNICODE和ANSI版本 基础组件 基础模块 字符串类分割路径函数和修复路径函数现在支持UNICODE和ANSI版本了 字符串类删除字符串和改变字符串以及替换字符串函数现在支持UNICODE和ANSI版本了 字符串类获取开始结束分割字符串和获取字符串KEY,VALUE函数现在支持UNICODE和ANSI版本了 字符串类分割字符串函数现在支持UNICODE和ANSI版本了 ====================================================================================== XEngine-V9.12.0.1001 Build20250218 其他更新 公用头文件增加了新的路径字符串大小宏定义,现在采用了新的路径宏 安装脚本修正linux系统缺少环境和权限执行问题 修改基础组件的整数转换相关编译问题 修改系统组件的整数转换相关编译问题 音视频编解码组件 媒体包处理模块 封包类修正写封包函数对于Duration处理不正确的问题.支持可变时间 媒体帮助模块 媒体信息类获取函数现在只获取媒体的一些META信息了 媒体信息类增加了获取背景图片的单独函数 媒体信息类获取流函数删除了获取码率的功能,增加了获取流格式的成员变量 媒体信息类获取音视频信息函数增加了视频获取媒体帧率的基值 媒体信息类获取媒体时间函数现在支持-1获取媒体时间>-1获取流时间,并且获得的时间基统一了 帮助组件 日志模块 日志类级别优化,现在级别顺序和名称更好了 日志的开所有和关闭所有修改,不设置级别默认开启所有日志 系统组件 系统函数模块 文件类修正某些特殊格式和语言导致枚举文件出错的问题 文件类枚举文件修正文件名缓冲区大小不合适的问题 文件类枚举文件修正某些时候转换字符集处理长度不正确的问题 系统配置模块 配置类修改读取配置返回的类型为size_t 基础组件 基础模块 字符串类替换函数修正数据长度不一致导致内容错误的问题 ====================================================================================== XEngine-V9.11.0.1001 Build20250122 其他更新 修正发布程序后WINDOWS缺少公用头文件的问题 安装脚本修正在rockylinux下会造成环境安装异常的问题 安装脚本继续增加自编译ffmpeg安装附加库 RockLinux发布的版本使用最新版本,解决老旧版本问题 RockLinux修改默认安装目录,解决编译运行找不到路径的问题 公用头文件修改XNETHANDLE,解决VS类型自动识别错误 核心组件 核心服务模块 UDPXcore修改在linux和mac等系统下退出不处理recv了 OPTSocket类现在被删除了.集成到了基础库IO类中 安全模块 SSL客户端现在的读写操作支持超时设置了 SSL服务端的读写操作现在支持超时设置了 客户端组件 客户端模块 客户端套接字操作类被删除,使用了基础库IO操作函数实现 客户端TCP,UDP使用了基础库IO函数库来实现IO操作了 TCP客户端连接超时简化了超时处理代码 音视频编解码组件 音频编解码模块 帮助类现在获取帧大小的函数修改了使用方法 基础组件 基础模块 IO操作类增加,支持OPTSOCKET所有功能,用于IO输入输出操作 IO操作类新增加了端口重用的函数 IO操作类绑定函数现在支持设置绑定到指定IP网卡上 ====================================================================================== XEngine-V9.10.0.1001 Build20250110 其他更新 Linux安装脚本修正安装ubuntu22.04环境问题 Windows安装脚本现在支持安装模块到系统目录下了 Windows安装脚本现在可以不重复写头文件目录了 Windows编译现在全部增加了UTF8标志解释,可以在其他语言系统上正确显示内容了 CI修正32位windows缺少模块问题 Makefile现在支持VCPKG的三方库了 Android现在支持postgre和mongoc数据库操作了 IOS现在支持postgre数据库了 RockyLinux9编译发布支持 安装脚本对于自编译的ffmpeg现在使用了另外的目录 安装脚本修正某些非常规系统配置错误的问题 帮助组件 日志模块 日志现在支持设置日志个数无限制和大小无限制了 删除了UNICODE日志支持,因为不在需要了 数据库模块 MYSQL数据库支持MARIADB和MYSQL客户端了 MYSQL数据库现在支持客户端SSL证书了.没有设置的情况下不验证服务端证书 二进制包模块 修改统一错误码定义 黑白名单模块 修改统一错误码定义 音视频编解码组件 视频编解码模块 视频解码器的硬解码现在使用了新的模式来解码,解决某些遗留问题 视频解码器解决在某些情况下硬解失效导致转软解的问题 音视频滤镜模块 修改统一错误码定义 音视频帧处理模块 修改统一错误码定义 系统组件 系统配置模块 文件配置修正写空白数据的时候头不正确的问题 基础组件 基础模块 字符集类增加了UTF和UNICODE的互转函数 时间结构体定义名称修改 ====================================================================================== XEngine-V9.2.0.1001RC Build20241220 其他更新 WINDOWS下可以通过脚本配置X86-64,x86-32位环境了 LINUX安装脚本简化了安装包脚本代码 LINUX安装脚本修正UBUNTU22.04,24.04新版本兼容性问题 更新了程序编译版本信息 发布GIT删除了ANDROID和IOS版本,将通过GITHUB发布页面发布了.优化GIT大小 系统组件 系统函数模块 修改了某些结构数据字段定义 系统类删除了获取CPU个数的函数,现在使用硬件CPU信息获取 硬件类获取CPU信息函数现在支持获取CPU的内核和线程数量了 系统配置模块 配置文件类修正安全函数使用不当造成读写配置失败的问题 基础组件 基础模块 字符串类文本替换修正某些情况下造成内容丢失的问题 计时器类修改函数定义名称,统一命名规则 BIT网络流被移动到了网络组件的帮助函数模块中 核心组件 核心安全模块 修改了摘要算法名称命名定义 修改了安全服务端类的命名规则 证书类修正文件不存在没有处理异常导致的问题 客户端类修正没有使用证书无法初始化的问题 ====================================================================================== XEngine-V9.1.0.1001BT Build20241202 全局更新 VS项目全局采用静态连接第三方库 VS项目代码环境问题修改 VS项目依赖项库使用MD静态库 xstring为系统定义了,不在需要模块间定义 修改某些模块系统编译字符集不正确的问题 移动平台ANDROID和IOS的第三方库采用了新的方法编译.更加方便了 音视频编解码组件 媒体包处理模块 禁用了FFMPEG7.x版本下写入回调支持 客户端组件 客户端模块 UDP选择模型类发送函数现在需要指定IP版本了 帮助组件 数据库模块 MYSQL类从MARIADB转换为MYSQL客户端的库 MYSQL类现在支持移动平台ANDROID和IOS了,采用mariadb 解压缩模块 文件解压缩现在支持移动平台ANDROID和IOS了 网络组件 网络帮助模块 删除了域名类,电子邮件类,集成到网络地址模块 增加了网络地址大小端处理类 网络地址模块-新增加 集成了IP地址类,网络域名类,电子邮件类 系统组件 系统配置模块-新增 增加支持配置文件处理功能 核心组件 核心安全模块 获取错误码函数名称修改 基础组件 基础模块 错误定义被重新修改,优化了错误码 地址类被移除,现在集成到网络地址处理模块中 大小端类已经被移除.现在集成到网络帮助模块中 文件类已经被移除,现在集成到系统配置模块中 字符集类内部代码重新实现,现在内部统一采用iconv实现,更加通用 字符串类的删除字符函数现在支持删除所有指定的字符串了 安全模块 增加了文件安全操作函数支持 ====================================================================================== XEngine-V9.0.0.1001PT Build20241111 全局更新 删除了__CENTOS__和__UBUNTU__宏定义,统一使用__LINUX__,不在区分CENTOS和UBUNTU了 删除了关于CENTOS转换代码,LINUX统一使用UBUNTU了 重新设计了MAKEFILE编译脚本,现在更加统一更加标准了 更新C++标准支持到C++20 增加了webassembly内部支持 ANDROID,IOS,MAC,LINUX的编译命令进行了统一 输出文件夹的LINUX和WINDOWS被重新设计了 windows编译发布安装脚本现在不在区分x86,x64了,发布的架构都是x64 windows的VS编译现在支持debug x64了 macos系统现在兼容macos13-macos14,arm和x86编译了 C++编译器版本全部更新到C++20版本支持,C编译器更新到C17版本 makefile修正在mac高版本上某些符号不支持的问题 makefile现在ubuntu22.04系统的ffmpeg不在使用系统自带的了 makefile现在支持指定ARCH架构了 其他更新 安装脚本 优化文字颜色显示和统一文本颜色,现在安装文本颜色看起来不杂乱了 删除了所有文字背景颜色显示 基础组件 基础模块 基础模块函数和名称全部修改,删除了函数名称Operator,简化函数名称 基础模块增加了BaseSafe库的支持 字符串类替换函数修正某些时候数据拷贝出错的问题 帮助组件 日志模块 日志类变量输出修正多个相同变量的时候扩展不完全的问题 客户端组件 客户端SSL模块-已经删除了,合并到加解密核心模块中 核心组件 核心安全模块 名称修改,现在模块名称修改为XEngine_Cryption.所有函数名称也对应修改了 客户端SSL通信功能类已经合并到此模块中 帮助类相关函数已经删除了,并且开源集成到其他项目中了 ====================================================================================== 更多历史更新信息,请访问:https://www.xyry.org/UPHistory.txt