当使用live555时,avcodec_decode_video2始终将got_picture_ptr设置为0

时间:2013-01-03 17:16:04

标签: ffmpeg h.264 libavcodec live555 avcodec

我正在尝试使用libavcodec解码帧。我的应用程序使用live555从rtsp流上检索rtp数据包。由于avcodec_decode_video将got_picture_ptr设置为0但我无法找到它,因此我搜索了很多。
  谁能告诉我avcodec_decode_video2如何在内部工作?可能导致got_picture_ptr指针设置为零的原因是什么? PS:该函数读取字节,即返回值始终为正数,而不是-1。 我很难过,任何帮助都会受到赞赏。我没有引用任何代码,因为使用avcodec_decode_video2解码的代码是相当通用的,我的代码中没有什么特别的东西。(我之前使用libavcodec解码了rtsp流,而不是使用live555)

1 个答案:

答案 0 :(得分:0)

好吧,我终于能够解决它了。问题是我从live555处理MediaSink对象的方式。我应该调用我从MediaSink派生的Sink类的afterGettingFrame函数,我没有这样做,因为虽然我得到了数据,但我没有“读取”数据并将其输入到avcodec_decode_video2方法中。