ffmpeg Windows Error 0xe06d7363
Windows Error 0xe06d7363
出错代码:
AVIOContext *avio2 = avio_alloc_context(aviobuffer, 32768, 0, &fp_open, file_buffer, NULL, NULL);
错误代码:
//Callback
int read_buffer(void *opaque, uint8_t *buf, int buf_size) {
DeviceInfo deviceInfo = *((DeviceInfo *)opaque);
int null_count=0;
int display_count = 0;
while (1) {
RecStruct data_recv;
int ret;
memset(&data_recv, '0', sizeof(struct RecStruct));
ret = recv(deviceInfo.sockClient, (char *)&data_recv, sizeof(struct RecStruct), 0); //第二个参数使用强制类型,为一个数据包
if (ret == 0) // server调用了close
{
printf("server close");
break;
}
正确的:应该调用file_buffer,估计是指针强制转换出的错:
//Callback
int file_buffer(void *opaque, uint8_t *buf, int buf_size) {
FILE *fp_open = (FILE *)opaque;
if (!feof(fp_open)) {
int true_size = fread(buf, 1, buf_size, fp_open);
return true_size;
}
else {
printf("file read end\n");
return -1;
}
}
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/80325112
- 点赞
- 收藏
- 关注作者
评论(0)