vlc | branch: master | Martin Storsjö <[email protected]> | Tue Aug 28 17:07:47 
2012 +0300| [7d4da02dae2b239323ed9b9246d4ecda5ed9e5fc] | committer: 
Jean-Baptiste Kempf

OMX: Don't blindly set the input buffer size

Keep it set to whatever the codec had set it to initially.

This makes the IOMX codecs work on Nexus 7.

This might also help for issues on Qualcomm devices (buffer sizes
that were too large on Nexus One, but restricting them broke
larger resolutions on HP TouchBook instead).

Optionally, one might need to call OMX_SetParameter/OMX_GetParameter
after setting the width/height to get a proper buffer size initialized
instead.

Signed-off-by: Jean-Baptiste Kempf <[email protected]>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7d4da02dae2b239323ed9b9246d4ecda5ed9e5fc
---

 modules/codec/omxil/omxil.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/modules/codec/omxil/omxil.c b/modules/codec/omxil/omxil.c
index bd3962d..3e44fb2 100644
--- a/modules/codec/omxil/omxil.c
+++ b/modules/codec/omxil/omxil.c
@@ -318,8 +318,9 @@ static OMX_ERRORTYPE SetPortDefinition(decoder_t *p_dec, 
OmxPort *p_port,
 
         if(def->eDir == OMX_DirInput || p_dec->p_sys->b_enc)
         {
-            def->nBufferSize = def->format.video.nFrameWidth *
-              def->format.video.nFrameHeight * 2;
+            if (def->eDir == OMX_DirInput && p_dec->p_sys->b_enc)
+                def->nBufferSize = def->format.video.nFrameWidth *
+                  def->format.video.nFrameHeight * 2;
             p_port->i_frame_size = def->nBufferSize;
 
             if(!GetOmxVideoFormat(p_fmt->i_codec,

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to