46 Commits

Author SHA1 Message Date
zhangyifan a6e4d368dd sync code
Signed-off-by: zhangyifan <zhangyifan140@h-partners.com>
Change-Id: Id5bba2297abc3f1c0dcfa36a5f8e7debd7a26cba
2026-08-04 08:21:10 +00:00
mashaobo 5f47d2ff6f Merge branch '0709' of git@gitcode.com:mashaobo/graphic_graphic_surface.git into 'master'
# Conflicts:
#   conflict interfaces/inner_api/surface/surface_buffer.h
#   conflict surface/include/surface_buffer_impl.h
2026-07-16 20:33:47 +08:00
hewenpeng a81d5dc8a8 fix(surface): fix reference parameter format for VideoDimType
Change 'VideoDimType& videoDimType' to 'VideoDimType &videoDimType' to follow the project's coding style convention.

Modified files:
- interfaces/inner_api/surface/iconsumer_surface.h
- interfaces/inner_api/surface/surface.h
- surface/include/buffer_queue_consumer.h
- surface/include/consumer_surface.h
- surface/src/buffer_queue_consumer.cpp
- surface/src/consumer_surface.cpp

Signed-off-by: hewenpeng <hewenpeng@h-partners.com>

Co-Authored-By: Agent
2026-07-15 16:58:45 +08:00
hewenpeng d85db35587 feat(surface): add GetVideoDimensionType with sequence parameter
Add GetVideoDimensionType(uint32_t sequence, VideoDimType &videoDimType) API to get video dimension type for a specific buffer by sequence number.

This new API follows the same pattern as GetScalingMode(uint32_t sequence, ScalingMode &scalingMode), allowing consumers to query video dimension type for individual surface buffers rather than a global setting.

Modified files:
- interfaces/inner_api/surface/iconsumer_surface.h: Add virtual function declaration
- interfaces/inner_api/surface/surface.h: Add virtual function declaration
- surface/include/buffer_queue.h: Add function declaration
- surface/include/buffer_queue_consumer.h: Add function declaration
- surface/include/consumer_surface.h: Add function declaration with Doxygen docs
- surface/src/buffer_queue.cpp: Core implementation with mutex protection
- surface/src/buffer_queue_consumer.cpp: Consumer layer forwarding
- surface/src/consumer_surface.cpp: Public API implementation

Co-Authored-By: Agent
Signed-off-by: hewenpeng <hewenpeng@h-partners.com>
2026-07-15 16:18:21 +08:00
openharmony_ci 0aa48dd3c8 !1352 merge aicheck into master
告警修改

Created-by: three-inch-daylight
Commit-by: 刘瓒
Merged-by: openharmony_ci
Description: **Description:**

**Issue number:**
https://gitcode.com/openharmony/graphic_graphic_surface/issues/1022
**Test & Result:**

**CodeCheck:**
<table>
    <tr>
        <th>类型</th><th>自检项</th><th>自检结果</th>
    </tr>
    <tr>
        <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:</td>
    </tr>
    <tr>
        <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:</td>
    </tr>
    <tr>
        <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:</td>
    </tr>
    <tr>
        <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:</td>
    </tr>
    <tr>
        <td>检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)</td><td>自检结果:</td>
    </tr>
    </tr>
    <tr>
        <td>隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针</td><td>自检结果:</td>
    </tr>
    <tr>
        <td rowspan="4">校验外部输入</td><td>使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期</td><td>自检结果:</td>
    </tr>
    <tr>
        <td>所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等</td><td>自检结果:</td>
    </tr>
    <tr>
        <td>外部输入的路径不可信,需使用realpath做标准化处理,并判断路径的合法性</td><td>自检结果:</td>
    </tr>
    <tr>
        <td>外部输入包括对外提供的接口,IPC的proxy/stub接口,序列化/反序列化接口等</td><td>自检结果:</td>
    </tr>
    </tr>
    <tr>
        <td rowspan="2">数学运算</td><td>代码中是否混合了加减乘除等运算,需检查是否可能导致整数溢出或符号翻转</td><td>自检结果:</td>
    </tr>
    <tr>
        <td>需检查代码是否有高精度数字转换为低精度的操作,如果必须,建议使用C++安全类型转换接口</td><td>自检结果:</td>
    </tr>
    </tr>
     <tr>
        <td rowspan="1">秘钥相关</td><td>如变量临时保存了口令、秘钥等,需要在使用完成后及时清空(内存memset掉)</td><td>自检结果:</td>
    </tr>
    <tr>
        <td rowspan="2">权限相关</td><td>作为系统服务对外提供了接口,是否做了权限保护和校验(如需要),只允许申请了权限的应用访问</td><td>自检结果:</td>
    </tr>
    <tr>
        <td>内核对外提供了设备节点,是否做了权限保护,只允许特定的系统服务访问</td><td>自检结果:</td>
    </tr>
    </tr>
    <tr>
        <td rowspan="3">内核操作</td><td>如有mmap操作,并使用remap_pfn_range进行地址映射时,校验起始地址是否是用户态输入且没有做合法性校验</td><td>自检结果:</td>
    </tr>
    <tr>
        <td>是否有copy_from_user,并对外部输入的数据做了长度校验,以防止缓冲区溢出</td><td>自检结果:</td>
    </tr>
    <tr>
        <td>是否有使用copy_to_user,并在返回到用户态时,对数据做了完整初始化,或使用memset清空后再赋值</td><td>自检结果:</td>
    </tr>
    </tr>
