memory waste under certain circumstances

Luca Santini luca.santini at spesonline.com
Thu Jul 25 08:48:57 PDT 2013


Hi,
i'm using this code in my application (linked with gstreamer 0.10; can't 
try 1.0 on my platform...):

//---
         snprintf(mypipeline,sizeof(mypipeline),
         "fdsrc fd=0 ! tsdemux name=d program-number=%s ! "
         "queue2 max-size-buffers=0 max-size-time=0 ! "
         "mpeg2dec ! autovideosink d. ! "
         "queue2 max-size-buffers=0 max-size-time=0 ! "
         "mad ! alsasink sync=false "
         ,sPids
         );
         pipeline = gst_parse_launch (mypipeline, NULL);
         //...here there is code to put pipeline in PAUSE until 
prerolled, then...
         event_loop (pipeline, FALSE, GST_STATE_PLAYING);
//---

fd0 is fed with 'cat /dev/dvb/adapter0/dvr0' (fork'd and pipe'd).

When using a Sundtek Media TV Pro dvb-t dongle,
my app memory footprint keeps growing ~1MB/min !!! I'm on an embedded 
system with ~512MB ram and after some hours i run out-of-memory!!!
The very strange thing is that using a different DVB-T dongle (ITE 9005 
) this weird behaviour doesn't happens.

any hint?

p.s.: is there a way to free this wated memory after the pipeline is 
unreferenced? (can't use gst_deinit because my app is supposed to launch 
other pipelines after.)


More information about the gstreamer-devel mailing list