dspack循环播放视频文件,内层泄露(200)

  • 主题发起人 主题发起人 brainpower
  • 开始时间 开始时间
B

brainpower

Unregistered / Unconfirmed
GUEST, unregistred user!
我用dspack开发了一个多媒体广告系统,第一阶段用MCI开发,感觉受硬件的影响很大,不理想,放弃第二阶段用dspack开发,循环播放广告视频几个后,出现内层泄漏,刚开始几有20M左右,播了5,6个DVD视频后就占用500M左右的内存,不知是何问题?谁帮我解决,用人民币谢。
 
myVideoW.Visible:=True;
myFilterG.Stop;
// 自动循环播放 久了解码不正确,用这几句试试 myFilterG.DisconnectFilters;
myFilterG.ClearGraph;
self.myVideoW.FilterGraph:=nil;
myFilterG.Active:=False;
myFilterG.Active := true;
self.myVideoW.FilterGraph:=self.myFilterG;
myFilterG.RenderFile(pmFile);
TrackBar.FilterGraph:=myFilterG;
dsPPlayState:='PLAYING';
dsPPlayFileName:=pmFile;
self.myVideoW.Align:=alClient;
myFilterG.Play;
self.TrackBar.Refresh;
 
在单核的cpu上没有问题,双核就有问题,不知何故,用了线程来播放下一个视频,怀疑是线程的问题,后来用这种方法播放下一个视频也有问题。procedure TF_main.TrackBarTimer(sender: TObject;
CurrentPos, StopPos: Cardinal);
begin
if CurrentPos=StopPos then
dsPPlayState:='END';
self.imgTop.Hint:=dsPPlayFileName+' '+TimeToStr(CurrentPos / MiliSecPerDay)+' / '+TimeToStr(StopPos / MiliSecPerDay);
if (dsPPlayState='END') then
begin
I:=Flist.Items.Count;//-1;
self.pnlClient2.Align:=alClient;
str:='D:/广告/'+FList.Items.Strings[Random(I)];
self.PlayFile(Str);
Randomize;
end;
end;
 
关注--------------------------------------关注
 
下面是我检测内存的结果: 水平不够,请指点===== PLED.exe,2010-04-26 02-15-46 ===== 可用地址空间 : 1024 KB(1048576 Byte) 未提交部分 : 976 KB(999424 Byte) 已提交部分 : 48 KB(49152 Byte) 空闲部分 : 45 KB(46448 Byte) 已分配部分 : 2 KB(2324 Byte) 全部小空闲内存块 : 5 KB(5320 Byte) 全部大空闲内存块 : 40 KB(41128 Byte) 其它未用内存块 : 0 KB(0 Byte) 内存管理器消耗 : 0 KB(380 Byte) 地址空间载入 : 0%当前出现 10 处内存漏洞 : 0) 0000000000CD1594 - 55($0037)字节 - 不是对象 1) 0000000000CD15C8 - 26($001A)字节 - 不是对象 2) 0000000000CD15E0 - 26($001A)字节 - 不是对象 3) 0000000000CD15F8 - 26($001A)字节 - 不是对象 4) 0000000000CD1AD0 - 43($002B)字节 - 不是对象 5) 0000000000CD0EAC - 23($0017)字节 - 不是对象222 6) 0000000000CD1B18 - 22($0016)字节 - 不是对象 7) 0000000000CD1B3C - 23($0017)字节 - 不是对象222 8) 0000000000CD1D60 - 23($0017)字节 - 不是对象 9) 0000000000CD1D74 - 134($0086)字节 - 不是对象 10) 0000000000CD1ED4 - 27($001B)字节 - 不是对象 11) 0000000000CD1EEC - 26($001A)字节 - 不是对象 12) 0000000000CDD97C - 27($001B)字节 - 不是对象 13) 0000000000CDBB50 - 19($0013)字节 - 不是对象
 
QQ 87797301 15976134277 联系我一块研究
 
以前也用dspack 搞过这种系统,还是商用。。contact me: qq:79627128
 
http://prj.csdn.net:8080/projectDetail.do?operator=findprj&pointid=20922http://www.sxsoft.com/index.php/it/buy/show/4430
 
用AQTime来检测一下是哪句代码造成内存泄露这种情况肯定是借助工具来解决问题了。要相信办法总是比问题多的,呵呵
 
已解决,谢谢 rwlin。学习中...
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
I
回复
0
查看
740
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部