<!DOCTYPE html>
<html><head>
<title></title>

</head><body><div class="gmail_quote">Le 2 juillet 2017 14:48:27 GMT+02:00, Thomas Guillem <thomas@gllm.fr> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div><br /></div>
<div><br /></div>
<div>On Sun, Jul 2, 2017, at 13:33, Rémi Denis-Courmont wrote:<br /></div>
<blockquote type="cite"><div defang_data-gmailquote="yes"><div>Le 2 juillet 2017 13:15:33 GMT+02:00, Thomas Guillem <thomas@gllm.fr> a écrit :<br /></div>
<blockquote defang_data-gmailquote="yes" style="margin-top:0pt;margin-right:0pt;margin-bottom:0pt;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204);padding-left:1ex;"><pre><div>This fixes a busyloop that cause serious visual glitches when trying to request<br /></div>
<div>a failing vout again and again.<br /></div>
<div>---<br /></div>
<div> src/input/decoder.c | 5 ++---<br /></div>
<div> 1 file changed, 2 insertions(+), 3 deletions(-)<br /></div>
<div><br /></div>
<div>diff --git a/src/input/decoder.c b/src/input/decoder.c<br /></div>
<div>index dac313737a..b34e26cd4e 100644<br /></div>
<div>--- a/src/input/decoder.c<br /></div>
<div>+++ b/src/input/decoder.c<br /></div>
<div>@@ -408,8 +408,7 @@ static int vout_update_format( decoder_t *p_dec )<br /></div>
<div> {<br /></div>
<div>     decoder_owner_sys_t *p_owner = p_dec->p_owner;<br /></div>
<div> <br /></div>
<div>-    if( p_owner->p_vout == NULL<br /></div>
<div>-     || p_dec->fmt_<a href="http://out.video">out.video</a>.i_width != p_owner-><a href="http://fmt.video">fmt.video</a>.i_width<br /></div>
<div>+    if( p_dec->fmt_<a href="http://out.video">out.video</a>.i_width != p_owner-><a href="http://fmt.video">fmt.video</a>.i_width<br /></div>
<div>      || p_dec->fmt_<a href="http://out.video">out.video</a>.i_height != p_owner-><a href="http://fmt.video">fmt.video</a>.i_height<br /></div>
<div>      || p_dec->fmt_<a href="http://out.video">out.video</a>.i_visible_width != p_owner-><a href="http://fmt.video">fmt.video</a>.i_visible_width<br /></div>
<div>      || p_dec->fmt_<a href="http://out.video">out.video</a>.i_visible_height != p_owner-><a href="http://fmt.video">fmt.video</a>.i_visible_height<br /></div>
<div>@@ -547,7 +546,7 @@ static int vout_update_format( decoder_t *p_dec )<br /></div>
<div>         DecoderUpdateFormatLocked( p_dec );<br /></div>
<div>         vlc_mutex_unlock( &p_owner->lock );<br /></div>
<div>     }<br /></div>
<div>-    return 0;<br /></div>
<div>+    return p_owner->p_vout != NULL ? 0 : -1;<br /></div>
<div> }<br /></div>
<div> <br /></div>
<div> static picture_t *vout_new_buffer( decoder_t *p_dec )<br /></div>
</pre></blockquote></div>
<div><br /></div>
<div>This seems to break changing format<br /></div>
</blockquote><div><br /></div>
<div>I tested it, video_format change is still well handled. Maybe there is a specific case I didn't thought about ?<br /></div>
<div><br /></div>
<blockquote type="cite"><div> -- <br /></div>
<div> Rémi Denis-Courmont<br /></div>
<div> Typed on an inconvenient virtual keyboard <br /></div>
<div><u>_______________________________________________</u><br /></div>
<div>vlc-devel mailing list<br /></div>
<div>To unsubscribe or modify your subscription options:<br /></div>
<div><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br /></div>
</blockquote><div><br /></div>

</blockquote></div<br clear="all">Yes, I misread the logic. But it does not solve the looping problem as there often are more than one format tried by the decoder (avcodec notably) in the failure loop.<br>
<br>
So Yet Again, this is useless. As I already wrote like three dam times in just a few days, you cannot solve that problem there. The fact that you don't like it is irrelevant.<br>
<br>
I'm not wasting my time with this topic any further.<br>
-- <br>
Rémi Denis-Courmont<br>
Typed on an inconvenient virtual keyboard </body></html>