avformat_new_stream,传入AVCodec导致的内存泄露(av_mallocz)。

现状:ffmpeg升级后,接口变更,现有API需要自行创建AVCodecContext进行编码。

从老接口升级后,avformat_new_stream传入了AVCodec,频繁创建过程中内存暴涨。只要传入空参数就避免了此类问题,查看ffmpeg相关源代码也会发现其现有代码都是这么写的。

原因:avformat_new_stream如果传入AVCodec,内部会自行创建一个AVCodecContext,avformat_free_context 销毁对象的时候会销毁AVStream相关内容但是不会销毁AVCodecContext,只能自己手动处理(但相关参数已经不建议使用)。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,135评论 19 139
  • 教程一:视频截图(Tutorial 01: Making Screencaps) 首先我们需要了解视频文件的一些基...
    90后的思维阅读 5,019评论 0 3
  • 写在前面 如果对FFmpeg有需要更多了解的请订阅我的专题:音视频专辑 3.1 FFmpeg 文件结构 libav...
    张芳涛阅读 2,833评论 0 21
  • 海上的风打在我的脸,在我快要清醒的一瞬间,我仍然能够感受到日头的暖。天空蔚蓝,甚至能感应到那海鱼的咸。只是我的头颅...
    李一十八阅读 236评论 0 0
  • 在《不抱怨的世界》这本书中,作者通过紫手环的活动,让世界许许多多的人成为受益者,不抱怨每天快乐的生活。人的潜意识中...
    梦不遥远阅读 263评论 0 1

友情链接更多精彩内容