关于list的的一些问题(未初始化)
2014-04-30 16:18
351 查看
定义了一个智能指针,本想将它存到list中,这样的话,pop_back()的时候就不用再去释放内存了,结果发现问题很多,最后不得不放弃。
std::list<std::shared_ptr<AVFrame>> video_frameList;
std::shared_ptr<AVFrame> tempFrame = std::shared_ptr<AVFrame>(avcodec_alloc_frame(),av_free);
avcodec_decode_video2(is->video_st->codec, &(*tempFrame), &frameFinished,packet);
video_frameList.push_back(tempFrame); //崩溃
里面有几个特殊的地方,本想研究下,时间不允许了,于是还是采用笨的方法了。
AVFrame *pFrame; //这是个C的结构体
它是用avcodec_alloc_frame()申请内存的。
然而之后操作avcodec_decode_video2,会在里面再次申请内存;里面的参数类型也有问题( &(*tempFrame) )
最后释放用av_free(pFrame);
几个纠结的地方凑到一起,我就不想再弄了。纠结了
list insert iterator outside range
几天以后找到原因了,因为这个list的空间是用malloc申请的,而不是new。所以里面没有初始化(这个list是在一个结构体中,这个结构体用的是malloc来申请空间的,找了好久,后来改成了在这个结构体中定义了一个list指针,指向了一个new的list,就正常了)。
std::list<std::shared_ptr<AVFrame>> video_frameList;
std::shared_ptr<AVFrame> tempFrame = std::shared_ptr<AVFrame>(avcodec_alloc_frame(),av_free);
avcodec_decode_video2(is->video_st->codec, &(*tempFrame), &frameFinished,packet);
video_frameList.push_back(tempFrame); //崩溃
里面有几个特殊的地方,本想研究下,时间不允许了,于是还是采用笨的方法了。
AVFrame *pFrame; //这是个C的结构体
它是用avcodec_alloc_frame()申请内存的。
然而之后操作avcodec_decode_video2,会在里面再次申请内存;里面的参数类型也有问题( &(*tempFrame) )
最后释放用av_free(pFrame);
几个纠结的地方凑到一起,我就不想再弄了。纠结了
list insert iterator outside range
几天以后找到原因了,因为这个list的空间是用malloc申请的,而不是new。所以里面没有初始化(这个list是在一个结构体中,这个结构体用的是malloc来申请空间的,找了好久,后来改成了在这个结构体中定义了一个list指针,指向了一个new的list,就正常了)。
相关文章推荐
- 关于初始化 degug 和Release 的一些相关问题
- (原创)关于FFmpeg的一些有关的初始化默认值的问题
- UserControl 中包含封装了集合对象的属性被设计器自动初始化所引起的错误!也有关于List的问题
- UserControl 中包含封装了集合对象的属性被设计器自动初始化所引起的错误!也有关于List的问题
- c++中关于初始化型参列表的一些问题
- 关于java的一些小问题,list中添加对象,java基本数据类型对象
- UserControl 中包含封装了集合对象的属性被设计器自动初始化所引起的错误!也有关于List的问题
- 关于定义类成员导出函数需要注意的一些问题
- 深入浅出MFC 第8章 关于序列化(Serialize)的一些问题
- bootstrap+angular关于js常见的一些问题
- 关于使用OpenLayers的透明图层叠加的一些问题
- 关于linux的crond定时任务的一些常见问题
- 关于初学Hibernate遇到的一些问题
- 关于Partition List 的memory limit exceeded问题
- 关于 来源: volmgr Event ID: 46 故障转储初始化未成功 的问题
- 关于iframe节点初始化的问题
- 整理一些关于远程的问题
- 关于语法运用的一些其他问题
- 关于spring升级到4.3.12 hibernate升级到4.3 遇到的一些问题和解决方法
- 关于字符串指针的一些问题及字符串的左旋转代码