HI,
I am using EZSDK 05.05 on DM8148.
The codec memory leakage in VideoM3 seems to have been solved, but I observed new issue:
Somehow omx codecs plug-in is causing memor leakage in linux application area. I use "free utility" to observe the memory leak. I found after running each of my tests for 4 times 60K bytes leakage is indicated in application memory. I tetsed this with omx_mpeg2dec, omx_mpeg4dec, omx_h264dec and omx_vc1dec and for each of then afetr 4 runs, 60K bytes is lost.
My observation is as following:
omx_vc1dec:
root@dm814x-evm:/svp/bin#free
total used free shared buffers
Mem: 252408 241424 10984 0 4540
Swap: 0 0 0
Total: 252408 241424 10984
root@dm814x-evm:/svp/bin# gst-launch filesrc location=/media/mmcblk1p1/Media_Tes
t/ASF-WMV9-WMA-1280x720.asf ! asfdemux ! multiqueue ! omx_vc1dec ! fakesink (run this 4 times)
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Recieved EOS event, press <CTRL+C> to terminate pipeline.
Got EOS from element "pipeline0".
Execution ended after 27093282601 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
root@dm814x-evm:/svp/bin# free
total used free shared buffers
Mem: 252408 241484 10924 0 4540
Swap: 0 0 0
Total: 252408 241484 10924
omx_mpeg2dec:
root@dm814x-evm:/svp/bin#free
total used free shared buffers
Mem: 252408 210576 41832 0 2160
Swap: 0 0 0
Total: 252408 210576 41832
root@dm814x-evm:/svp/bin# gst-launch filesrc location=/media/mmcblk1p1/Media_Tes
t/01_VCD_NTSC_MediaClip-01.mpg ! mpegpsdemux ! multiqueue ! mpegvideoparse ! omx
_mpeg2dec ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
sequence end!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Recieved EOS event, press <CTRL+C> to terminate pipeline.
Got EOS from element "pipeline0".
Execution ended after 2326990401 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
root@dm814x-evm:/svp/bin# free
total used free shared buffers
Mem: 252408 210636 41772 0 2160
Swap: 0 0 0
Total: 252408 210636 41772
omx_mpeg4dec:
root@dm814x-evm:/svp/bin#free
total used free shared buffers
Mem: 252408 227736 24672 0 2176
Swap: 0 0 0
Total: 252408 227736 24672
root@dm814x-evm:/svp/bin# gst-launch filesrc location=/media/mmcblk1p1/Media_Tes
t/30-1672_MP4-MPEG4-AAC-720x480.MOV ! qtdemux ! multiqueue ! omx_mpeg4dec ! fake
sink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Width :720, Height: 480
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Recieved EOS event, press <CTRL+C> to terminate pipeline.
Got EOS from element "pipeline0".
Execution ended after 7070125100 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
root@dm814x-evm:/svp/bin# free
total used free shared buffers
Mem: 252408 227796 24612 0 2176
Swap: 0 0 0
Total: 252408 227796 24612
omx_h264dec
root@dm814x-evm:/svp/bin#free
total used free shared buffers
Mem: 252408 233416 18992 0 4504
Swap: 0 0 0
Total: 252408 233416 18992
root@dm814x-evm:/svp/bin# gst-launch filesrc location=/media/mmcblk1p1/Media_Tes
t/29.9-20500-720X480-DucksTakeOffp-H.264.mkv ! matroskademux ! multiqueue ! h264
parse ! omx_h264dec ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Recieved EOS event, press <CTRL+C> to terminate pipeline.
Got EOS from element "pipeline0".
Execution ended after 3063128851 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
root@dm814x-evm:/svp/bin# free
total used free shared buffers
Mem: 252408 233476 18932 0 4504
Swap: 0 0 0
Total: 252408 233476 18932
I tested above with omx_... decodres and I do not see the loss of memory. So I believe somethign to do with gst-omx plug-in.
Salim