HarmonyOS 视频解码的时候OH_VideoDecoder_RenderOutputBuffer方法一直返回为2

参考官方案例,使用XComponent渲染解码后的视频,但是解码的方法OH_VideoDecoder_RenderOutputBuffer一直返回2,导致demo没有画面。

代码:

int32_t VideoDecoder::FreeOutputData(uint32_t bufferIndex, bool render)
{
  if (decoder == nullptr) {
    OH_LOG_ERROR(LOG_APP, "Decoder is null");
    return AV_ERR_UNKNOWN;
  }

  int32_t ret = AV_ERR_OK;
  if (render) {
    ret = OH_VideoDecoder_RenderOutputBuffer(decoder, bufferIndex);
  } else {
    ret = OH_VideoDecoder_FreeOutputBuffer(decoder, bufferIndex);
  }
  if (ret != AV_ERR_OK) {
    OH_LOG_ERROR(LOG_APP, "Free output data failed: ret=%{public}d", ret);
    return AV_ERR_UNKNOWN;
  }
  return AV_ERR_OK;
}
int32_t ret = videoDecoder_->FreeOutputData(bufferInfo.bufferIndex, true);
if (ret != AV_ERR_OK) {
  OH_LOG_ERROR(LOG_APP, "Decoder output thread out");
  break;
}

结果:

07-31 17:36:22.031   55381-55416  C02B30/NativeVideoDecoder      pid-55381             E     {OH_VideoDecoder_RenderOutputBuffer():637} Video decoder render output data failed!
07-31 17:36:22.031   55381-55416  A00000/VideoDecoder            pid-55381             E     Free output data failed: ret=2
07-31 17:36:22.031   55381-55416  A00000/player                  pid-55381             E     Decoder output thread out
HarmonyOS
2024-12-25 10:00:24
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

视频解码可参考以下完整demo示例:https://gitee.com/harmonyos_samples/AVCodecVideo

分享
微博
QQ
微信
回复
2024-12-25 12:33:04
相关问题
HarmonyOS accessBackward方法一直返回true
121浏览 • 1回复 待解决
info 获取是失败 一直
2134浏览 • 1回复 待解决
HarmonyOS 获取定位一直失败
225浏览 • 1回复 待解决
HarmonyOS 应用上架一直loading
61浏览 • 1回复 待解决
HarmonyOS IDE无法打开,一直崩溃
418浏览 • 1回复 待解决
http 请求一直报 2300058
1915浏览 • 0回复 待解决
HarmonyOS 终端运行ohpm一直报错
332浏览 • 1回复 待解决
HarmonyOS Profiler TIme 一直是initializing
459浏览 • 1回复 待解决
HarmonyOS获取图片旋转值一直报错
647浏览 • 1回复 待解决