Memory leak when playing stream with xbmc in android platform

We built xbmc for android, and runs in JB 4.2.2.
Each time when xbmc plays a stream, the surfaceflinger occupies more memory.
It's found that the OMX video decoder's output buffer allocated from native window is not released after each play.

As a result, after playing several streams, there is OOM.