<html><head></head><body>Yes, it is also possible to keep the vout, send a change-source-property control and let the vout core do the conversion if necessary.<br><br><div class="gmail_quote">Le 17 août 2018 14:33:15 GMT+03:00, Steve Lhomme <robux4@ycbcr.xyz> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">I agree this is not ideal but until we do a big rework of the vout <br>handling (I have some proposal) it's better than reseting the vout when <br>the stereo input change.<br><br><br>Alternativaly I'd be OK with not changing at all when stereo is <br>encountered and living it to the current vout to do changes if it can <br>(in most cases it won't and nothing else is possible so no need to <br>recreate anything).<br><br><br>On 17/08/2018 12:52, Rémi Denis-Courmont wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> Given that support for stereo is susceptible to change asynchronously <br> depending on user controls or window management, this static and <br> synchronous approach probably will never work.<br><br> Le 17 août 2018 12:27:10 GMT+03:00, Steve Lhomme <robux4@ycbcr.xyz> a <br> écrit :<br><br>     ---<br>       include/vlc_vout_display.h       | 1 +<br>       src/video_output/display.c       | 1 +<br>       src/video_output/video_output.c  | 9 +++++++++<br>       src/video_output/vout_internal.h | 5 +++++<br>       4 files changed, 16 insertions(+)<br><br>     diff --git a/include/vlc_vout_display.h b/include/vlc_vout_display.h<br>     index afa7ad7888..9b8c3cb140 100644<br>     --- a/include/vlc_vout_display.h<br>     +++ b/include/vlc_vout_display.h<br>     @@ -112,6 +112,7 @@ typedef struct {<br>           bool is_slow;                           /* The picture memory has slow read/write */<br>           bool has_double_click;                  /* Is double-click generated */<br>           bool has_pictures_invalid;              /* Will VOUT_DISPLAY_EVENT_PICTURES_INVALID be used */<br>     +    int stereo_modes;                       /* bitmask of multiview modes supported dynamically */<br>           const vlc_fourcc_t *subpicture_chromas; /* List of supported chromas for subpicture rendering. */<br>       } vout_display_info_t;<br>       <br>     diff --git a/src/video_output/display.c b/src/video_output/display.c<br>     index fa64d38bbc..4aca94b869 100644<br>     --- a/src/video_output/display.c<br>     +++ b/src/video_output/display.c<br>     @@ -93,6 +93,7 @@ static vout_display_t *vout_display_New(vlc_object_t *obj,<br>           vd->info.has_double_click = false;<br>           vd->info.has_pictures_invalid = false;<br>           vd->info.subpicture_chromas = NULL;<br>     +    vd->info.stereo_modes = (1 << MULTIVIEW_2D);<br>       <br>           vd->cfg = cfg;<br>           vd->pool = NULL;<br>     diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c<br>     index d80f825987..f5385d0d77 100644<br>     --- a/src/video_output/video_output.c<br>     +++ b/src/video_output/video_output.c<br>     @@ -500,6 +500,15 @@ int vout_GetSnapshot(vout_thread_t *vout,<br>           return VLC_SUCCESS;<br>       }<br>       <br>     +bool vout_CanHandleStereoInput(vout_thread_t *vout, video_multiview_mode_t mode)<br>     +{<br>     +    vlc_mutex_lock(&vout->p->display.lock);<br>     +    vout_display_t *vd = vout->p->display.vd;<br>     +    bool res = vd && vd->info.stereo_modes & (1<<mode);<br>     +    vlc_mutex_unlock(&vout->p->display.lock);<br>     +    return res;<br>     +}<br>     +<br>       void vout_ChangeAspectRatio( vout_thread_t *p_vout,<br>                                    unsigned int i_num, unsigned int i_den )<br>       {<br>     diff --git a/src/video_output/vout_internal.h b/src/video_output/vout_internal.h<br>     index ba583e7c8e..fd94c89cff 100644<br>     --- a/src/video_output/vout_internal.h<br>     +++ b/src/video_output/vout_internal.h<br>     @@ -283,6 +283,11 @@ void vout_DisplayTitle( vout_thread_t *p_vout, const char *psz_title );<br>        */<br>       bool vout_IsEmpty( vout_thread_t *p_vout );<br>       <br>     +/**<br>     + * Returns true if the vout can handle the multiview input switch dynamically.<br>     + */<br>     +bool vout_CanHandleStereoInput(vout_thread_t *, video_multiview_mode_t);<br>     +<br>       void vout_SetSpuHighlight( vout_thread_t *p_vout, const vlc_spu_highlight_t * );<br>       <br>       #endif<br><br><br> -- <br> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez <br> excuser ma brièveté.<br><br><br><hr><br> vlc-devel mailing list<br> To unsubscribe or modify your subscription options:<br> <a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br></blockquote><br><hr><br>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a></pre></blockquote></div><br>
-- <br>
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>