Page 1 of 1

Possible Memory leak & problems with UDP playback

Posted: 27 May 2008 13:42
by Quietlife2k
Hi All,
Here's my scenario :-

Ubuntu Hardy Heron 64Bit with standard apt-get of vlc version 0.8.6e Janus - Compiler: gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7).

I have three DVB-T tuners :

1 x PCI "Tiger"
1 x USB MSI Mega sky 580 - Zarlink MT352
1 x USB Grand Tech - DiBcom 3000MC/P

Each USB tuner has it's own ECHI controller (on onboard & 1 add in PCI).

I select a transponder and stream each of the available channels to a port on localhost with something like :

Code: Select all

vlc --ts-es-id-pid --programs=8258,8325,8294,8353,8384 dvb: --dvb-adapter=2 --dvb-frequency=665833330 --dvb-srate=27500000 --sout-standard-access=udp --sout-standard-mux=ts --sout '#duplicate{dst=std{dst=127.255.255.255:8000},select="program=8258",dst=std{dst=127.255.255.255:8001},select="program=8325",dst=std{dst=127.255.255.255:8002},select="program=8294",dst=std{dst=127.255.255.255:8003},select="program=8353",dst=std{dst=127.255.255.255:8004},select="program=8384"}' & vlc --ts-es-id-pid --programs=12866,12992 dvb: --dvb-adapter=0 --dvb-frequency=650166670 --dvb-srate=27500000 --sout-standard-access=udp --sout-standard-mux=ts --sout '#duplicate{dst=std{dst=127.255.255.255:9000},select="program=12866",dst=std{dst=127.255.255.255:9001},select="program=12992"}' & vlc --ts-es-id-pid --programs=4173,4237,4351,4415,4671 dvb: --dvb-adapter=1 --dvb-frequency=641833330 --dvb-srate=27500000 --sout-standard-access=udp --sout-standard-mux=ts --sout '#duplicate{dst=std{dst=127.255.255.255:7000},select="program=4173",dst=std{dst=127.255.255.255:7001},select="program=4237",dst=std{dst=127.255.255.255:7002},select="program=4351",dst=std{dst=127.255.255.255:7003},select="program=4415",dst=std{dst=127.255.255.255:7004},select="program=4671"}' &
I then have a program that wraps libvlc to "restream" to my intended clients - the cli version would like like this :

Code: Select all

vlc udp://@:8000 --sout '#duplicate{dst=std{access=udp,mux=ts,dst=10.250.250.69:7000}}'
With a client that wraps libvlc to display content and a means of channel selection - a static client looks like :

Code: Select all

vlc udp://@:7000
Problems

1) The main vlc instances that talk to the tuners seem to be leaking memory like a sieve (Seems worse on transponders with moving channels - see 3).
2) When a badly corrupted stream is read the client freezes displaying the that data it could decode and will NOT always restart of it's own accord.
3) Some of the dvb-t channels on my local multiplexes "swap" depending on time of day - that is to say during the day you may see one channel (kids tv for example) in a slot, but at night the channel changes to more mature content. Vlc does not seem to notice this change in the streams apart from losing the departing channel.
4) I have yet to discover the root cause, but vlc also seems at times to incorrectly identify the audio pid as some channels start without audio on the main channel - a restart or two of the backend vlc usually gets it to pick the correct audio.

I have no C or C++ skills but will be glad to follow up and try to help diagnosing these further.

Thoughts / advice ?

Thanks in advance

Re: Possible Memory leak & problems with UDP playback

Posted: 27 May 2008 19:16
by Jean-Baptiste Kempf
Can you ask on the mailing lists?

Re: Possible Memory leak & problems with UDP playback

Posted: 29 May 2008 13:01
by Quietlife2k
I have posted to the streaming mailing list - is there any other I should cross post to ?

I am willing to do almost anything to this box as the functionality would solve a lot of household conflicts in scheduling tv.

Many thanks in advance for any and all assistance.