</table>


See merge request: openharmony/graphic_graphic_surface!1352
2026-07-13 19:50:07 +08:00
刘瓒 8ef91b3c3c 告警修改
修复 RequestBuffers 中 num 变量重复声明导致的编译错误
拆分 BufferExtraDataImpl::ReadFromParcel 和
BufferClientProducer::RequestBuffers 超大函数
提取 ReadExtraDataItem 和 ReadRequestBuffersReply 辅助函数

Co-Authored-By: Agent
Signed-off-by: 刘瓒 <liuzan9@huawei.com>
Change-Id: Ida357f2752c6e9c92e49ed07a9d097ad49774bc2
2026-07-10 06:30:10 +00:00
harryptter 07474a471d 闪烁
Signed-off-by: lidu <lidu6@h-partners.com>
2026-06-29 11:25:33 +08:00
tttaaaooo b8c3a6ee3e update tunnel interface.
Signed-off-by: tttaaaooo <yangtao141@huawei.com>
2026-04-28 19:29:23 +08:00
Eternally831143 fde12969a3 config tunnel node Signed-off-by: s30029175 <shiqiwei4@huawei.com>
Signed-off-by: Eternally831143 <shiqiwei4@huawei.com>
Change-Id: Iea0b13865d3034546568c7909a87d5d88127214d
2026-04-28 19:28:58 +08:00
Eternally831143 80c185fc6a add new consumer interface Signed-off-by: s30029175 <shiqiwei4@huawei.com>
Signed-off-by: Eternally831143 <shiqiwei4@huawei.com>
Change-Id: I5b955a74f737465b4ae606dc7bb3a67ffb0b8e73
2026-01-21 03:45:16 +00:00
chenguangG 9470353fde elegator从surface仓解耦
Signed-off-by: chenguangG <guochenguang7@h-partners.com>
2025-12-04 16:43:48 +08:00
花祭 50fa1dc756 feat: GPU 缓存适配动态壁纸
Signed-off-by: 花祭 <jiazihao1@h-partners.com>
Change-Id: I7223c34cb229090e36ca1069d94d806db64bee25
2025-10-30 06:37:17 +00:00
李辉 fb67840cfb Revert "surface refactor 提供默认实现后,派生类如果不关心某些方法就不用一一覆写"
This reverts commit d2784213df.

Change-Id: If8bab8c28b11de157c8097c2884f36e7a6090ef6
Signed-off-by: 李辉 <lihui359@huawei.com>
2025-08-20 08:13:22 +00:00
m00472246 732e2a2d9b 代码回退 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
Change-Id: If13f96f63d45df539202f8a6ada982fe0136f00d
2025-08-13 08:56:27 +00:00
dingpy 2d5ab49f77 设置alloc优先开关
Signed-off-by: dingpy <dingpanyun1@huawei.com>
Change-Id: Ib386065cbdb46842831c5e3c45c64eb4fa520aa3
2025-07-24 07:33:00 +00:00
huangweijun c00d277ad2 Signed-off-by: huangweijun <huangweijun18@huawei.com>
Change-Id: I41deeafb442bb49bea3340cf1952fb31101b8699

