<html><head></head><body>Given that support for stereo is susceptible to change asynchronously depending on user controls or window management, this static and synchronous approach probably will never work.<br><br><div class="gmail_quote">Le 17 août 2018 12:27:10 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">---<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</pre></blockquote></div><br>
-- <br>
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>