1# lowpower_video_sink_base.h 2 3## 概述 4 5定义LowPowerVideoSink的结构体和枚举。 6 7**引用文件:** <multimedia/player_framework/lowpower_video_sink_base.h> 8 9**库:** liblowpower_avsink.so 10 11**系统能力:** SystemCapability.Multimedia.Media.LowPowerAVSink 12 13**起始版本:** 20 14 15**相关模块:** [LowPowerVideoSink](capi-lowpowervideosink.md) 16 17## 汇总 18 19### 结构体 20 21| 名称 | typedef关键字 | 描述 | 22| -- | -- | -- | 23| [OH_LowPowerVideoSink](capi-lowpowervideosink-oh-lowpowervideosink.md) | OH_LowPowerVideoSink | LowPowerVideoSink声明。 | 24| [OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md) | OH_LowPowerVideoSinkCallback | 包含了LowPowerVideoSink回调函数指针的集合。<br> 应用需注册此实例结构体到[OH_LowPowerVideoSink](capi-lowpowervideosink-oh-lowpowervideosink.md)实例中,并对回调上报的信息进行处理,保证LowPowerVideoSink的正常运行。 | 25 26### 函数 27 28| 名称 | typedef关键字 | 描述 | 29| -- | -- | -- | 30| [typedef void (\*OH_LowPowerVideoSink_OnDataNeeded)(OH_LowPowerVideoSink* sink, OH_AVSamplesBuffer* buffer, void *userData)](#oh_lowpowervideosink_ondataneeded) | OH_LowPowerVideoSink_OnDataNeeded | LowPowerVideoSink需要数据时调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 | 31| [typedef void (\*OH_LowPowerVideoSink_OnError)(OH_LowPowerVideoSink* sink, OH_AVErrCode errCode, const char* errMsg, void* userData)](#oh_lowpowervideosink_onerror) | OH_LowPowerVideoSink_OnError | LowPowerVideoSink发生错误时调用该方法。 | 32| [typedef void (\*OH_LowPowerVideoSink_OnTargetArrived)(OH_LowPowerVideoSink* sink, const int64_t targetPts, const bool isTimeout, void* userData)](#oh_lowpowervideosink_ontargetarrived) | OH_LowPowerVideoSink_OnTargetArrived | LowPowerVideoSink到达目标点时调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 | 33| [typedef void (\*OH_LowPowerVideoSink_OnRenderStarted)(OH_LowPowerVideoSink* sink, void* userData)](#oh_lowpowervideosink_onrenderstarted) | OH_LowPowerVideoSink_OnRenderStarted | LowPowerVideoSink开始渲染时调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 | 34| [typedef void (\*OH_LowPowerVideoSink_OnStreamChanged)(OH_LowPowerVideoSink* sink, OH_AVFormat* format, void* userData)](#oh_lowpowervideosink_onstreamchanged) | OH_LowPowerVideoSink_OnStreamChanged | LowPowerVideoSink流切换调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 | 35| [typedef void (\*OH_LowPowerVideoSink_OnFirstFrameDecoded)(OH_LowPowerVideoSink* sink, void* userData)](#oh_lowpowervideosink_onfirstframedecoded) | OH_LowPowerVideoSink_OnFirstFrameDecoded | LowPowerVideoSink第一帧解码成功时调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 | 36| [typedef void (\*OH_LowPowerVideoSink_OnEos)(OH_LowPowerVideoSink* sink, void* userData)](#oh_lowpowervideosink_oneos) | OH_LowPowerVideoSink_OnEos | LowPowerVideoSink播放完成时调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 | 37 38## 函数说明 39 40### OH_LowPowerVideoSink_OnDataNeeded() 41 42``` 43typedef void (*OH_LowPowerVideoSink_OnDataNeeded)(OH_LowPowerVideoSink* sink,OH_AVSamplesBuffer* buffer,void *userData) 44``` 45 46**描述** 47 48LowPowerVideoSink需要数据时调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 49 50**起始版本:** 20 51 52 53**参数:** 54 55| 参数项 | 描述 | 56| -- | -- | 57| [OH_LowPowerVideoSink](capi-lowpowervideosink-oh-lowpowervideosink.md)* sink | 指向OH_LowPowerVideoSink实例的指针。 | 58| [OH_AVSamplesBuffer](capi-avsinkbase-oh-avsamplesbuffer.md)* buffer | 指向OH_AVSamplesBuffer实例的指针。 | 59| void *userData | 用户执行回调所依赖的数据。 | 60 61### OH_LowPowerVideoSink_OnError() 62 63``` 64typedef void (*OH_LowPowerVideoSink_OnError)(OH_LowPowerVideoSink* sink,OH_AVErrCode errCode,const char* errMsg,void* userData) 65``` 66 67**描述** 68 69LowPowerVideoSink发生错误时调用该方法。 70 71**起始版本:** 20 72 73 74**参数:** 75 76| 参数项 | 描述 | 77| -- | -- | 78| [OH_LowPowerVideoSink](capi-lowpowervideosink-oh-lowpowervideosink.md)* sink | 指向OH_LowPowerVideoSink实例的指针。 | 79| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) errCode | 业务操作过程中发生错误时返回的错误码。 | 80| const char* errMsg | 业务操作过程中发生错误时返回的错误描述信息。 | 81| void* userData | 用户执行回调所依赖的数据。 | 82 83### OH_LowPowerVideoSink_OnTargetArrived() 84 85``` 86typedef void (*OH_LowPowerVideoSink_OnTargetArrived)(OH_LowPowerVideoSink* sink,const int64_t targetPts,const bool isTimeout,void* userData) 87``` 88 89**描述** 90 91LowPowerVideoSink到达目标点时调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 92 93**起始版本:** 20 94 95 96**参数:** 97 98| 参数项 | 描述 | 99| -- | -- | 100| [OH_LowPowerVideoSink](capi-lowpowervideosink-oh-lowpowervideosink.md)* sink | 指向OH_LowPowerVideoSink实例的指针。 | 101| const int64_t targetPts | 目标点的pts。 | 102| const bool isTimeout | 如果等待目标点超时,则为false。 | 103| void* userData | 用户执行回调所依赖的数据。 | 104 105### OH_LowPowerVideoSink_OnRenderStarted() 106 107``` 108typedef void (*OH_LowPowerVideoSink_OnRenderStarted)(OH_LowPowerVideoSink* sink, void* userData) 109``` 110 111**描述** 112 113LowPowerVideoSink开始渲染时调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 114 115**起始版本:** 20 116 117 118**参数:** 119 120| 参数项 | 描述 | 121| -- | -- | 122| [OH_LowPowerVideoSink](capi-lowpowervideosink-oh-lowpowervideosink.md)* sink | 指向OH_LowPowerVideoSink实例的指针。 | 123| void* userData | 用户执行回调所依赖的数据。 | 124 125### OH_LowPowerVideoSink_OnStreamChanged() 126 127``` 128typedef void (*OH_LowPowerVideoSink_OnStreamChanged)(OH_LowPowerVideoSink* sink, OH_AVFormat* format, void* userData) 129``` 130 131**描述** 132 133LowPowerVideoSink流切换调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 134 135**起始版本:** 20 136 137 138**参数:** 139 140| 参数项 | 描述 | 141| -- | -- | 142| [OH_LowPowerVideoSink](capi-lowpowervideosink-oh-lowpowervideosink.md)* sink | 指向OH_LowPowerVideoSink实例的指针。 | 143| [OH_AVFormat](../apis-avcodec-kit/_core.md#oh_avformat)* format | 包含变化的参数和对应的值。 | 144| void* userData | 用户执行回调所依赖的数据。 | 145 146### OH_LowPowerVideoSink_OnFirstFrameDecoded() 147 148``` 149typedef void (*OH_LowPowerVideoSink_OnFirstFrameDecoded)(OH_LowPowerVideoSink* sink, void* userData) 150``` 151 152**描述** 153 154LowPowerVideoSink第一帧解码成功时调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 155 156**起始版本:** 20 157 158 159**参数:** 160 161| 参数项 | 描述 | 162| -- | -- | 163| [OH_LowPowerVideoSink](capi-lowpowervideosink-oh-lowpowervideosink.md)* sink | 指向OH_LowPowerVideoSink实例的指针。 | 164| void* userData | 用户执行回调所依赖的数据。 | 165 166### OH_LowPowerVideoSink_OnEos() 167 168``` 169typedef void (*OH_LowPowerVideoSink_OnEos)(OH_LowPowerVideoSink* sink, void* userData) 170``` 171 172**描述** 173 174LowPowerVideoSink播放完成时调用该方法,包含在[OH_LowPowerVideoSinkCallback](capi-lowpowervideosink-oh-lowpowervideosinkcallback.md)中。 175 176**起始版本:** 20 177 178 179**参数:** 180 181| 参数项 | 描述 | 182| -- | -- | 183| [OH_LowPowerVideoSink](capi-lowpowervideosink-oh-lowpowervideosink.md)* sink | 指向OH_LowPowerVideoSink实例的指针。 | 184| void* userData | 用户执行回调所依赖的数据。 | 185 186 187