Memory leak in sout
Posted: 09 Jul 2013 14:17
Good day (and sorry for my english),
I need to get rtsp stream from some video server in my local network and retranslate stream to local port using rtp (or http, doesn`t matter). I want to use this retranslated stream in another app. This is a command i used (Ubuntu 12.04, VLC 2.0.5):
Everything works fine, but sometimes video server begins to produce rtsp stream without video data, only audio packets are coming. This leads to increasing memory consumption and later to vlc crashing. If i use only there is no memory leak, so problem is definitely in sout module.
Another annoying thing is that when I use libvlc to embed this in my app, there is no any media_event, which I could use to process such situation when video stream has lost. Furthermore, even video_lock/unlock callbacks are calling with period of about 15 fps, but every time picture contains only the latest frame sent by videoserver. So I don`t see the way to somehow prevent memory leakage even in my app using libvlc.
Upd. There is no any information even in verbose (-vvv) output, when video data has been lost.
This is the graph of vlc process memory consumption.Values [kB] are obtained from /proc/[pid]/status. Blue line is max memory consumtion (VmPeak), orange line is current memory(VmSize).
I need to get rtsp stream from some video server in my local network and retranslate stream to local port using rtp (or http, doesn`t matter). I want to use this retranslated stream in another app. This is a command i used (Ubuntu 12.04, VLC 2.0.5):
Code: Select all
cvlc rtsp://192.168.25.252/live0-1.sdp --sout '#duplicate{dst=display, dst=rtp{mux=ts,dst=127.0.0.1,port=16068}}'
Code: Select all
cvlc rtsp://192.168.25.252/live0-1.sdp
Another annoying thing is that when I use libvlc to embed this in my app, there is no any media_event, which I could use to process such situation when video stream has lost. Furthermore, even video_lock/unlock callbacks are calling with period of about 15 fps, but every time picture contains only the latest frame sent by videoserver. So I don`t see the way to somehow prevent memory leakage even in my app using libvlc.
Upd. There is no any information even in verbose (-vvv) output, when video data has been lost.
This is the graph of vlc process memory consumption.Values [kB] are obtained from /proc/[pid]/status. Blue line is max memory consumtion (VmPeak), orange line is current memory(VmSize).