diff --git a/design/codec_hdi/codec_hdi_refactor/codec_hdi_refactor-V2.0.md b/design/codec_hdi/codec_hdi_refactor/codec_hdi_refactor-V2.0.md index 3cf5e9108691fab6a3ad31353b78247a1ae45df7..41850fcb8022eba49f15df9136be178733fd93f9 100644 --- a/design/codec_hdi/codec_hdi_refactor/codec_hdi_refactor-V2.0.md +++ b/design/codec_hdi/codec_hdi_refactor/codec_hdi_refactor-V2.0.md @@ -20,7 +20,12 @@ 下面是分辨率改变的时序图,如果Codec插件Buffer管理整体封装较好,那么HiStreamer引擎整体应对这种变化是没有问题的。 -### 分辨率改变时序 +### 分辨率改变事件的处理方案: +1. hdi adapter收到分辨率改变。置标记 分辨率改变处理中,port disable。 +2. 收到 hdi 返回的buffer,直接置空释放,让它回到 filter bufferpool。 +3. 然后 filter 判断宽高是否改变,决定是否需要 Reconfig,与 sink 重协商,释放老内存,申请新内存,配置新内存。 + +### 分辨率改变时序图: ``` plantuml participant Hdi participant HdiAdapter