<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div><br></div><div><br></div><div>On Sat, Feb 1, 2020, at 19:02, zhilizhao wrote:<br></div><blockquote type="cite" id="qt"><div><br></div><div><div><br></div><blockquote class="qt-" type="cite"><div class="qt-">On Feb 2, 2020, at 1:35 AM, zhilizhao <<a class="qt-" href="mailto:quinkblack@foxmail.com">quinkblack@foxmail.com</a>> wrote:<br></div><div><br></div><div class="qt-"><div><br></div><div><br></div><blockquote class="qt-" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-size-adjust:auto;-webkit-text-stroke-width:0px;text-decoration-line:none;text-decoration-style:initial;text-decoration-color:initial;" type="cite"><div>On Jan 31, 2020, at 9:11 PM, Thomas Guillem <<a class="qt-" href="mailto:thomas@gllm.fr">thomas@gllm.fr</a>> wrote:<br></div><div><br></div><div>cf. previous commit. It is not fixed in VLC core.<br></div></blockquote><div><br></div><div><span style="font-family:Helvetica" class="font"><span style="font-size:12px" class="size">You mean â€œnow” fixed?</span></span><br></div></div></blockquote></div></blockquote><div><br></div><div>Yes indeed,</div><div><br></div><blockquote type="cite" id="qt"><div><blockquote class="qt-" type="cite"><div class="qt-"><div><br></div><blockquote class="qt-" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-size-adjust:auto;-webkit-text-stroke-width:0px;text-decoration-line:none;text-decoration-style:initial;text-decoration-color:initial;" type="cite"><div>---<br></div><div>modules/codec/omxil/mediacodec.c | 29 +----------------------------<br></div><div>1 file changed, 1 insertion(+), 28 deletions(-)<br></div><div><br></div><div>diff --git a/modules/codec/omxil/mediacodec.c b/modules/codec/omxil/mediacodec.c<br></div><div>index f6b98458f47..5ad2861d253 100644<br></div><div>--- a/modules/codec/omxil/mediacodec.c<br></div><div>+++ b/modules/codec/omxil/mediacodec.c<br></div><div>@@ -1469,7 +1469,6 @@ static int QueueBlockLocked(decoder_t *p_dec, block_t *p_in_block,<br></div><div>{<br></div><div>   decoder_sys_t *p_sys = p_dec->p_sys;<br></div><div>   block_t *p_block = NULL;<br></div><div>-    bool b_dequeue_timeout = false;<br></div><div><br></div><div>   assert(p_sys->api.b_started);<br></div><div><br></div><div>@@ -1485,9 +1484,7 @@ static int QueueBlockLocked(decoder_t *p_dec, block_t *p_in_block,<br></div><div>       vlc_mutex_unlock(&p_sys->lock);<br></div><div>       /* Wait for an input buffer. This function returns when a new input<br></div><div>        * buffer is available or after 2secs of timeout. */<br></div></blockquote></div></blockquote><div><br></div><div>The above comment is out dated now.<br></div></div></blockquote><div><br></div><div>Yes, thanks for the review !<br></div><div><br></div><blockquote type="cite" id="qt"><div><div><br></div><blockquote class="qt-" type="cite"><div class="qt-"><blockquote class="qt-" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-size-adjust:auto;-webkit-text-stroke-width:0px;text-decoration-line:none;text-decoration-style:initial;text-decoration-color:initial;" type="cite"><div>-        i_index = p_sys->api.dequeue_in(&p_sys->api,<br></div><div>-                                        p_sys->api.b_direct_rendering ?<br></div><div>-                                        INT64_C(2000000) : -1);<br></div><div>+        i_index = p_sys->api.dequeue_in(&p_sys->api, -1);<br></div><div>       vlc_mutex_lock(&p_sys->lock);<br></div><div><br></div><div>       if (p_sys->b_aborted)<br></div><div>@@ -1531,7 +1528,6 @@ static int QueueBlockLocked(decoder_t *p_dec, block_t *p_in_block,<br></div><div>                   assert(p_block == p_in_block),<br></div><div>                   p_in_block = NULL;<br></div><div>               }<br></div><div>-                b_dequeue_timeout = false;<br></div><div>               if (b_drain)<br></div><div>                   break;<br></div><div>           } else<br></div><div>@@ -1540,29 +1536,6 @@ static int QueueBlockLocked(decoder_t *p_dec, block_t *p_in_block,<br></div><div>               goto error;<br></div><div>           }<br></div><div>       }<br></div><div>-        else if (i_index == MC_API_INFO_TRYAGAIN)<br></div><div>-        {<br></div><div>-            /* HACK: When direct rendering is enabled, there is a possible<br></div><div>-             * deadlock between the Decoder and the Vout. It happens when the<br></div><div>-             * Vout is paused and when the Decoder is flushing. In that case,<br></div><div>-             * the Vout won't release any output buffers, therefore MediaCodec<br></div><div>-             * won't dequeue any input buffers. To work around this issue,<br></div><div>-             * release all output buffers if DecodeBlock is waiting more than<br></div><div>-             * 2secs for a new input buffer. */<br></div><div>-            if (!b_dequeue_timeout)<br></div><div>-            {<br></div><div>-                msg_Warn(p_dec, "Decoder stuck: invalidate all buffers");<br></div><div>-                if (p_sys->cat == VIDEO_ES)<br></div><div>-                    ReleaseAllPictureContexts(p_sys);<br></div><div>-                b_dequeue_timeout = true;<br></div><div>-                continue;<br></div><div>-            }<br></div><div>-            else<br></div><div>-            {<br></div><div>-                msg_Err(p_dec, "dequeue_in timeout: no input available for 2secs");<br></div><div>-                goto error;<br></div><div>-            }<br></div><div>-        }<br></div><div>       else<br></div><div>       {<br></div><div>           msg_Err(p_dec, "dequeue_in failed");<br></div><div>--<span class="qt-Apple-converted-space"> </span><br></div><div>2.20.1<br></div><div><br></div><div>_______________________________________________<br></div><div>vlc-devel mailing list<br></div><div>To unsubscribe or modify your subscription options:<br></div><div><a class="qt-" href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br></div></blockquote><div><br></div><div><span style="font-family:Helvetica" class="font"><span style="font-size:12px" class="size">_______________________________________________</span></span><br></div><div><span style="font-family:Helvetica" class="font"><span style="font-size:12px" class="size">vlc-devel mailing list</span></span><br></div><div><span style="font-family:Helvetica" class="font"><span style="font-size:12px" class="size">To unsubscribe or modify your subscription options:</span></span><br></div><div><a class="qt-" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-size-adjust:auto;-webkit-text-stroke-width:0px;" href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br></div></div></blockquote></div><div><br></div><div>_______________________________________________<br></div><div>vlc-devel mailing list<br></div><div>To unsubscribe or modify your subscription options:<br></div><div>https://mailman.videolan.org/listinfo/vlc-devel<br></div></blockquote></body></html>