| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
!16558 merge dev-20260804-mute-sink-port-override into master refactor: 增强路由下 primary_extra 通路设备切换静音定位错误(override 参数重构方案) Created-by: wang-hengshen Commit-by: Wang Hengshen Merged-by: openharmony_ci Description: **IssueNo**: #13790 **Description**: 增强路由(IsEnhancedRoutingSupported)开启后,有线耳机走 primary_extra 通路(独立 HDI render sink)。设备切换时静音链路将 primary_extra 误判为默认 primary,导致 SetVolume 串扰到有线耳机引发音量飙升。 本 PR 采用 override 参数重构方案(v3),将 ByClass 并行方法链替换为 MuteSinkPort 上的 overrideClassName/overrideInfo 可选参数,消除 5 个重复方法和 2 个重复 Action 类。 修复要点: 1. HandleMuteBeforeDeviceSwitch 通过 CaptureOldPipeInfo 捕获老通路 className+moduleName(仅当 oldClassName == PRIMARY_EXTRA_CLASS 时传 override,避免影响 remote 等其他通路) 2. AudioIOHandleMap::MuteSinkPort 新增 overrideClassName/overrideInfo 参数,非空时绕过 GetClassNameByPortAndNetworkId 和 GetRemoteNetworkId 3. WaitActiveDeviceAction/UnmutePortAction 携带 override 字段贯穿异步解静音链路 4. AudioServer::SetSinkMuteForSwitchDevice 的 info 增加 primary_extra 分支 5. PRIMARY_EXTRA_CLASS 常量消除魔法字符串 **静态扫描截图**: Pending - to be added manually **通用规范自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 成员变量命名,统一采用xxxx_ | Y | | 换行优先使用4格缩进 | Y | | *和&运算符统一跟随之后的变量 | Y | | 避免使用未明确位宽的整型,选择使用int32_t, uint32_t等类型 | Y | | 时间常量命名加后缀_MS, _US等,按照用途命名而非值 | Y | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 外部传入的指针使用前是否判空 | Y | | 外部传入数据,直接用于内存申请、数组长度、索引、循环条件前,必须进行合法性校验 | Y | | 成员或局部变量,尤其是指针、资源描述符、bool变量必须赋初值 | Y | | 内存分配后必须判断是否成功 | Y | | 禁止打印内存地址、文件路径、设备名、MAC地址等敏感信息,如有需要,使用private修饰 | Y | | 有符号、无符号整数之间运算、比较,确保不会出现溢出、反转、除0 | Y | | 有无符号不允许混合计算,必须提前进行强转 | NA | | map\vector\list\set等对象存在多线程并发访问场景必须加锁 | Y | **进程安全自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | SA新增idl接口,需要根据功能控制可访问范围,通过权限、UID校验等方式校验 | NA | | SA新增idl接口,必须同时新增fuzz用例,并进行fuzz测试 | NA | | 类反序列化结果用于内存申请、数组长度、循环条件前,必须进行合法性校验 | NA | **XTS Result**: Pending **TDD Result**: Pending **Fuzz Result**: Pending See merge request: openharmony/multimedia_audio_framework!16558 | 1 小时前 | |
log rectification Signed-off-by: lisenlisen2002 <lisen63@h-partners.com> | 20 天前 | |
!16553 merge fix-unbind into master AddDeviceBackToGlobalOnly bugfix Created-by: yyyang-linfeng Commit-by: yyyang-linfeng Merged-by: openharmony_ci Description: **IssueNo**: **Description**: **静态扫描截图**:  **通用规范自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 成员变量命名,统一采用xxxx_ |Y| | 换行优先使用4格缩进 |Y| | *和&运算符统一跟随之后的变量 |Y| | 避免使用未明确位宽的整型,选择使用int32_t, uint32_t等类型 |Y| | 时间常量命名加后缀_MS, _US等,按照用途命名而非值 |Y| **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 外部传入的指针使用前是否判空 |Y| | 外部传入数据,直接用于内存申请、数组长度、索引、循环条件前,必须进行合法性校验 |Y| | 成员或局部变量,尤其是指针、资源描述符、bool变量必须赋初值 |Y| | 内存分配后必须判断是否成功 |Y| | 禁止打印内存地址、文件路径、设备名、MAC地址等敏感信息,如有需要,使用private修饰 |Y| | 有符号、无符号整数之间**运算、比较**,确保不会出现溢出、反转、除0 |Y| | 有无符号不允许混合计算,必须提前进行强转 |Y| | map\vector\list\set等对象存在多线程并发访问场景必须加锁 |Y| **进程安全自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | SA新增idl接口,需要根据功能控制可访问范围,通过权限、UID校验等方式校验 |Y| | SA新增idl接口,必须同时新增fuzz用例,并进行fuzz测试 |Y| | 类反序列化结果用于内存申请、数组长度、循环条件前,必须进行合法性校验 |Y| | 新增动态共享库或可执行文件是否开启硬件PAC(gn文件配置 branch_protector_ret = "pac_ret") |Y| | 新增动态共享库或可执行文件是否开启前向CFI(gn文件配置 cfi = true, cfi_cross_dso = true, debug = false) |Y| **XTS Result**: **TDD Result**: **Fuzz Result**: See merge request: openharmony/multimedia_audio_framework!16553 | 19 小时前 | |
refactor: replace ByClass parallel mute chain with override parameters on MuteSinkPort Replace the over-engineered MuteSinkPortByClass/DoUnmutePortByClass/ WaitActiveDeviceByClassAction/UnmutePortByClassAction parallel chain with optional overrideClassName/overrideInfo parameters on the existing MuteSinkPort/UnmutePortAfterMuteDuration/DoUnmutePort methods and WaitActiveDeviceAction/UnmutePortAction action classes. This eliminates 5 duplicate methods and 2 duplicate action classes while preserving the same primary_extra mute behavior via override parameters that bypass GetClassNameByPortAndNetworkId and GetRemoteNetworkId when set. Signed-off-by: Wang Hengshen <wanghengshen1@huawei.com> Co-Authored-By: Agent | 2 天前 | |
Fix TDD 0804 Signed-off-by: 136******92 <yupanwen@huawei.com> Co-Authored-By: Agent Change-Id: I1e1ec91c6bab158eb7c3b9e1d6d9b987f7c8cf41 | 2 天前 | |
!16520 merge bugfix_exclude into master bugfix: recovery preferred output device and exclude output device Created-by: wangqingsong21 Commit-by: wangqingsong21 Merged-by: openharmony_ci Description: **IssueNo**: 13753 **Description**: 排除设备在进程自恢复后失效 **静态扫描截图**: **通用规范自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 成员变量命名,统一采用xxxx_ |Y/| | 换行优先使用4格缩进 |Y| | *和&运算符统一跟随之后的变量 |NA| | 避免使用未明确位宽的整型,选择使用int32_t, uint32_t等类型 |NA| | 时间常量命名加后缀_MS, _US等,按照用途命名而非值 |NA| **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 外部传入的指针使用前是否判空 |NA| | 外部传入数据,直接用于内存申请、数组长度、索引、循环条件前,必须进行合法性校验 |NA| | 成员或局部变量,尤其是指针、资源描述符、bool变量必须赋初值 |NA| | 内存分配后必须判断是否成功 |NA| | 禁止打印内存地址、文件路径、设备名、MAC地址等敏感信息,如有需要,使用private修饰 |NA| | 有符号、无符号整数之间**运算、比较**,确保不会出现溢出、反转、除0 |NA| | 有无符号不允许混合计算,必须提前进行强转 |NA| | map\vector\list\set等对象存在多线程并发访问场景必须加锁 |NA| **进程安全自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | SA新增idl接口,需要根据功能控制可访问范围,通过权限、UID校验等方式校验 |NA| | SA新增idl接口,必须同时新增fuzz用例,并进行fuzz测试 |NA| | 类反序列化结果用于内存申请、数组长度、循环条件前,必须进行合法性校验 |NA| | 新增动态共享库或可执行文件是否开启硬件PAC(gn文件配置 branch_protector_ret = "pac_ret") |NA| | 新增动态共享库或可执行文件是否开启前向CFI(gn文件配置 cfi = true, cfi_cross_dso = true, debug = false) |NA| **XTS Result**: **TDD Result**: **Fuzz Result**: See merge request: openharmony/multimedia_audio_framework!16520 | 5 天前 | |
update: 更新文件 audio_session.cpp Signed-off-by: Gisaacj <gongjie13@huawei.com> | 7 天前 | |
add STREAM_VOICE_ASSSISTANT_SYSTEM Signed-off-by: n30034953 <niushuaishuai3@h-partners.com> | 26 天前 | |
fix UT Signed-off-by: jiao_1_2_3 <jiaoruiting@huawei.com> | 1 个月前 | |
!16558 merge dev-20260804-mute-sink-port-override into master refactor: 增强路由下 primary_extra 通路设备切换静音定位错误(override 参数重构方案) Created-by: wang-hengshen Commit-by: Wang Hengshen Merged-by: openharmony_ci Description: **IssueNo**: #13790 **Description**: 增强路由(IsEnhancedRoutingSupported)开启后,有线耳机走 primary_extra 通路(独立 HDI render sink)。设备切换时静音链路将 primary_extra 误判为默认 primary,导致 SetVolume 串扰到有线耳机引发音量飙升。 本 PR 采用 override 参数重构方案(v3),将 ByClass 并行方法链替换为 MuteSinkPort 上的 overrideClassName/overrideInfo 可选参数,消除 5 个重复方法和 2 个重复 Action 类。 修复要点: 1. HandleMuteBeforeDeviceSwitch 通过 CaptureOldPipeInfo 捕获老通路 className+moduleName(仅当 oldClassName == PRIMARY_EXTRA_CLASS 时传 override,避免影响 remote 等其他通路) 2. AudioIOHandleMap::MuteSinkPort 新增 overrideClassName/overrideInfo 参数,非空时绕过 GetClassNameByPortAndNetworkId 和 GetRemoteNetworkId 3. WaitActiveDeviceAction/UnmutePortAction 携带 override 字段贯穿异步解静音链路 4. AudioServer::SetSinkMuteForSwitchDevice 的 info 增加 primary_extra 分支 5. PRIMARY_EXTRA_CLASS 常量消除魔法字符串 **静态扫描截图**: Pending - to be added manually **通用规范自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 成员变量命名,统一采用xxxx_ | Y | | 换行优先使用4格缩进 | Y | | *和&运算符统一跟随之后的变量 | Y | | 避免使用未明确位宽的整型,选择使用int32_t, uint32_t等类型 | Y | | 时间常量命名加后缀_MS, _US等,按照用途命名而非值 | Y | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 外部传入的指针使用前是否判空 | Y | | 外部传入数据,直接用于内存申请、数组长度、索引、循环条件前,必须进行合法性校验 | Y | | 成员或局部变量,尤其是指针、资源描述符、bool变量必须赋初值 | Y | | 内存分配后必须判断是否成功 | Y | | 禁止打印内存地址、文件路径、设备名、MAC地址等敏感信息,如有需要,使用private修饰 | Y | | 有符号、无符号整数之间运算、比较,确保不会出现溢出、反转、除0 | Y | | 有无符号不允许混合计算,必须提前进行强转 | NA | | map\vector\list\set等对象存在多线程并发访问场景必须加锁 | Y | **进程安全自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | SA新增idl接口,需要根据功能控制可访问范围,通过权限、UID校验等方式校验 | NA | | SA新增idl接口,必须同时新增fuzz用例,并进行fuzz测试 | NA | | 类反序列化结果用于内存申请、数组长度、循环条件前,必须进行合法性校验 | NA | **XTS Result**: Pending **TDD Result**: Pending **Fuzz Result**: Pending See merge request: openharmony/multimedia_audio_framework!16558 | 1 小时前 | |
AddDeviceBackToGlobalOnly bugfix Signed-off-by: yyyang-linfeng <yanglinfeng5@huawei.com> Co-Authored-By:Agent | 21 小时前 |