gstreamer not release the sockets after destroy the pipeline

Huang Weller (CM/EPF1-CN) Weller.Huang at cn.bosch.com
Tue Feb 10 19:05:25 PST 2015


Hi,

We are using the gstreamer 1.42. And we reuse the mediaplayer which works well under gstreamer 0.10.
We already follow the porting guide and did necessary changes to our code. And the media player is working.
BUT,
we found that the fd at folder /proc/TEST.OUT_PID/fd keep increasing during play the music one after one(in the mediaplayer, the pipe will be destroyed before changing music file and be recreated a new pipeline for play new file).
we already did some investigation, for example, try to use one pipe for all music playback but not recreate it everytime.
but it is not ok to change the file location on fly. You can enable the code in line 702 of gst-test.c to enable 
this test mode. The test code will recreate the pipeline when play new file in default.

so, for this issue, after 30mins, test with thousands 4 seconds music files with our media player, our system's mem cache will be occupied by it and trigger the OOM.

I have below questions, 
1.Is it a bug for gstreamer ?
2. how to change the file location when using decodebin ? I know the playbin can change the file location on fly.
Because my test file a very small, so I change the file location after got EOS.Now I change the file location in this way:
Set pipeline to ready -> remove filesrc bin from pipeline -> set null to  filesrc -> recreate filesrc -> set new file location->add filesrc bin to pipeline -> pad line with decodebin -> set pipeline to playing state.

But I can not hear anything on this way.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: gst-decodebin-issue1.zip
Type: application/x-zip-compressed
Size: 345982 bytes
Desc: gst-decodebin-issue1.zip
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150211/4f027a57/attachment-0001.bin>


More information about the gstreamer-devel mailing list