Change-Id: I9a9de75ce715a083404878e4f3ed44da2696f348
2025-07-18 19:13:11 +08:00
m00472246 c6306d6a84 丢帧模式消费端回调按照实际消费帧进行回调 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
Change-Id: I95bc00c2627780b19dcca56c188d084d998af2b6
2025-07-10 01:32:56 +00:00
wangchenchuan c23420551c fix: lpp video
Signed-off-by: chengwenfeng <chengwenfeng6@huawei.com>
2025-06-28 14:56:42 +08:00
m00472246 08582122bd surface负载前移 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
2025-06-11 20:05:06 +08:00
openharmony_ci e8eaf137a7 !859 通过隐藏符号方式减少so大小
Merge pull request !859 from 马靖涛/20250427_1
2025-04-28 14:06:48 +00:00
xuzihan129 e0eae3ce54 producer-consumer
Signed-off-by: xuzihan129 <xuzihan11@huawei.com>
2025-04-27 21:20:05 +08:00
m00472246 30bcc59fbc 通过隐藏符号方式减少so大小 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
2025-04-27 16:57:54 +08:00
m00899184 e3e7441d86 dump静态帧所有图层
Signed-off-by: m00899184 <maochicong@huawei.com>
Change-Id: I766d3158d03a25ed11632b24054cbbaf1b289150
2025-04-25 15:40:19 +08:00
chengwenfeng 6e1451c4d1 fix: buffer provides a mechanism for timestamped requests.
Signed-off-by: chengwenfeng <chengwenfeng6@huawei.com>
2025-04-22 16:26:05 +08:00
m00472246 f2b8faba55 nativeimage增加实时性渲染优先模式 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
2025-04-19 17:03:59 +08:00
shegangbin 629646486e dvsync-web
Signed-off-by: shegangbin <shegangbin1@huawei.com>
2025-04-12 15:49:27 +08:00
m00472246 de43167963 detachbuffer占用槽位,防止槽位又被request占用 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
2025-02-14 10:25:33 +08:00
m00472246 2170695ee1 增加Get和Set RotatingBuffersNumber,适配cache中buffer数量大于queuesize的情况 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
2025-02-06 20:16:09 +08:00
m00472246 2b13e40151 增加buffercacheconfig接口 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
2025-01-18 12:48:15 +08:00
koloxite 6a93480e1e use fisrt frame, change to bool
Signed-off-by: koloxite <koloxite@126.com>
2025-01-13 11:20:49 +08:00
koloxite d7df50e709 fix variable , unlock buffer queue action
Signed-off-by: koloxite <koloxite@126.com>
2025-01-12 19:28:24 +08:00
koloxite 6676f01e50 [新需求]RS支持快速上屏
Signed-off-by: koloxite <koloxite@126.com>
2025-01-10 01:39:06 +08:00
lihui a9ac93bf12 add surface PTS feature
Signed-off-by: lihui <lihui359@huawei.com>
Change-Id: I38f380930d6ea08631ae6357c0bbcc4e1e49fcaf
2024-09-18 03:56:14 +00:00
mikefeng 7f971a1597 添加SetGlobalAlpha接口
Signed-off-by: mikefeng <zhf7199@163.com>
2024-08-26 15:22:57 +08:00
mikefeng 9d0ec9bd27 添加SetGlobalAlpha接口
Signed-off-by: mikefeng <zhf7199@163.com>
2024-08-22 21:32:49 +08:00
mikefeng 9a21b481a3 添加SetGlobalAlpha接口
Signed-off-by: mikefeng <zhf7199@163.com>
2024-08-16 19:23:14 +08:00
m00472246 655b9f8949 解决nativeimage创建新的buffer,存在内存泄露问题 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
2024-07-13 14:48:52 +08:00
m00472246 ff03c0de4d HDR屏幕提亮需求 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
2024-05-16 21:15:00 +08:00
m00472246 61176cfb93 buffer未判空&&智能指针去引用 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
2024-04-30 16:35:32 +08:00
sqwlly be7d9c13b7 add tdd test Signed-off-by: s30029175 <shiqiwei4@huawei.com>
Signed-off-by: sqwlly <shiqiwei4@huawei.com>
Change-Id: I94495ec5207b61857d1396f91434081820807713
2024-04-29 10:37:25 +00:00
sqwlly ee49beb219 inline is buffer hold Signed-off-by: s30029175 <shiqiwei4@huawei.com>
Signed-off-by: sqwlly <shiqiwei4@huawei.com>
Change-Id: I124a307fb53d4d8c7ee9d1f46cefb02fb37cd1f5
2024-04-29 07:17:24 +00:00
sqwlly c380502c45 merge conflict fix Signed-off-by: s30029175 <shiqiwei4@huawei.com>
Signed-off-by: sqwlly <shiqiwei4@huawei.com>
Change-Id: I5be9d9a64f193c036cecfa147b15025e337fd763
2024-04-22 09:18:47 +00:00
刘瓒 b587c62f1a fix usage uint64
Signed-off-by: 刘瓒 <liuzan9@huawei.com>
Change-Id: I87e22d32fa1705c90c14eaccfe33462daf3fb1c6
2024-03-26 07:01:34 +00:00
m00472246 8d463b9a5e 需求代码同步surface仓 Signed-off-by: m00472246 <majingtao1@huawei.com>
Signed-off-by: m00472246 <majingtao1@huawei.com>
2024-03-04 12:13:15 +08:00
sqwlly f2f8cb31b9 surface update Signed-off-by: s30029175 <shiqiwei4@huawei.com>
Signed-off-by: sqwlly <shiqiwei4@huawei.com>
Change-Id: Iadb16062199b3b19c7c8cc19a18e33fd86eceb3d
2024-02-27 12:23:12 +00:00
BruceXuXu 0b78eea774 Add Baseline Code
Signed-off-by: BruceXuXu <xufeilong2@huawei.com>
2023-11-03 09:00:11 +00:00