报错
The inferior stopped because it triggered an exception. Stopped in thread 9 by: Exception at 0x75cd4e3f,code:0xc00000005:read access violation at: 0x1, flags=0x0.
int got_picture = 0;
int ret = 1;
/* encode the image */
if(pkt == nullptr)
{
pkt = av_packet_alloc();
av_init_packet(pkt);
}
ret = avcodec_send_frame(videoCodec, avFrame);
if (ret < 0) {
fprintf(stderr,"Error encoding video frame.\n");
return 1;
}
got_picture = avcodec_receive_packet(videoCodec, pkt);
原因:
avcodec_send_frame函数调用前,给avFrame申请空间av_frame_alloc
avcodec_receive_packet函数调用前,先给pkt申请内存空间av_packet_alloc,并初始化av_init_packet(pkt)。