首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gstreamer元素内存泄漏

Gstreamer元素内存泄漏
EN

Stack Overflow用户
提问于 2013-04-18 09:24:34
回答 3查看 1.7K关注 0票数 0

如何发现gstreamer元素/插件中的内存泄漏问题?如何分析内存/对象泄漏/引用计数的gst引用计数?有什么例子吗?我正在使用appsrc和appsink在gstreamer管道之间推送和拉取缓冲区。这些元素似乎存在一些内存问题。我有将数据提供给管道的实时源,通常情况下,要在appsrc和appsink上为实时源设置哪些属性?谢谢-opensid

EN

回答 3

Stack Overflow用户

发布于 2013-04-19 00:42:16

您可以使用valgrind (memcheck)或asan (地址清理程序)等工具来检查此类问题。引用计数问题很难找到。

票数 0
EN

Stack Overflow用户

发布于 2014-07-09 11:42:48

如果您使用的是AppSrc示例,那么有一个相当简单的解决方案,那就是将Gst.Buffer分配封装在一个using语句中。

例如,更改以下方法

代码语言:javascript
复制
static void PushAppData (object o, Gst.App.NeedDataArgs args) {
  ulong mseconds = 0;
  if (appsrc.Clock != null)
    mseconds = appsrc.Clock.Time / Clock.MSecond;
  Gst.Buffer buffer = DrawData (mseconds);
  appsrc.PushBuffer (buffer);
}

到这个

代码语言:javascript
复制
static void PushAppData (object o, Gst.App.NeedDataArgs args) {
  ulong mseconds = 0;
  if (appsrc.Clock != null)
    mseconds = appsrc.Clock.Time / Clock.MSecond;
  using(Gst.Buffer buffer = DrawData (mseconds))
    appsrc.PushBuffer (buffer);
}

以前我的这个样例会在30秒内崩溃。现在它会一直运行,直到我杀死它。

票数 0
EN

Stack Overflow用户

发布于 2016-03-15 19:14:21

尝试使用Valgrind tool

请参阅此示例:http://cs.ecs.baylor.edu/~donahoo/tools/valgrind/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16072981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档