[vlc-devel] memory leak???

Howard howard at starvedia.com
Wed Apr 16 18:57:42 CEST 2008


Hi,
	Sorry for the insufficient information.
	I was running version 0.8.6.e on Windows XP. At the very beginning,
vlc.exe took up around 8MB memory space. It suddenly increased to 20MB after
I started playing. I was simply open a network stream from menu bar
File->Open network stream and assigned the port number to 3400 for UDP/RTP.
As time goes by, the memory took up by vlc.exe was increased to 38MB in 5
minutes. The video source was MPEG4 encoded stream encapsulated by MPEG2-TS
format and its bitrate was 1Mb.
	And, I thought the memory was going to be freed up after the player
was stopped. However, it's not. It still took up 18MB. How come?

	See below for more detail information.
=================================================================
main debug: adding playlist item `udp://@:3400' ( udp://@:3400 )
main debug: creating new input thread
main debug: waiting for thread completion
main debug: creating statistics handler
main debug: thread 4000 (input) created at priority 1 (input/input.c:265)
main debug: `udp://@:3400' gives access `udp' demux `' path `@:3400'
main debug: creating demux: access='udp' demux='' path='@:3400'
main debug: looking for access_demux module: 0 candidates
main warning: no access_demux module matched "udp"
main debug: creating access 'udp' path='@:3400'
main debug: looking for access2 module: 6 candidates
access_udp debug: opening server=:0 local=:3400
main debug: net: connecting to '[]:0@[]:3400'
main debug: looking for network module: 1 candidate
ipv6 warning: cannot create socket (Winsock error 10047)
main debug: using network module "ipv6"
main debug: removing module "ipv6"
main debug: looking for network module: 1 candidate
ipv4 debug: resolving :3400...
ipv4 debug: resolving :0...
main debug: using network module "ipv4"
main debug: removing module "ipv4"
main debug: using access2 module "access_udp"
main debug: pre buffering
access_udp debug: detected TS over raw UDP
main debug: creating demux: access='udp' demux='' path='@:3400'
main debug: looking for demux2 module: 45 candidates
main debug: using demux2 module "ts"
main debug: looking for a subtitle file in c:\Program Files\VideoLAN\VLC\
ts debug: DEMUX_SET_GROUP 0 00000000
access_udp warning: unimplemented query in control
main debug: `udp://@:3400' successfully opened
ts debug: pid[256] unknown
ts debug: PATCallBack called
ts debug: new PAT ts_id=1 version=0 current_next=1
ts debug:   * number=1 pid=4095
ts debug: PMTCallBack called
ts debug: new PMT program number=1 version=0 pid_pcr=256
ts debug:   * es pid=256 type=16 fcc=mp4v
main debug: selecting program id=1
main debug: looking for decoder module: 28 candidates
ffmpeg debug: libavcodec initialized (interface 3349504 )
ffmpeg debug: postprocessing disabled
ffmpeg debug: using direct rendering
ffmpeg debug: ffmpeg codec (MPEG-4 Video) started
main debug: using decoder module "ffmpeg"
main debug: looking for packetizer module: 17 candidates
main debug: using packetizer module "packetizer_mpeg4video"
main debug: thread 4244 (decoder) created at priority 0
(input/decoder.c:159)
ts warning: first packet for pid=256 cc=0xe
packetizer_mpeg4video warning: waiting for VOL
packetizer_mpeg4video warning: waiting for VOL
main debug: no usable vout present, spawning one
main debug: window size: 640x480
main debug: looking for video output module: 6 candidates
vout_directx debug: creating DirectXEventThread
main debug: waiting for thread completion
vout_directx debug: DirectXCreateWindow
vout_directx debug: created video sub-window
main debug: thread 4176 (DirectX Events Thread) created at priority 0
(directx.c:278)
vout_directx debug: DirectXEventThread running
vout_directx debug: DirectXInitDDraw
vout_directx debug: directx-device: 
vout_directx debug: DirectXEnumCallback: Primary Display Driver, display
vout_directx debug: DirectXEnumCallback: NVIDIA GeForce 8400M GS,
\\.\DISPLAY1
vout_directx debug: selecting NVIDIA GeForce 8400M GS, \\.\DISPLAY1
vout_directx debug: screen dimensions (0x0,1280x800)
vout_directx debug: DirectDraw Capabilities: overlay=1 yuvoverlay=1
can_deinterlace_overlay=1 colorkey=1 stretch=1 bltfourcc=1
vout_directx debug: align_boundary_src=0,0 align_boundary_dest=1,1
align_size_src=0,0 align_size_dest=0,0
vout_directx debug: End DirectXInitDDraw
vout_directx debug: DirectXCreateDisplay
vout_directx debug: DirectXCreateClipper
vout_directx debug: disabling screen saver
main debug: using video output module "vout_directx"
main debug: waiting for thread completion
vout_directx debug: NewPictureVec overlay:yes chroma:YV12
vout_directx debug: YUV overlay created successfully
vout_directx debug: End NewPictureVec (succeeded)
main debug: got 1 direct buffer(s)
main debug: picture in 640x480 (0,0,640x480), chroma I420, ar 4:3, sar 1:1
main debug: picture user 640x480 (0,0,640x480), chroma I420, ar 4:3, sar 1:1
main debug: picture out 640x480 (0,0,640x480), chroma I420, ar 4:3, sar 1:1
main debug: direct render, mapping render pictures 0-6 to system pictures
1-7
main debug: thread 4200 (video output) created at priority 1
(video_output/video_output.c:421)
main debug: Registering subpicture channel, ID: 2
main debug: Registering subpicture channel, ID: 3
main debug: Registering subpicture channel, ID: 4
main debug: Registering subpicture channel, ID: 5
main warning: late picture skipped (174927)
main warning: late picture skipped (124998)
main warning: late picture skipped (75119)
main warning: late picture skipped (25137)
ts debug: PSINewTableCallBack: table 0x42(66) ext=0x1(1)
ts debug: SDTCallBack called
ts debug: new SDT ts_id=1 version=0 current_next=1 network_id=1
ts debug:   * service id=1 eit schedule=0 present=0 running=4 free_ca=0
ts debug:     - type=1 provider=FFmpeg name=Service01
main debug: EsOutProgramMeta: number=1
main debug:   - Name = Service01
main debug:   - Provider = FFmpeg
main debug:   - Type = Digital television service
main debug:   - Status = Running
ts warning: discontinuity received 0x5 instead of 0xe (pid=256)
ffmpeg debug: concealing 22 DC, 22 AC, 22 MV errors
 (mpeg4 at 00B8F0C0)
ffmpeg warning: illegal dc vlc
 (mpeg4 at 00B8F0C0)
ffmpeg warning: Error at MB: 820
 (mpeg4 at 00B8F0C0)
ffmpeg debug: concealing 449 DC, 449 AC, 449 MV errors
 (mpeg4 at 00B8F0C0)
ffmpeg warning: ac-tex damaged at 3 20
 (mpeg4 at 00B8F0C0)
ffmpeg warning: Error at MB: 823
 (mpeg4 at 00B8F0C0)
ffmpeg debug: concealing 446 DC, 446 AC, 446 MV errors
 (mpeg4 at 00B8F0C0)
main warning: late picture skipped (154531)
main warning: late picture skipped (104577)
main warning: late picture skipped (54592)
main warning: late picture skipped (4610)
ts debug: eof ?
main debug: EOF reached
main debug: control type=0
main debug: control: stopping input
main debug: closing input
ts debug: pid list:
ts debug:   - pid[0] seen
ts debug:   - pid[17] seen
ffmpeg debug: ffmpeg codec (MPEG-4 Video) stopped
main debug: removing module "ffmpeg"
main debug: thread times: real 7m55.437500s, kernel 0m0.140625s, user
0m9.984375s
main debug: thread 4244 joined (input/decoder.c:191)
main debug: killing decoder fourcc `mp4v', 0 PES in FIFO
main debug: removing module "packetizer_mpeg4video"
main debug: Program doesn't contain anymore ES
ts debug:   - pid[256] seen
ts debug:   - pid[4095] seen
ts debug:   - pid[8191] seen
main debug: removing module "ts"
main debug: removing module "access_udp"
main debug: thread times: real 7m57.234375s, kernel 0m0.703125s, user
0m0.375000s
main debug: thread 4000 joined (input/input.c:412)
main debug: garbage collector destroys 1 vout
vout_directx debug: DirectXCloseSurface
vout_directx debug: DirectXCloseDisplay
vout_directx debug: DirectXCloseDisplay clipper
vout_directx debug: DirectXCloseDisplay display
vout_directx debug: DirectXCloseDDraw
vout_directx debug: CloseVideo
vout_directx debug: DirectXEventThread terminating
vout_directx debug: DirectXCloseWindow
vout_directx debug: WinProc WM_DESTROY
main debug: thread times: real 7m55.500000s, kernel 0m0.000000s, user
0m0.000000s
main debug: thread 4176 joined (directx.c:509)
main debug: removing module "vout_directx"
main debug: thread times: real 7m55.437500s, kernel 0m0.328125s, user
0m11.703125s
main debug: thread 4200 joined (video_output/video_output.c:461)
=================================================================

Thanks for the help!

Howard.

-----Original Message-----
From: vlc-devel-bounces at videolan.org [mailto:vlc-devel-bounces at videolan.org]
On Behalf Of Pierre d'Herbemont
Sent: Thursday, April 17, 2008 12:23 AM
To: Mailing list for VLC media player developers
Subject: Re: [vlc-devel] memory leak???


On Apr 16, 2008, at 6:12 PM, Howard wrote:
> Hi all,
>            I have experienced the memory leak problem during the  
> live streaming.
>            The case was that I used VLC player as a network  
> streaming client and it took more and more memory as time goes by.
> Does anybody have this kinda experience like me? Does anyone know  
> what is going wrong?
>

Hi!

Thanks for your report.

You'll need to be a bit more specific though.

What interface are you using? what kind of stream do you read? Can you  
run VLC in verbose mode (-vvv) and report the output here?

Pierre.

_______________________________________________
vlc-devel mailing list
To unsubscribe or modify your subscription options:
http://mailman.videolan.org/listinfo/vlc-devel

__________ NOD32 3026 (20080414) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com





More information about the vlc-devel mailing list