本文共 838 字,大约阅读时间需要 2 分钟。
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;
}
}
转载地址:http://hlzk.baihongyu.com/