1# 媒体子系统Changelog 2 3## cl.multimedia.1 OH_AVCodecBufferAttr 接口行为变更 4 5**访问级别** 6 7公开接口 8 9**变更原因** 10 11针对视频轨获取的 OH_AVCodecBufferAttr 中 `pts` 属性,会在文件实际封装信息的基础上减去轨道起始时间,使其从0开始, 12导致音视频轨道 `pts` 处理不一致,调用方依赖 `pts` 实现音画同步时,部分视频效果异常。 13 14**变更影响** 15 16该变更为非兼容性变更,用户获取的视频轨 `pts` 属性值变更,不再统一从0开始,统一提供文件实际封装的原始 `pts` 信息。 17 18**起始 API Level** 19 20API10 21 22**变更发生版本** 23 24从OpenHarmony SDK 5.0.0.39版本开始。 25 26**变更的接口/组件** 27 28| 名称 | 描述 | 29| ------------------------- | --------------------------- | 30| OH_AVCodecBufferAttr | 定义OH_AVCodec的缓冲区描述信息 | 31 32**适配指导** 33 34变更后 `pts` 获取方式不变,内部不再进行额外处理,为文件实际封装的时间戳信息,调用方可使用变更后 `pts`,结合业务逻辑进行使用和处理, 35获取方式如下所示: 36```c++ 37OH_AVBuffer *buffer = OH_AVBuffer_Create(w * h * 3 >> 1); 38if (buffer == nullptr) { 39 // 处理异常 40} 41int32_t ret = OH_AVDemuxer_ReadSampleBuffer(demuxer, trackIndex, buffer); 42if (ret != AV_ERR_OK) { 43 // 处理异常 44} 45 46OH_AVCodecBufferAttr info; 47ret = OH_AVBuffer_GetBufferAttr(buffer, &info); 48if (ret != AV_ERR_OK) { 49 // 处理异常 50} 51int64_t newPts = info.pts; 52``` 53 54并且从API12开始,支持获取轨道起始时间信息 `OH_MD_KEY_TRACK_START_TIME`,用户也可通过变更后 `pts`,结合轨道起始时间,转换为变更前 `pts`,代码如下: 55```c++ 56OH_AVFormat *trackFormat = OH_AVSource_GetTrackFormat(source, trackIndex); 57if (trackFormat == nullptr) { 58 // 处理异常 59} 60int64_t startTime = 0; 61if (!OH_AVFormat_GetLongValue(trackFormat, OH_MD_KEY_TRACK_START_TIME, &startTime)) { 62 // 处理异常 63} 64int64_t oldPts = newPts - startTime; 65``` 66 67## cl.multimedia.2 EffectSuggestionType行为变更 68 69**访问级别** 70 71系统接口 72 73**变更原因** 74 75效果推荐功能相关的枚举类,只有系统接口来获取/更新这些属性,无需开放。 76 77**变更影响** 78 79该变更为不兼容性变更。 80 81变更前:该枚举为公开接口。 82 83变更后:该枚举为系统接口。 84 85**起始API Level** 86 87API 12 88 89**变更发生版本** 90 91从OpenHarmony 5.0.0.39 版本开始。 92 93**变更的接口/组件** 94 95EffectSuggestionType/camera组件 96 97**适配指导** 98 99无需适配,相关接口没有开放,修改只是为了与相关接口的访问级别保持一致。 100 101## cl.multimedia.3 EffectSuggestionStatus行为变更 102 103**访问级别** 104 105系统接口 106 107**变更原因** 108 109效果推荐功能相关的类,只有系统接口来获取/更新这些属性,无需开放。 110 111**变更影响** 112 113该变更为不兼容性变更。 114 115变更前:该类为公开接口。 116 117变更后:该类为系统接口。 118 119**起始API Level** 120 121API 12 122 123**变更发生版本** 124 125从OpenHarmony 5.0.0.39 版本开始。 126 127**变更的接口/组件** 128 129EffectSuggestionStatus/camera组件 130 131**适配指导** 132 133无需适配,相关接口没有开放,修改只是为了与相关接口的访问级别保持一致。 134