ご存知のように、1つのAVPacketには1つのAVFrameが含まれており、
int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame,
int *got_frame_ptr, const AVPacket *avpkt)
パケットをフレームにデコードする場合、それが機能got_frame_ptr
する場合はゼロ以外で設定され、そうでない場合はゼロに設定されます。
int len = avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet);
if ( len < 0 )
{
fprintf(stderr, "Problems decoding frame\n");
return 1;
}
fprintf(stderr, "len = %d\n", len );
// Did we get a video frame?
if(frameFinished) {
dosomething();
}
どのように失敗しますか(got_frame_ptr
0)?破損したAVPacketか何か他のものですか?