vlc/vlc-1.2 | branch: master | Martin Storsjö <[email protected]> | Mon Dec 19 17:03:04 2011 +0200| [8a041501268a3bd0714d64bbd3d8ee02c85d6d54] | committer: Jean-Baptiste Kempf
omxil: Don't free the sentinel buffers These buffers aren't known to the actual OMX codec. Normally, these buffers are removed from the queue by DecodeAudio/DecodeVideo, but if they're pushed multiple times (which happens when using google sw decoders), PortReconfigure might try to free them. Signed-off-by: Jean-Baptiste Kempf <[email protected]> (cherry picked from commit 6643ac0ae02a61c95b3911b1c36856ace0d06b2e) Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc/vlc-1.2.git/?a=commit;h=8a041501268a3bd0714d64bbd3d8ee02c85d6d54 --- modules/codec/omxil/omxil.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/modules/codec/omxil/omxil.c b/modules/codec/omxil/omxil.c index 7be3ec6..ef8982b 100644 --- a/modules/codec/omxil/omxil.c +++ b/modules/codec/omxil/omxil.c @@ -580,6 +580,8 @@ static OMX_ERRORTYPE DeinitialiseComponent(decoder_t *p_dec, for(j = 0; j < p_port->i_buffers; j++) { OMX_FIFO_GET(&p_port->fifo, p_buffer); + if (p_buffer == &p_sys->sentinel_buffer) + continue; omx_error = OMX_FreeBuffer( omx_handle, p_port->i_port_index, p_buffer ); @@ -1048,6 +1050,8 @@ static OMX_ERRORTYPE PortReconfigure(decoder_t *p_dec, OmxPort *p_port) for(i = 0; i < p_port->i_buffers; i++) { OMX_FIFO_GET(&p_port->fifo, p_buffer); + if (p_buffer == &p_sys->sentinel_buffer) + continue; omx_error = OMX_FreeBuffer( p_sys->omx_handle, p_port->i_port_index, p_buffer ); _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
