Memory leak only on Windows

Nikos Chantziaras realnc at gmail.com
Fri Feb 27 00:21:01 PST 2015


Hello.

Is anyone aware of any memory leaks with video on Windows? I had a 
memory leak previously, but that was my own fault (I was doing a 
gst_buffer_map() and forgot to gst_buffer_unmap() afterwards.)

On Linux, there is no leak. On Windows however, memory usage piles up 
and up and up as videos play. This happens even with the simplest "hello 
world" way of playing a video; creating a playbin, load a video from a 
file and play it.

The only "non-standard" things are the use of a statically built 
gstreamer (with static plugins-base, plugins-good, plugins-bad [for 
d3dvideosink] and gst-libav [for video decoding]) cross-compiled from 
Linux to Windows with a MinGW-w64 cross-compiler (32-bit builds).

The only plugins needed are registered before use:

   GST_PLUGIN_STATIC_REGISTER(app);
   GST_PLUGIN_STATIC_REGISTER(avi);
   GST_PLUGIN_STATIC_REGISTER(coreelements);
   GST_PLUGIN_STATIC_REGISTER(d3dsinkwrapper);
   GST_PLUGIN_STATIC_REGISTER(libav);
   GST_PLUGIN_STATIC_REGISTER(opengl);
   GST_PLUGIN_STATIC_REGISTER(playback);
   GST_PLUGIN_STATIC_REGISTER(typefindfunctions);

The majority of the work is done by the libav plugin, so no more plugins 
are needed.

Also, since I'm using Qt, I'm launching a GMainLoop in a GThread for 
gstreamer to dispatch its events/messages, since on Windows Qt does not 
utilize glib. However, doing the same on Linux with a Qt built without 
glib support, does not result in any leaks, so it doesn't look like this 
has anything to do with it.

I'm using latest official tarballs for everything (1.4.5).



More information about the gstreamer-devel mailing list