Hi,
i am using adobe air for my digital signage software and having memory leakage problem with that. there is lots of video in mp4 h.264 format , short videos (1-15 minutes) and they playing in turn, i am using gc in complete event of videodisplay. every source changed it is adding 2-3 mb to memory and a couple of hours later memory goes to 500-600 mb and then crashes. i think it doesnt clearing old metadatas or somethings, i tried also removing videodisplay totally at the end of the video and create again but the result is the same. tried clearing all events, stopping timers, using localconnetion hack but no luck. it is adding this 2-3 mb data somewhere in memory and i need to clear it , please help!!!
i tried it with
4.5 sdk and 2.6 air
4.5 sdk and 3.1 air
4.5 sdk and 3.2 air
4.6 sdk and 3.1 air
4.6 sdk and 3.2 air
also used s:videodisplay and mx:videodisplay the result is always same.
There is most certainly a mem leak in the Flex 4.6 implementation of OSMF. It has been a thorn in my side for awhile. I've posted numerous work around's here, none of which are a perfect solution. I am surprised my bug report never got any votes, because the problem is easily reproducible.
See:
https://bugs.adobe.com/jira/browse/SDK-31025
and
http://forums.adobe.com/message/3928561
The easiest thing I would suggest is to ditch the DynamicStreamingVideoSource if you are not using its features (dynamic bandwidth detection for multiple sources). I was able to get RTMP to work without leaking after this, however, I ended up implementing my own "VideoDisplay" component that utilized OSMF, otherwise it would crash on iOS in a low bandwidth (3G) environment. The fix was to manage the buffer length more closely so it is not switching video states a few times every second.
Thems' the breaks I guess.
Cheers and good luck!
North America
Europe, Middle East and Africa
Asia Pacific