<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>