[vlc-commits] vpx: decode WebP's VP8 chunks

2018-03-21 Thread Tristan Matthews
vlc | branch: master | Tristan Matthews  | Wed Mar  7 
03:20:54 2018 -0500| [ac9038e9ac46792f294e2fe348d66f1e12340d2e] | committer: 
Tristan Matthews

vpx: decode WebP's VP8 chunks

Fixes #19446

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ac9038e9ac46792f294e2fe348d66f1e12340d2e
---

 modules/codec/vpx.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/modules/codec/vpx.c b/modules/codec/vpx.c
index 76331a714b..8f98bb421f 100644
--- a/modules/codec/vpx.c
+++ b/modules/codec/vpx.c
@@ -289,6 +289,7 @@ static int OpenDecoder(vlc_object_t *p_this)
 switch (dec->fmt_in.i_codec)
 {
 #ifdef ENABLE_VP8_DECODER
+case VLC_CODEC_WEBP:
 case VLC_CODEC_VP8:
 iface = _codec_vp8_dx_algo;
 vp_version = 8;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] fourcc: add WebP image format

2018-03-21 Thread Tristan Matthews
vlc | branch: master | Tristan Matthews  | Tue Mar  6 
01:18:54 2018 -0500| [ca04206095232821323f5624113c570f610e2659] | committer: 
Tristan Matthews

fourcc: add WebP image format

Refs #19446

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ca04206095232821323f5624113c570f610e2659
---

 include/vlc_fourcc.h   | 1 +
 src/misc/fourcc_list.h | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h
index 76d0e5a3aa..40adfeed69 100644
--- a/include/vlc_fourcc.h
+++ b/include/vlc_fourcc.h
@@ -406,6 +406,7 @@
 #define VLC_CODEC_PCX VLC_FOURCC('p','c','x',' ')
 #define VLC_CODEC_XWD VLC_FOURCC('X','W','D',' ')
 #define VLC_CODEC_TXD VLC_FOURCC('T','X','D',' ')
+#define VLC_CODEC_WEBPVLC_FOURCC('W','E','B','P')
 
 
 /* Audio codec */
diff --git a/src/misc/fourcc_list.h b/src/misc/fourcc_list.h
index 03117458ad..a7985cfb79 100644
--- a/src/misc/fourcc_list.h
+++ b/src/misc/fourcc_list.h
@@ -1003,6 +1003,9 @@ static const staticentry_t p_list_video[] = {
 A("LJ2C"),
 A("LJ2K"),
 
+B(VLC_CODEC_WEBP, "WebP Image"),
+A("WEBP"),
+
 B(VLC_CODEC_LAGARITH, "Lagarith Lossless"),
 A("LAGS"),
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux: image: add WebP probing

2018-03-21 Thread Tristan Matthews
vlc | branch: master | Tristan Matthews  | Tue Mar  6 
01:22:34 2018 -0500| [816f1630123b781a74cab3591583e9a05e7a29a3] | committer: 
Tristan Matthews

demux: image: add WebP probing

Refs #19446

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=816f1630123b781a74cab3591583e9a05e7a29a3
---

 modules/demux/image.c | 18 ++
 1 file changed, 18 insertions(+)

diff --git a/modules/demux/image.c b/modules/demux/image.c
index 038cf5e43f..7b7604156f 100644
--- a/modules/demux/image.c
+++ b/modules/demux/image.c
@@ -416,6 +416,21 @@ static bool IsJfif(stream_t *s)
 return true;
 }
 
+static bool IsWebP(stream_t *s)
+{
+const uint8_t *header;
+if (vlc_stream_Peek(s, , 20) < 20) /* WebP header size */
+return false;
+if (memcmp([0], "RIFF", 4))
+return false;
+/* TODO: support other chunk types */
+if (memcmp([8], "WEBPVP8 ", 8))
+return false;
+/* skip headers */
+vlc_stream_Seek(s, 20);
+return true;
+}
+
 static bool IsSpiff(stream_t *s)
 {
 const uint8_t *header;
@@ -616,6 +631,9 @@ static const image_format_t formats[] = {
 { .codec = VLC_CODEC_JPEG,
   .detect = IsExif,
 },
+{ .codec = VLC_CODEC_WEBP,
+  .detect = IsWebP,
+},
 { .codec = VLC_CODEC_BPG,
   .marker_size = 4,
   .marker = { 'B', 'P', 'G', 0xFB },

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] mkv: Fix wrong printf specified

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Wed Mar 
21 18:34:24 2018 +0100| [abc8fa7c3f3d79f04fd230e5bf49a10f236b3e7f] | committer: 
Hugo Beauzée-Luyssen

mkv: Fix wrong printf specified

Most likely a cherry-pick/rebase gone wrong since the original commit
doesn't have the issue

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=abc8fa7c3f3d79f04fd230e5bf49a10f236b3e7f
---

 modules/demux/mkv/matroska_segment.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/demux/mkv/matroska_segment.cpp 
b/modules/demux/mkv/matroska_segment.cpp
index 4ff15c7503..796336830f 100644
--- a/modules/demux/mkv/matroska_segment.cpp
+++ b/modules/demux/mkv/matroska_segment.cpp
@@ -418,7 +418,7 @@ void matroska_segment_c::LoadTags( KaxTags *tags )
 {
 ktttv_ptr->ReadData( es.I_O() );
 
-msg_Dbg( , "|   |   + TargetType: 
%u", ktttv_ptr->GetValue().c_str());
+msg_Dbg( , "|   |   + TargetType: 
%s", ktttv_ptr->GetValue().c_str());
 }
 else
 {

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] lib: renderer_discoverer: Allow a renderer_discoverer to be stopped then released

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Wed Mar 
21 15:34:57 2018 +0100| [8e00ce7edd7051d372b6107a50a1600ec3a02a9c] | committer: 
Hugo Beauzée-Luyssen

lib: renderer_discoverer: Allow a renderer_discoverer to be stopped then 
released

(cherry picked from commit 9bcd1e0721c16dc9e7f19c63c566ad0645499e1d)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=8e00ce7edd7051d372b6107a50a1600ec3a02a9c
---

 lib/renderer_discoverer.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/renderer_discoverer.c b/lib/renderer_discoverer.c
index f66f5d1e0c..67b81f4bf1 100644
--- a/lib/renderer_discoverer.c
+++ b/lib/renderer_discoverer.c
@@ -174,7 +174,10 @@ void
 libvlc_renderer_discoverer_stop( libvlc_renderer_discoverer_t *p_lrd )
 {
 if( p_lrd->p_rd != NULL )
+{
 vlc_rd_release( p_lrd->p_rd );
+p_lrd->p_rd = NULL;
+}
 
 for( int i = 0; i < p_lrd->i_items; ++i )
 vlc_renderer_item_release( p_lrd->pp_items[i] );

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] lib: renderer_discoverer: Allow a renderer_discoverer to be stopped then released

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc | branch: master | Hugo Beauzée-Luyssen  | Wed Mar 21 
15:34:57 2018 +0100| [9bcd1e0721c16dc9e7f19c63c566ad0645499e1d] | committer: 
Hugo Beauzée-Luyssen

lib: renderer_discoverer: Allow a renderer_discoverer to be stopped then 
released

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9bcd1e0721c16dc9e7f19c63c566ad0645499e1d
---

 lib/renderer_discoverer.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/renderer_discoverer.c b/lib/renderer_discoverer.c
index f66f5d1e0c..67b81f4bf1 100644
--- a/lib/renderer_discoverer.c
+++ b/lib/renderer_discoverer.c
@@ -174,7 +174,10 @@ void
 libvlc_renderer_discoverer_stop( libvlc_renderer_discoverer_t *p_lrd )
 {
 if( p_lrd->p_rd != NULL )
+{
 vlc_rd_release( p_lrd->p_rd );
+p_lrd->p_rd = NULL;
+}
 
 for( int i = 0; i < p_lrd->i_items; ++i )
 vlc_renderer_item_release( p_lrd->pp_items[i] );

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] direct3d11: try to fallback to 8 bits rendering if 10 bits fail

2018-03-21 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Wed Mar 21 
16:07:01 2018 +0100| [15a0a1c4eb42bba4d0844b5b9fe95c35c21fa0cb] | committer: 
Hugo Beauzée-Luyssen

direct3d11: try to fallback to 8 bits rendering if 10 bits fail

(cherry picked from commit cb9e21e362e5c1ad4a0fe2137988a11d699e3abb)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=15a0a1c4eb42bba4d0844b5b9fe95c35c21fa0cb
---

 modules/video_output/win32/direct3d11.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/modules/video_output/win32/direct3d11.c 
b/modules/video_output/win32/direct3d11.c
index 843b771475..ec6fee3c2a 100644
--- a/modules/video_output/win32/direct3d11.c
+++ b/modules/video_output/win32/direct3d11.c
@@ -1561,6 +1561,13 @@ static int Direct3D11Open(vout_display_t *vd)
 
 hr = IDXGIFactory2_CreateSwapChainForHwnd(dxgifactory, (IUnknown 
*)sys->d3d_dev.d3ddevice,
   sys->sys.hvideownd, , NULL, 
NULL, >dxgiswapChain);
+if (hr == DXGI_ERROR_INVALID_CALL && scd.Format == 
DXGI_FORMAT_R10G10B10A2_UNORM)
+{
+msg_Warn(vd, "10 bits swapchain failed, try 8 bits");
+scd.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+hr = IDXGIFactory2_CreateSwapChainForHwnd(dxgifactory, (IUnknown 
*)sys->d3d_dev.d3ddevice,
+  sys->sys.hvideownd, , 
NULL, NULL, >dxgiswapChain);
+}
 IDXGIFactory2_Release(dxgifactory);
 if (FAILED(hr)) {
msg_Err(vd, "Could not create the SwapChain. (hr=0x%lX)", hr);

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] direct3d11: try to fallback to 8 bits rendering if 10 bits fail

2018-03-21 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Wed Mar 21 16:07:01 
2018 +0100| [cb9e21e362e5c1ad4a0fe2137988a11d699e3abb] | committer: Steve Lhomme

direct3d11: try to fallback to 8 bits rendering if 10 bits fail

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=cb9e21e362e5c1ad4a0fe2137988a11d699e3abb
---

 modules/video_output/win32/direct3d11.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/modules/video_output/win32/direct3d11.c 
b/modules/video_output/win32/direct3d11.c
index 919bd2e6b2..a09981287a 100644
--- a/modules/video_output/win32/direct3d11.c
+++ b/modules/video_output/win32/direct3d11.c
@@ -1562,6 +1562,13 @@ static int Direct3D11Open(vout_display_t *vd)
 
 hr = IDXGIFactory2_CreateSwapChainForHwnd(dxgifactory, (IUnknown 
*)sys->d3d_dev.d3ddevice,
   sys->sys.hvideownd, , NULL, 
NULL, >dxgiswapChain);
+if (hr == DXGI_ERROR_INVALID_CALL && scd.Format == 
DXGI_FORMAT_R10G10B10A2_UNORM)
+{
+msg_Warn(vd, "10 bits swapchain failed, try 8 bits");
+scd.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+hr = IDXGIFactory2_CreateSwapChainForHwnd(dxgifactory, (IUnknown 
*)sys->d3d_dev.d3ddevice,
+  sys->sys.hvideownd, , 
NULL, NULL, >dxgiswapChain);
+}
 IDXGIFactory2_Release(dxgifactory);
 if (FAILED(hr)) {
msg_Err(vd, "Could not create the SwapChain. (hr=0x%lX)", hr);

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] Update NEWS

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Wed Mar 
21 15:44:41 2018 +0100| [13430a53533dc34d2320f3d230e83f849b24a00e] | committer: 
Hugo Beauzée-Luyssen

Update NEWS

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=13430a53533dc34d2320f3d230e83f849b24a00e
---

 NEWS | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index d3a43e6641..19c9966300 100644
--- a/NEWS
+++ b/NEWS
@@ -20,7 +20,8 @@ Demux:
  * Improve MP4 read of color information
  * Fix flac seeking and improve flac parsing
  * Improve mkv opening & seeking speed
- * Fix various MKV crashes
+ * Fix display of chapters with no name defined
+ * Miscellaneous MKV crash fixes
 
 Access:
  * Avoid a crash/assert in FTP after seeking

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] dummy: Never show intromsg

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Wed Mar 
21 10:20:32 2018 +0100| [dc530076ea77fce9a0675c9b89030b980c6f469d] | committer: 
Hugo Beauzée-Luyssen

dummy: Never show intromsg

(cherry picked from commit 2bc26eb597ca55c5773fe84bacc32629255c03f8)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=dc530076ea77fce9a0675c9b89030b980c6f469d
---

 modules/control/dummy.c | 10 --
 1 file changed, 10 deletions(-)

diff --git a/modules/control/dummy.c b/modules/control/dummy.c
index d2a40da110..4e0406dd5a 100644
--- a/modules/control/dummy.c
+++ b/modules/control/dummy.c
@@ -41,9 +41,6 @@
 "Enabling the quiet mode will not bring this command box but can also " \
 "be pretty annoying when you want to stop VLC and no video window is " \
 "open." )
-#if !VLC_WINSTORE_APP
-#include "intromsg.h"
-#endif
 #endif
 
 static int Open( vlc_object_t * );
@@ -65,13 +62,6 @@ static int Open( vlc_object_t *p_this )
 {
 intf_thread_t *p_intf = (intf_thread_t*) p_this;
 
-#if defined(_WIN32) && !VLC_WINSTORE_APP
-bool b_quiet;
-b_quiet = var_InheritBool( p_intf, "dummy-quiet" );
-if( !b_quiet )
-intf_consoleIntroMsg(p_intf);
-#endif
-
 msg_Info( p_intf, "using the dummy interface module..." );
 
 return VLC_SUCCESS;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] lua: console: Fix output of non ascii characters on win32

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Fri Mar 
 9 17:31:39 2018 +0100| [ee8232f38a0398de8b080f327d4d7d220a1f7370] | committer: 
Hugo Beauzée-Luyssen

lua: console: Fix output of non ascii characters on win32

refs #19874

(cherry picked from commit 0720cec581ae3cd6228edd8d6567ad5b30910027)
Signed-off-by: Hugo Beauzée-Luyssen 
(cherry picked from commit e95939e55b534e21e57560efe460fcf3cc46bff4)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=ee8232f38a0398de8b080f327d4d7d220a1f7370
---

 modules/lua/libs/win.c  | 10 ++
 share/lua/intf/modules/host.lua |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/modules/lua/libs/win.c b/modules/lua/libs/win.c
index 14d6d30f78..7d0276331e 100644
--- a/modules/lua/libs/win.c
+++ b/modules/lua/libs/win.c
@@ -29,6 +29,7 @@
 #endif
 
 #include 
+#include 
 
 #include "../vlc.h"
 #include "../libs.h"
@@ -140,6 +141,14 @@ static int vlclua_console_read( lua_State *L )
 return 1;
 }
 
+static int vlclua_console_write( lua_State *L )
+{
+if( !lua_isstring( L, 1 ) )
+return luaL_error( L, "win.console_write usage: (text)" );
+const char* psz_line = luaL_checkstring( L, 1 );
+utf8_fprintf( stdout, "%s", psz_line );
+return 0;
+}
 
 /*
  *
@@ -148,6 +157,7 @@ static const luaL_Reg vlclua_win_reg[] = {
 { "console_init", vlclua_console_init },
 { "console_wait", vlclua_console_wait },
 { "console_read", vlclua_console_read },
+{ "console_write", vlclua_console_write },
 { NULL, NULL }
 };
 
diff --git a/share/lua/intf/modules/host.lua b/share/lua/intf/modules/host.lua
index 04dd7650c8..6f85cceeba 100644
--- a/share/lua/intf/modules/host.lua
+++ b/share/lua/intf/modules/host.lua
@@ -124,7 +124,7 @@ function host()
 local function write_console( client, data )
 -- FIXME: this method shouldn't be needed. vlc.net.write should
 -- just work
-io.write(data or client.buffer)
+vlc.win.console_write(data or client.buffer)
 return string.len(data or client.buffer)
 end
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux:mkv: respect the hidden flag for chapters/editions

2018-03-21 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Wed Mar 21 
13:17:55 2018 +0100| [f34355afc4cb36a6cd4e6d91b7155cc8c0e7ab44] | committer: 
Hugo Beauzée-Luyssen

demux:mkv: respect the hidden flag for chapters/editions

By default they should be displayed even if they don't have a fancy name.

Ref https://forum.videolan.org/viewtopic.php?p=470038

(cherry picked from commit f5ac0e57ff31560d212a1e7bed3f7f48feac1197)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=f34355afc4cb36a6cd4e6d91b7155cc8c0e7ab44
---

 modules/demux/mkv/chapters.hpp   |  3 +--
 modules/demux/mkv/matroska_segment_parse.cpp |  3 +--
 modules/demux/mkv/virtual_segment.cpp| 37 +---
 3 files changed, 19 insertions(+), 24 deletions(-)

diff --git a/modules/demux/mkv/chapters.hpp b/modules/demux/mkv/chapters.hpp
index d42ee637d2..a069b1fdea 100644
--- a/modules/demux/mkv/chapters.hpp
+++ b/modules/demux/mkv/chapters.hpp
@@ -56,7 +56,7 @@ public:
 ,p_segment_uid(NULL)
 ,p_segment_edition_uid(NULL)
 ,b_display_seekpoint(true)
-,b_user_display(false)
+,b_user_display(true)
 ,p_parent(NULL)
 ,b_is_leaving(false)
 {}
@@ -102,7 +102,6 @@ public:
 std::string GetMainName() const;
 boolb_ordered;
 boolb_default;
-/* TODO handle hidden chapters */
 boolb_hidden;
 };
 
diff --git a/modules/demux/mkv/matroska_segment_parse.cpp 
b/modules/demux/mkv/matroska_segment_parse.cpp
index 5589825f95..132e142ed6 100644
--- a/modules/demux/mkv/matroska_segment_parse.cpp
+++ b/modules/demux/mkv/matroska_segment_parse.cpp
@@ -1379,8 +1379,7 @@ void matroska_segment_c::ParseChapters( KaxChapters 
*chapters )
 }
 E_CASE( KaxEditionFlagHidden, flag_hidden )
 {
-VLC_UNUSED( flag_hidden ); // TODO: FIXME: implement
-VLC_UNUSED( vars );
+vars.p_edition->b_hidden = static_cast( flag_hidden 
) != 0;
 }
 E_CASE( EbmlVoid, el )
 {
diff --git a/modules/demux/mkv/virtual_segment.cpp 
b/modules/demux/mkv/virtual_segment.cpp
index e5673d896a..28110682cf 100644
--- a/modules/demux/mkv/virtual_segment.cpp
+++ b/modules/demux/mkv/virtual_segment.cpp
@@ -591,30 +591,27 @@ virtual_chapter_c * virtual_segment_c::FindChapter( 
int64_t i_find_uid )
 
 int virtual_chapter_c::PublishChapters( input_title_t & title, int & 
i_user_chapters, int i_level )
 {
-if ( p_chapter && ( !p_chapter->b_display_seekpoint || p_chapter->psz_name 
== "" ) )
-{
-p_chapter->psz_name = p_chapter->GetCodecName();
-if ( p_chapter->psz_name != "" )
-p_chapter->b_display_seekpoint = true;
-}
-
 if ( p_chapter && p_chapter->b_display_seekpoint )
 {
-if( p_chapter->b_user_display )
-{
-seekpoint_t *sk = vlc_seekpoint_New();
+std::string chap_name;
+if ( p_chapter->b_user_display )
+chap_name = p_chapter->psz_name;
+if (chap_name == "")
+chap_name = p_chapter->GetCodecName();
 
-sk->i_time_offset = i_mk_virtual_start_time;
-sk->psz_name = strdup( p_chapter->psz_name.c_str() );
+seekpoint_t *sk = vlc_seekpoint_New();
 
-/* A start time of '0' is ok. A missing ChapterTime element is ok, 
too, because '0' is its default value. */
-title.i_seekpoint++;
-title.seekpoint = (seekpoint_t**)xrealloc( title.seekpoint,
-  title.i_seekpoint * sizeof( seekpoint_t* ) );
-title.seekpoint[title.i_seekpoint-1] = sk;
+sk->i_time_offset = i_mk_virtual_start_time;
+if (chap_name != "")
+sk->psz_name = strdup( chap_name.c_str() );
 
-i_user_chapters++;
-}
+/* A start time of '0' is ok. A missing ChapterTime element is ok, 
too, because '0' is its default value. */
+title.i_seekpoint++;
+title.seekpoint = (seekpoint_t**)xrealloc( title.seekpoint,
+  title.i_seekpoint * sizeof( seekpoint_t* ) );
+title.seekpoint[title.i_seekpoint-1] = sk;
+
+i_user_chapters++;
 }
 i_seekpoint_num = i_user_chapters;
 
@@ -630,7 +627,7 @@ int virtual_edition_c::PublishChapters( input_title_t & 
title, int & i_user_chap
 
 /* HACK for now don't expose edition as a seekpoint if its start time is 
the same than it's first chapter */
 if( vchapters.size() > 0 &&
-vchapters[0]->i_mk_virtual_start_time && p_edition )
+vchapters[0]->i_mk_virtual_start_time && p_edition && 
!p_edition->b_hidden )
 {
 seekpoint_t *sk = vlc_seekpoint_New();
 sk->i_time_offset = 0;

___
vlc-commits mailing list
vlc-commits@videolan.org

[vlc-commits] demux:mkv: fix log display

2018-03-21 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Wed Mar 21 
11:54:29 2018 +0100| [b91b068d2c3b23c15e07a7d4e377db7a0ae87b66] | committer: 
Hugo Beauzée-Luyssen

demux:mkv: fix log display

At least on my machine string are padding with an 8 byte alignment.

from 50eec8a480700449591d7f0d7c31a36772973291

(cherry picked from commit 0b746a9e05ee28b8ce8b69c6c3db902f05a88e56)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=b91b068d2c3b23c15e07a7d4e377db7a0ae87b66
---

 modules/demux/mkv/util.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/demux/mkv/util.cpp b/modules/demux/mkv/util.cpp
index ae9315392d..fcb4064682 100644
--- a/modules/demux/mkv/util.cpp
+++ b/modules/demux/mkv/util.cpp
@@ -388,8 +388,8 @@ void MkvTree_va( demux_t& demuxer, int i_level, const char* 
fmt, va_list args)
 {
 static char const * indent = "|   ";
 static char const * prefix = "+ ";
-static int  const   indent_len = sizeof( indent );
-static int  const   prefix_len = sizeof( prefix );
+static int  const   indent_len = strlen( indent );
+static int  const   prefix_len = strlen( prefix );
 
 char   fixed_buffer[256] = {};
 size_t const  static_len = sizeof( fixed_buffer );

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux:mkv: favor sizeof() on static strings to strlen()

2018-03-21 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Wed Mar 21 
14:10:49 2018 +0100| [2456913597aae482f62c9c4f2f9397c01d5b4466] | committer: 
Hugo Beauzée-Luyssen

demux:mkv: favor sizeof() on static strings to strlen()

(cherry picked from commit d8aea6d3e187e3163007119487160dfa59f6eb05)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=2456913597aae482f62c9c4f2f9397c01d5b4466
---

 modules/demux/mkv/matroska_segment_parse.cpp | 2 +-
 modules/demux/mkv/util.cpp   | 8 
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/modules/demux/mkv/matroska_segment_parse.cpp 
b/modules/demux/mkv/matroska_segment_parse.cpp
index 132e142ed6..4bd4eaacee 100644
--- a/modules/demux/mkv/matroska_segment_parse.cpp
+++ b/modules/demux/mkv/matroska_segment_parse.cpp
@@ -1594,7 +1594,7 @@ bool matroska_segment_c::TrackInit( mkv_track_t * p_tk )
  *   we try to fix it. They fixed it in 16.0.0. */
 const char* app = vars.obj->psz_writing_application;
 if( p_extra && p_extra[0] == 0 && app != NULL &&
-strncmp(app, "mkvmerge", strlen("mkvmerge")) == 0 )
+strncmp(app, "mkvmerge", sizeof("mkvmerge")-1) == 0 )
 {
 int major_version;
 if( sscanf(app, "mkvmerge v%d.", _version) && 
major_version < 16 )
diff --git a/modules/demux/mkv/util.cpp b/modules/demux/mkv/util.cpp
index fcb4064682..45a53fba99 100644
--- a/modules/demux/mkv/util.cpp
+++ b/modules/demux/mkv/util.cpp
@@ -386,10 +386,10 @@ block_t * packetize_wavpack( const mkv_track_t & tk, 
uint8_t * buffer, size_t  s
 
 void MkvTree_va( demux_t& demuxer, int i_level, const char* fmt, va_list args)
 {
-static char const * indent = "|   ";
-static char const * prefix = "+ ";
-static int  const   indent_len = strlen( indent );
-static int  const   prefix_len = strlen( prefix );
+static char indent[] = "|   ";
+static char prefix[] = "+ ";
+static int  const   indent_len = sizeof( indent ) - 1;
+static int  const   prefix_len = sizeof( prefix ) - 1;
 
 char   fixed_buffer[256] = {};
 size_t const  static_len = sizeof( fixed_buffer );

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] qt: FSC: Remove duplicated assignment

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Tue Mar 
20 15:48:18 2018 +0100| [d2b859a0d3bab6349fa40d86a76d18d142f0d1aa] | committer: 
Hugo Beauzée-Luyssen

qt: FSC: Remove duplicated assignment

(cherry picked from commit dfa7c93f9c07a9dcddd2d49f8a86fed48953b8d8)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=d2b859a0d3bab6349fa40d86a76d18d142f0d1aa
---

 modules/gui/qt/components/controller.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/modules/gui/qt/components/controller.cpp 
b/modules/gui/qt/components/controller.cpp
index 0ed1c65aeb..bcbf6f71e9 100644
--- a/modules/gui/qt/components/controller.cpp
+++ b/modules/gui/qt/components/controller.cpp
@@ -850,7 +850,6 @@ FullscreenControllerWidget::FullscreenControllerWidget( 
intf_thread_t *_p_i, QWi
 previousPosition = getSettings()->value( "FullScreen/pos" ).toPoint();
 screenRes = getSettings()->value( "FullScreen/screen" ).toRect();
 isWideFSC = getSettings()->value( "FullScreen/wide" ).toBool();
-i_screennumber = -1;
 
 CONNECT( this, fullscreenChanged( bool ), THEMIM, changeFullscreen( bool ) 
);
 }

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] qt: FSC: Don't spam showFSC calls.

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Tue Mar 
20 16:56:46 2018 +0100| [1d1d4e5317f507e1aaa77b21bdb8fb30ee2fc75e] | committer: 
Hugo Beauzée-Luyssen

qt: FSC: Don't spam showFSC calls.

Show it when its hidden

(cherry picked from commit 669bcf20696b883279c00b7e7846b787603a5050)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=1d1d4e5317f507e1aaa77b21bdb8fb30ee2fc75e
---

 modules/gui/qt/components/controller.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/gui/qt/components/controller.cpp 
b/modules/gui/qt/components/controller.cpp
index bcbf6f71e9..e9ffdd17f1 100644
--- a/modules/gui/qt/components/controller.cpp
+++ b/modules/gui/qt/components/controller.cpp
@@ -1046,7 +1046,7 @@ void FullscreenControllerWidget::customEvent( QEvent 
*event )
 b_fs = b_fullscreen;
 vlc_mutex_unlock(  );
 
-if( b_fs )
+if( b_fs && isHidden() )
 showFSC();
 
 break;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux:mkv: constant strings should be constant

2018-03-21 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Wed Mar 21 
15:02:09 2018 +0100| [c012de25b3317eae307efccc8372a5414001de60] | committer: 
Hugo Beauzée-Luyssen

demux:mkv: constant strings should be constant

Third time's a charm

(cherry picked from commit 0d57dda3e9dbb3932fb2719b9fb18b213cb12c4d)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=c012de25b3317eae307efccc8372a5414001de60
---

 modules/demux/mkv/util.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/demux/mkv/util.cpp b/modules/demux/mkv/util.cpp
index 45a53fba99..d2bdaef555 100644
--- a/modules/demux/mkv/util.cpp
+++ b/modules/demux/mkv/util.cpp
@@ -386,8 +386,8 @@ block_t * packetize_wavpack( const mkv_track_t & tk, 
uint8_t * buffer, size_t  s
 
 void MkvTree_va( demux_t& demuxer, int i_level, const char* fmt, va_list args)
 {
-static char indent[] = "|   ";
-static char prefix[] = "+ ";
+static const char indent[] = "|   ";
+static const char prefix[] = "+ ";
 static int  const   indent_len = sizeof( indent ) - 1;
 static int  const   prefix_len = sizeof( prefix ) - 1;
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux:mkv: don't display the edition as a seekpoint if it has no name

2018-03-21 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Wed Mar 21 
13:55:21 2018 +0100| [bf38a561728b2c7497eff6cea306aca02529222e] | committer: 
Hugo Beauzée-Luyssen

demux:mkv: don't display the edition as a seekpoint if it has no name

There are chapters for that.

(cherry picked from commit 22425bd29729a8e9cd6ee834bf58c7a8eca1b0ad)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=bf38a561728b2c7497eff6cea306aca02529222e
---

 modules/demux/mkv/virtual_segment.cpp | 29 -
 modules/demux/mkv/virtual_segment.hpp |  2 +-
 2 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/modules/demux/mkv/virtual_segment.cpp 
b/modules/demux/mkv/virtual_segment.cpp
index 28110682cf..b5958d4754 100644
--- a/modules/demux/mkv/virtual_segment.cpp
+++ b/modules/demux/mkv/virtual_segment.cpp
@@ -589,7 +589,7 @@ virtual_chapter_c * virtual_segment_c::FindChapter( int64_t 
i_find_uid )
 return NULL;
 }
 
-int virtual_chapter_c::PublishChapters( input_title_t & title, int & 
i_user_chapters, int i_level )
+int virtual_chapter_c::PublishChapters( input_title_t & title, int & 
i_user_chapters, int i_level, bool allow_no_name )
 {
 if ( p_chapter && p_chapter->b_display_seekpoint )
 {
@@ -599,24 +599,27 @@ int virtual_chapter_c::PublishChapters( input_title_t & 
title, int & i_user_chap
 if (chap_name == "")
 chap_name = p_chapter->GetCodecName();
 
-seekpoint_t *sk = vlc_seekpoint_New();
+if (allow_no_name || chap_name != "")
+{
+seekpoint_t *sk = vlc_seekpoint_New();
 
-sk->i_time_offset = i_mk_virtual_start_time;
-if (chap_name != "")
-sk->psz_name = strdup( chap_name.c_str() );
+sk->i_time_offset = i_mk_virtual_start_time;
+if (chap_name != "")
+sk->psz_name = strdup( chap_name.c_str() );
 
-/* A start time of '0' is ok. A missing ChapterTime element is ok, 
too, because '0' is its default value. */
-title.i_seekpoint++;
-title.seekpoint = (seekpoint_t**)xrealloc( title.seekpoint,
-  title.i_seekpoint * sizeof( seekpoint_t* ) );
-title.seekpoint[title.i_seekpoint-1] = sk;
+/* A start time of '0' is ok. A missing ChapterTime element is ok, 
too, because '0' is its default value. */
+title.i_seekpoint++;
+title.seekpoint = (seekpoint_t**)xrealloc( title.seekpoint,
+  title.i_seekpoint * sizeof( seekpoint_t* ) );
+title.seekpoint[title.i_seekpoint-1] = sk;
 
-i_user_chapters++;
+i_user_chapters++;
+}
 }
 i_seekpoint_num = i_user_chapters;
 
 for( size_t i = 0; i < sub_vchapters.size(); i++ )
-sub_vchapters[i]->PublishChapters( title, i_user_chapters, i_level + 1 
);
+sub_vchapters[i]->PublishChapters( title, i_user_chapters, i_level + 
1, true );
 
 return i_user_chapters;
 }
@@ -645,7 +648,7 @@ int virtual_edition_c::PublishChapters( input_title_t & 
title, int & i_user_chap
 
 //if( chapters.size() > 1 )
 for( size_t i = 0; i < vchapters.size(); i++ )
-vchapters[i]->PublishChapters( title, i_user_chapters, i_level );
+vchapters[i]->PublishChapters( title, i_user_chapters, i_level, 
false );
 
 return i_user_chapters;
 }
diff --git a/modules/demux/mkv/virtual_segment.hpp 
b/modules/demux/mkv/virtual_segment.hpp
index cd9dd2ae06..53d297f2cb 100644
--- a/modules/demux/mkv/virtual_segment.hpp
+++ b/modules/demux/mkv/virtual_segment.hpp
@@ -52,7 +52,7 @@ public:
 bool Leave( );
 bool EnterAndLeave( virtual_chapter_c *p_leaving_vchapter, bool b_enter = 
true );
 virtual_chapter_c * FindChapter( int64_t i_find_uid );
-int PublishChapters( input_title_t & title, int & i_user_chapters, int 
i_level );
+int PublishChapters( input_title_t & title, int & i_user_chapters, int 
i_level, bool allow_no_name );
 
 virtual_chapter_c * BrowseCodecPrivate( unsigned int codec_id,
 bool (*match)( const 
chapter_codec_cmds_c ,

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] intromsg: Ensure non-ascii characters are properly displayed on win32

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Wed Mar 
21 10:29:44 2018 +0100| [e06790f0f286a4f132ab745ff1791670b29802e2] | committer: 
Hugo Beauzée-Luyssen

intromsg: Ensure non-ascii characters are properly displayed on win32

(cherry picked from commit dab13a3c28a1f951b50ca13a5ef0469146304c2a)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=e06790f0f286a4f132ab745ff1791670b29802e2
---

 modules/control/intromsg.h | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/modules/control/intromsg.h b/modules/control/intromsg.h
index 7af95204b7..a0f85dce92 100644
--- a/modules/control/intromsg.h
+++ b/modules/control/intromsg.h
@@ -19,7 +19,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  */
 
-static inline void intf_consoleIntroMsg(intf_thread_t *intf)
+static inline void intf_consoleIntroMsg(intf_thread_t *p_intf)
 {
 if (getenv( "PWD" ) == NULL) /* detect Cygwin shell or Wine */
 {
@@ -29,9 +29,9 @@ static inline void intf_consoleIntroMsg(intf_thread_t *intf)
 freopen("CONIN$", "r", stdin);
 }
 
-msg_Info(intf, "VLC media player - %s", VERSION_MESSAGE);
-msg_Info(intf, "%s", COPYRIGHT_MESSAGE);
-msg_Info(intf, _("\nWarning: if you cannot access the GUI "
+msg_rc("VLC media player - %s", VERSION_MESSAGE);
+msg_rc("%s", COPYRIGHT_MESSAGE);
+msg_rc(_("\nWarning: if you cannot access the GUI "
  "anymore, open a command-line window, go to the "
  "directory where you installed VLC and run "
  "\"vlc -I qt\"\n"));

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] oldrc: Handle non-ascii character

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Fri Mar 
 9 14:45:16 2018 +0100| [e9387fdfa160dfaa02db22c73de7e08c07197f70] | committer: 
Hugo Beauzée-Luyssen

oldrc: Handle non-ascii character

And revector a bit
refs #19874

(cherry picked from commit c1becb6c89f222f4d16b4ffd970ce5394d599938)
Signed-off-by: Hugo Beauzée-Luyssen 
(cherry picked from commit f729d67bfab38cea5539ee7cc0d1a652ae9e8cc0)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=e9387fdfa160dfaa02db22c73de7e08c07197f70
---

 modules/control/oldrc.c | 76 ++---
 1 file changed, 47 insertions(+), 29 deletions(-)

diff --git a/modules/control/oldrc.c b/modules/control/oldrc.c
index 874fe447f9..065915d3b7 100644
--- a/modules/control/oldrc.c
+++ b/modules/control/oldrc.c
@@ -1772,7 +1772,7 @@ static int updateStatistics( intf_thread_t *p_intf, 
input_item_t *p_item )
 }
 
 #if defined(_WIN32) && !VLC_WINSTORE_APP
-static bool ReadWin32( intf_thread_t *p_intf, char *p_buffer, int *pi_size )
+static bool ReadWin32( intf_thread_t *p_intf, unsigned char *p_buffer, int 
*pi_size )
 {
 INPUT_RECORD input_record;
 DWORD i_dw;
@@ -1781,9 +1781,11 @@ static bool ReadWin32( intf_thread_t *p_intf, char 
*p_buffer, int *pi_size )
 while( WaitForSingleObjectEx( p_intf->p_sys->hConsoleIn,
 INTF_IDLE_SLEEP/1000, TRUE ) == WAIT_OBJECT_0 )
 {
-while( *pi_size < MAX_LINE_LENGTH &&
-   ReadConsoleInput( p_intf->p_sys->hConsoleIn, _record,
- 1, _dw ) )
+// Prefer to fail early when there's not enough space to store a 4 
bytes
+// UTF8 character. The function will be immediatly called again and we 
won't
+// lose an input
+while( *pi_size < MAX_LINE_LENGTH - 4 &&
+   ReadConsoleInput( p_intf->p_sys->hConsoleIn, _record, 1, 
_dw ) )
 {
 if( input_record.EventType != KEY_EVENT ||
 !input_record.Event.KeyEvent.bKeyDown ||
@@ -1795,42 +1797,58 @@ static bool ReadWin32( intf_thread_t *p_intf, char 
*p_buffer, int *pi_size )
 /* nothing interesting */
 continue;
 }
-
-p_buffer[ *pi_size ] = input_record.Event.KeyEvent.uChar.AsciiChar;
-
-/* Echo out the command */
-putc( p_buffer[ *pi_size ], stdout );
-
-/* Handle special keys */
-if( p_buffer[ *pi_size ] == '\r' || p_buffer[ *pi_size ] == '\n' )
+if( input_record.Event.KeyEvent.uChar.AsciiChar == '\n' ||
+input_record.Event.KeyEvent.uChar.AsciiChar == '\r' )
 {
 putc( '\n', stdout );
 break;
 }
-switch( p_buffer[ *pi_size ] )
+switch( input_record.Event.KeyEvent.uChar.AsciiChar )
 {
 case '\b':
-if( *pi_size )
+if ( *pi_size == 0 )
+break;
+if ( *pi_size > 1 && (p_buffer[*pi_size - 1] & 0xC0) == 0x80 )
 {
-*pi_size -= 2;
-putc( ' ', stdout );
-putc( '\b', stdout );
+// pi_size currently points to the character to be 
written, so
+// we need to roll back from 2 bytes to start erasing the 
previous
+// character
+(*pi_size) -= 2;
+unsigned int nbBytes = 1;
+while( *pi_size > 0 && (p_buffer[*pi_size] & 0xC0) == 0x80 
)
+{
+(*pi_size)--;
+nbBytes++;
+}
+assert( clz( (unsigned char)~(p_buffer[*pi_size]) ) == 
nbBytes + 1 );
+// The first utf8 byte will be overriden by a \0
 }
+else
+(*pi_size)--;
+p_buffer[*pi_size] = 0;
+
+fputs( "\b \b", stdout );
 break;
-case '\r':
-(*pi_size) --;
-break;
+default:
+{
+WCHAR psz_winput[] = { 
input_record.Event.KeyEvent.uChar.UnicodeChar, L'\0' };
+char* psz_input = FromWide( psz_winput );
+int input_size = strlen(psz_input);
+if ( *pi_size + input_size > MAX_LINE_LENGTH )
+{
+p_buffer[ *pi_size ] = 0;
+return false;
+}
+strcpy( (char*)_buffer[*pi_size], psz_input );
+utf8_fprintf( stdout, "%s", psz_input );
+free(psz_input);
+*pi_size += input_size;
+}
 }
-
-(*pi_size)++;
 }
 
-if( *pi_size == MAX_LINE_LENGTH ||
-

[vlc-commits] qt: Don't enforce a default screen to the fullscreen controller

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Tue Mar 
20 16:10:19 2018 +0100| [169a441790e9006652487d5424b0e3678612a6fd] | committer: 
Hugo Beauzée-Luyssen

qt: Don't enforce a default screen to the fullscreen controller

It already computes its position based on the video widget's

(cherry picked from commit 22c9f2a46dbe3e427bf96560786c2473554450b4)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=169a441790e9006652487d5424b0e3678612a6fd
---

 modules/gui/qt/main_interface.cpp | 13 +++--
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/modules/gui/qt/main_interface.cpp 
b/modules/gui/qt/main_interface.cpp
index f5496a2782..d0522e08e9 100644
--- a/modules/gui/qt/main_interface.cpp
+++ b/modules/gui/qt/main_interface.cpp
@@ -865,18 +865,11 @@ void MainInterface::setVideoFullScreen( bool fs )
 if( fs )
 {
 int numscreen = var_InheritInteger( p_intf, 
"qt-fullscreen-screennumber" );
-/* if user hasn't defined screennumber, or screennumber that is bigger
- * than current number of screens, take screennumber where current 
interface
- * is
- */
-if( numscreen < 0 || numscreen >= 
QApplication::desktop()->screenCount() )
-numscreen = QApplication::desktop()->screenNumber( 
p_intf->p_sys->p_mi );
-
-if( fullscreenControls )
-fullscreenControls->setTargetScreen( numscreen );
 
-if ( numscreen >= 0 )
+if ( numscreen >= 0 && numscreen < 
QApplication::desktop()->screenCount() )
 {
+if( fullscreenControls )
+fullscreenControls->setTargetScreen( numscreen );
 
 QRect screenres = QApplication::desktop()->screenGeometry( 
numscreen );
 lastWinScreen = windowHandle()->screen();

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] direct3d11: check the pointers before mapping the texture

2018-03-21 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Wed Mar 21 
09:56:35 2018 +0100| [a1fca1187092e13631a502533d822d401b09d557] | committer: 
Hugo Beauzée-Luyssen

direct3d11: check the pointers before mapping the texture

And use the proper slice, even though it's currently always 0

Ref #20103

(cherry picked from commit 72375dd63c2fcde4409aa00ff9fedf6fc60c9852)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=a1fca1187092e13631a502533d822d401b09d557
---

 modules/video_output/win32/direct3d11.c | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/modules/video_output/win32/direct3d11.c 
b/modules/video_output/win32/direct3d11.c
index 2e62f22b64..843b771475 100644
--- a/modules/video_output/win32/direct3d11.c
+++ b/modules/video_output/win32/direct3d11.c
@@ -399,7 +399,19 @@ static int Direct3D11MapPoolTexture(picture_t *picture)
 picture_sys_t *p_sys = picture->p_sys;
 D3D11_MAPPED_SUBRESOURCE mappedResource;
 HRESULT hr;
-hr = ID3D11DeviceContext_Map(p_sys->context, 
p_sys->resource[KNOWN_DXGI_INDEX], 0, D3D11_MAP_WRITE_DISCARD, 0, 
);
+
+ID3D11Device *dev;
+ID3D11DeviceContext_GetDevice(p_sys->context, );
+ID3D11Device_Release(dev);
+
+#ifndef NDEBUG
+D3D11_TEXTURE2D_DESC dsc;
+ID3D11Texture2D_GetDesc(p_sys->texture[KNOWN_DXGI_INDEX], );
+assert(dsc.CPUAccessFlags & D3D11_CPU_ACCESS_WRITE);
+assert(dsc.Usage & D3D11_USAGE_DYNAMIC);
+#endif
+
+hr = ID3D11DeviceContext_Map(p_sys->context, 
p_sys->resource[KNOWN_DXGI_INDEX], p_sys->slice_index, D3D11_MAP_WRITE_DISCARD, 
0, );
 if( FAILED(hr) )
 {
 return VLC_EGENERIC;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] qt: FSC: Fix and simplify FSC/screen geometry check

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Tue Mar 
20 17:23:18 2018 +0100| [3b0a4dc671e58723d7533f0c01c1e989569a2e15] | committer: 
Hugo Beauzée-Luyssen

qt: FSC: Fix and simplify FSC/screen geometry check

The previous version was assuming a virtual desktop to be used, while we
had the targetted screen rectangle already computed

(cherry picked from commit 5cca746e2767db3624d3dcbb7bc5a66a6e221fb9)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=3b0a4dc671e58723d7533f0c01c1e989569a2e15
---

 modules/gui/qt/components/controller.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/gui/qt/components/controller.cpp 
b/modules/gui/qt/components/controller.cpp
index e9ffdd17f1..bd71e96051 100644
--- a/modules/gui/qt/components/controller.cpp
+++ b/modules/gui/qt/components/controller.cpp
@@ -888,7 +888,7 @@ void FullscreenControllerWidget::restoreFSC()
 }
 
 if( currentRes == screenRes &&
-QApplication::desktop()->screen()->geometry().contains( 
previousPosition, true ) )
+currentRes.contains( previousPosition, true ) )
 {
 /* Restore to the last known position */
 move( previousPosition );

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] direct3d11: only allocate the large texture array when needed

2018-03-21 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Wed Mar 21 
09:51:55 2018 +0100| [73ff958b52d317fcd7db3af8cf158127e75f1820] | committer: 
Hugo Beauzée-Luyssen

direct3d11: only allocate the large texture array when needed

(cherry picked from commit a74ef553215eb4a54b0d958104a880034c77a236)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=73ff958b52d317fcd7db3af8cf158127e75f1820
---

 modules/video_output/win32/direct3d11.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/modules/video_output/win32/direct3d11.c 
b/modules/video_output/win32/direct3d11.c
index 9bf9e56bd8..2e62f22b64 100644
--- a/modules/video_output/win32/direct3d11.c
+++ b/modules/video_output/win32/direct3d11.c
@@ -565,13 +565,10 @@ static picture_pool_t *Pool(vout_display_t *vd, unsigned 
pool_size)
 pool_size += 2;
 
 vout_display_sys_t *sys = vd->sys;
-ID3D11Texture2D  *textures[pool_size * D3D11_MAX_SHADER_VIEW];
 picture_t **pictures = NULL;
 picture_t *picture;
 unsigned  picture_count = 0;
 
-memset(textures, 0, sizeof(textures));
-
 if (sys->sys.pool)
 return sys->sys.pool;
 
@@ -603,6 +600,8 @@ static picture_pool_t *Pool(vout_display_t *vd, unsigned 
pool_size)
 sys->sys.pool = picture_pool_NewFromFormat( _fmt, pool_size );
 else
 {
+ID3D11Texture2D  *textures[pool_size * D3D11_MAX_SHADER_VIEW];
+memset(textures, 0, sizeof(textures));
 unsigned slices = pool_size;
 if (!CanUseVoutPool(>d3d_dev, pool_size))
 /* only provide enough for the filters, we can still do direct 
rendering */

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] Update NEWS

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Wed Mar 
21 11:38:34 2018 +0100| [c8ef6de735a124406565cb63c8864e66fcdcba44] | committer: 
Hugo Beauzée-Luyssen

Update NEWS

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=c8ef6de735a124406565cb63c8864e66fcdcba44
---

 NEWS | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index c9fc31d47d..d3a43e6641 100644
--- a/NEWS
+++ b/NEWS
@@ -44,7 +44,7 @@ Video output:
  * Fix Direct3D9 filters settings not being applied properly
  * Fix transform filters with hardware decoding
  * Fix snapshot and filters with HEVC hardware decoding
- * Fix subtitles not appearing in snapshots when using hardware decoding
+ * Fix a buffer overrun during GPU/CPU image copy
 
 macOS:
  * Fix Growl notifications on recent macOS versions
@@ -58,6 +58,7 @@ macOS:
 Qt:
  * Fix last folder used in open dialogs
  * Allow to customize the seek jump when using the mousewheel
+ * Fix fullscreen controller positionment on multiscreen setups
 
 Misc:
  * Fix lua rc & oldrc interfaces host specification
@@ -67,6 +68,7 @@ Misc:
  * Improve support for NetBSD
  * Fix MSI script for Windows
  * Fix libvlc_media_list not going to next media
+ * Fix character encoding on win32 consoles
 
 
 Changes between 3.0.0 and 3.0.1:

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] lua: cli: Fix non-ascii character input

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Mon Mar 
12 10:28:53 2018 +0100| [1ebfffd3dc467948fe5827725bb9889f2cb62997] | committer: 
Hugo Beauzée-Luyssen

lua: cli: Fix non-ascii character input

refs #19874

(cherry picked from commit 1f1291aedc994dc218bfc5b9ab3ba0a32c19909b)
Signed-off-by: Hugo Beauzée-Luyssen 
(cherry picked from commit 27852dd4c2a99c9fd2a890e1cb2941a448ea9bf6)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=1ebfffd3dc467948fe5827725bb9889f2cb62997
---

 modules/lua/libs/win.c | 80 ++
 1 file changed, 48 insertions(+), 32 deletions(-)

diff --git a/modules/lua/libs/win.c b/modules/lua/libs/win.c
index 7d0276331e..fc037bf65e 100644
--- a/modules/lua/libs/win.c
+++ b/modules/lua/libs/win.c
@@ -48,12 +48,15 @@ static HANDLE GetConsole( lua_State *L )
 
 #define MAX_LINE_LENGTH 1024
 
-static bool ReadWin32( HANDLE *hConsoleIn, char *p_buffer, int *pi_size )
+static bool ReadWin32( HANDLE *hConsoleIn, unsigned char *p_buffer, int 
*pi_size )
 {
 INPUT_RECORD input_record;
 DWORD i_dw;
 
-while( *pi_size < MAX_LINE_LENGTH &&
+// Prefer to fail early when there's not enough space to store a 4 bytes
+// UTF8 character. The function will be immediatly called again and we 
won't
+// lose an input
+while( *pi_size < MAX_LINE_LENGTH - 4 &&
ReadConsoleInput( hConsoleIn, _record, 1, _dw ) )
 {
 if( input_record.EventType != KEY_EVENT ||
@@ -66,47 +69,60 @@ static bool ReadWin32( HANDLE *hConsoleIn, char *p_buffer, 
int *pi_size )
 /* nothing interesting */
 continue;
 }
-
-p_buffer[ *pi_size ] = input_record.Event.KeyEvent.uChar.AsciiChar;
-
-/* Echo out the command */
-putc( p_buffer[ *pi_size ], stdout );
-
-/* Handle special keys */
-if( p_buffer[ *pi_size ] == '\r' || p_buffer[ *pi_size ] == '\n' )
+if( input_record.Event.KeyEvent.uChar.AsciiChar == '\n' ||
+input_record.Event.KeyEvent.uChar.AsciiChar == '\r' )
 {
-if ( p_buffer[ *pi_size ] == '\r' )
-p_buffer[ *pi_size ] = '\n';
-(*pi_size)++; /* We want the \n to be in the output string */
 putc( '\n', stdout );
+p_buffer[*pi_size] = '\n';
+(*pi_size)++;
 break;
 }
-switch( p_buffer[ *pi_size ] )
+switch( input_record.Event.KeyEvent.uChar.AsciiChar )
 {
 case '\b':
-if( *pi_size )
+if ( *pi_size == 0 )
+break;
+if ( *pi_size > 1 && (p_buffer[*pi_size - 1] & 0xC0) == 0x80 )
 {
-*pi_size -= 2;
-putc( ' ', stdout );
-putc( '\b', stdout );
+// pi_size currently points to the character to be written, so
+// we need to roll back from 2 bytes to start erasing the 
previous
+// character
+(*pi_size) -= 2;
+unsigned int nbBytes = 1;
+while( *pi_size > 0 && (p_buffer[*pi_size] & 0xC0) == 0x80 )
+{
+(*pi_size)--;
+nbBytes++;
+}
+assert( clz( (unsigned char)~(p_buffer[*pi_size]) ) == nbBytes 
+ 1 );
+// The first utf8 byte will be overriden by a \0
 }
+else
+(*pi_size)--;
+p_buffer[*pi_size] = 0;
+
+fputs( "\b \b", stdout );
 break;
-//case '\r':
-//(*pi_size) --;
-//break;
+default:
+{
+WCHAR psz_winput[] = { 
input_record.Event.KeyEvent.uChar.UnicodeChar, L'\0' };
+char* psz_input = FromWide( psz_winput );
+int input_size = strlen(psz_input);
+if ( *pi_size + input_size > MAX_LINE_LENGTH )
+{
+p_buffer[ *pi_size ] = 0;
+return false;
+}
+strcpy( (char*)_buffer[*pi_size], psz_input );
+utf8_fprintf( stdout, "%s", psz_input );
+free(psz_input);
+*pi_size += input_size;
+}
 }
-
-(*pi_size)++;
-}
-
-if( *pi_size == MAX_LINE_LENGTH )
-  // p_buffer[ *pi_size ] == '\r' || p_buffer[ *pi_size ] == '\n' )
-{
-p_buffer[ *pi_size ] = 0;
-return true;
 }
 
-return false;
+p_buffer[ *pi_size ] = 0;
+return true;
 }
 
 static int vlclua_console_init( lua_State *L )
@@ -135,7 +151,7 @@ static int vlclua_console_read( lua_State *L )
 {
 char psz_buffer[MAX_LINE_LENGTH+1];
 int i_size = 0;
-ReadWin32( GetConsole( L ), psz_buffer, _size );
+ReadWin32( GetConsole( L ), (unsigned char*)psz_buffer, _size );
 lua_pushlstring( L, psz_buffer, i_size );
 
 return 1;


[vlc-commits] chroma: copy: fix buffer overrun when the destination pitch is smaller than the src

2018-03-21 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Wed Mar 21 
11:09:35 2018 +0100| [f18f5e6c0611165248bff15281ad33318599c5ba] | committer: 
Hugo Beauzée-Luyssen

chroma: copy: fix buffer overrun when the destination pitch is smaller than the 
src

Fixes #20103

(cherry picked from commit cdbd28fa78eae03f4b62fc570a72bbfa017b6062)
Signed-off-by: Hugo Beauzée-Luyssen 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=f18f5e6c0611165248bff15281ad33318599c5ba
---

 modules/video_chroma/copy.c | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/modules/video_chroma/copy.c b/modules/video_chroma/copy.c
index d4358b441a..fa1616a372 100644
--- a/modules/video_chroma/copy.c
+++ b/modules/video_chroma/copy.c
@@ -466,7 +466,8 @@ static void SSE_CopyPlane(uint8_t *dst, size_t dst_pitch,
   uint8_t *cache, size_t cache_size,
   unsigned height, int bitshift)
 {
-const unsigned w16 = (src_pitch+15) & ~15;
+const size_t copy_pitch = __MIN(src_pitch, dst_pitch);
+const unsigned w16 = (copy_pitch+15) & ~15;
 const unsigned hstep = cache_size / w16;
 assert(hstep > 0);
 
@@ -481,7 +482,7 @@ static void SSE_CopyPlane(uint8_t *dst, size_t dst_pitch,
 CopyFromUswc(cache, w16, src, src_pitch, src_pitch, hblock, bitshift);
 
 /* Copy from our cache to the destination */
-Copy2d(dst, dst_pitch, cache, w16, src_pitch, hblock);
+Copy2d(dst, dst_pitch, cache, w16, copy_pitch, hblock);
 
 /* */
 src += src_pitch * hblock;
@@ -610,6 +611,7 @@ static void CopyPlane(uint8_t *dst, size_t dst_pitch,
   const uint8_t *src, size_t src_pitch,
   unsigned height, int bitshift)
 {
+const size_t copy_pitch = __MIN(src_pitch, dst_pitch);
 if (bitshift != 0)
 {
 for (unsigned y = 0; y < height; y++)
@@ -618,20 +620,20 @@ static void CopyPlane(uint8_t *dst, size_t dst_pitch,
 const uint16_t *src16 = (const uint16_t *) src;
 
 if (bitshift > 0)
-for (unsigned x = 0; x < (src_pitch / 2); x++)
+for (unsigned x = 0; x < (copy_pitch / 2); x++)
 *dst16++ = (*src16++) >> (bitshift & 0xf);
 else
-for (unsigned x = 0; x < (src_pitch / 2); x++)
+for (unsigned x = 0; x < (copy_pitch / 2); x++)
 *dst16++ = (*src16++) << ((-bitshift) & 0xf);
 src += src_pitch;
 dst += dst_pitch;
 }
 }
 else if (src_pitch == dst_pitch)
-memcpy(dst, src, src_pitch * height);
+memcpy(dst, src, copy_pitch * height);
 else
 for (unsigned y = 0; y < height; y++) {
-memcpy(dst, src, src_pitch);
+memcpy(dst, src, copy_pitch);
 src += src_pitch;
 dst += dst_pitch;
 }

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux:mkv: constant strings should be constant

2018-03-21 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Wed Mar 21 15:02:09 
2018 +0100| [0d57dda3e9dbb3932fb2719b9fb18b213cb12c4d] | committer: Steve Lhomme

demux:mkv: constant strings should be constant

Third time's a charm

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0d57dda3e9dbb3932fb2719b9fb18b213cb12c4d
---

 modules/demux/mkv/util.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/demux/mkv/util.cpp b/modules/demux/mkv/util.cpp
index 8c22cf7afe..3b25e00aee 100644
--- a/modules/demux/mkv/util.cpp
+++ b/modules/demux/mkv/util.cpp
@@ -386,8 +386,8 @@ block_t * packetize_wavpack( const mkv_track_t & tk, 
uint8_t * buffer, size_t  s
 
 void MkvTree_va( demux_t& demuxer, int i_level, const char* fmt, va_list args)
 {
-static char indent[] = "|   ";
-static char prefix[] = "+ ";
+static const char indent[] = "|   ";
+static const char prefix[] = "+ ";
 static int  const   indent_len = sizeof( indent ) - 1;
 static int  const   prefix_len = sizeof( prefix ) - 1;
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux:mkv: favor sizeof() on static strings to strlen()

2018-03-21 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Wed Mar 21 14:10:49 
2018 +0100| [d8aea6d3e187e3163007119487160dfa59f6eb05] | committer: Steve Lhomme

demux:mkv: favor sizeof() on static strings to strlen()

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d8aea6d3e187e3163007119487160dfa59f6eb05
---

 modules/demux/mkv/matroska_segment_parse.cpp | 2 +-
 modules/demux/mkv/util.cpp   | 8 
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/modules/demux/mkv/matroska_segment_parse.cpp 
b/modules/demux/mkv/matroska_segment_parse.cpp
index f3cf2c2c7d..752bf58bb4 100644
--- a/modules/demux/mkv/matroska_segment_parse.cpp
+++ b/modules/demux/mkv/matroska_segment_parse.cpp
@@ -1592,7 +1592,7 @@ bool matroska_segment_c::TrackInit( mkv_track_t * p_tk )
  *   we try to fix it. They fixed it in 16.0.0. */
 const char* app = vars.obj->psz_writing_application;
 if( p_extra && p_extra[0] == 0 && app != NULL &&
-strncmp(app, "mkvmerge", strlen("mkvmerge")) == 0 )
+strncmp(app, "mkvmerge", sizeof("mkvmerge")-1) == 0 )
 {
 int major_version;
 if( sscanf(app, "mkvmerge v%d.", _version) && 
major_version < 16 )
diff --git a/modules/demux/mkv/util.cpp b/modules/demux/mkv/util.cpp
index e01ab6db07..8c22cf7afe 100644
--- a/modules/demux/mkv/util.cpp
+++ b/modules/demux/mkv/util.cpp
@@ -386,10 +386,10 @@ block_t * packetize_wavpack( const mkv_track_t & tk, 
uint8_t * buffer, size_t  s
 
 void MkvTree_va( demux_t& demuxer, int i_level, const char* fmt, va_list args)
 {
-static char const * indent = "|   ";
-static char const * prefix = "+ ";
-static int  const   indent_len = strlen( indent );
-static int  const   prefix_len = strlen( prefix );
+static char indent[] = "|   ";
+static char prefix[] = "+ ";
+static int  const   indent_len = sizeof( indent ) - 1;
+static int  const   prefix_len = sizeof( prefix ) - 1;
 
 char   fixed_buffer[256] = {};
 size_t const  static_len = sizeof( fixed_buffer );

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux:mkv: respect the hidden flag for chapters/editions

2018-03-21 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Wed Mar 21 13:17:55 
2018 +0100| [f5ac0e57ff31560d212a1e7bed3f7f48feac1197] | committer: Steve Lhomme

demux:mkv: respect the hidden flag for chapters/editions

By default they should be displayed even if they don't have a fancy name.

Ref https://forum.videolan.org/viewtopic.php?p=470038

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f5ac0e57ff31560d212a1e7bed3f7f48feac1197
---

 modules/demux/mkv/chapters.hpp   |  3 +--
 modules/demux/mkv/matroska_segment_parse.cpp |  3 +--
 modules/demux/mkv/virtual_segment.cpp| 37 +---
 3 files changed, 19 insertions(+), 24 deletions(-)

diff --git a/modules/demux/mkv/chapters.hpp b/modules/demux/mkv/chapters.hpp
index d42ee637d2..a069b1fdea 100644
--- a/modules/demux/mkv/chapters.hpp
+++ b/modules/demux/mkv/chapters.hpp
@@ -56,7 +56,7 @@ public:
 ,p_segment_uid(NULL)
 ,p_segment_edition_uid(NULL)
 ,b_display_seekpoint(true)
-,b_user_display(false)
+,b_user_display(true)
 ,p_parent(NULL)
 ,b_is_leaving(false)
 {}
@@ -102,7 +102,6 @@ public:
 std::string GetMainName() const;
 boolb_ordered;
 boolb_default;
-/* TODO handle hidden chapters */
 boolb_hidden;
 };
 
diff --git a/modules/demux/mkv/matroska_segment_parse.cpp 
b/modules/demux/mkv/matroska_segment_parse.cpp
index 6933c08cf3..f3cf2c2c7d 100644
--- a/modules/demux/mkv/matroska_segment_parse.cpp
+++ b/modules/demux/mkv/matroska_segment_parse.cpp
@@ -1377,8 +1377,7 @@ void matroska_segment_c::ParseChapters( KaxChapters 
*chapters )
 }
 E_CASE( KaxEditionFlagHidden, flag_hidden )
 {
-VLC_UNUSED( flag_hidden ); // TODO: FIXME: implement
-VLC_UNUSED( vars );
+vars.p_edition->b_hidden = static_cast( flag_hidden 
) != 0;
 }
 E_CASE( EbmlVoid, el )
 {
diff --git a/modules/demux/mkv/virtual_segment.cpp 
b/modules/demux/mkv/virtual_segment.cpp
index d99e6ca646..d7fa902503 100644
--- a/modules/demux/mkv/virtual_segment.cpp
+++ b/modules/demux/mkv/virtual_segment.cpp
@@ -585,30 +585,27 @@ virtual_chapter_c * virtual_segment_c::FindChapter( 
int64_t i_find_uid )
 
 int virtual_chapter_c::PublishChapters( input_title_t & title, int & 
i_user_chapters, int i_level )
 {
-if ( p_chapter && ( !p_chapter->b_display_seekpoint || p_chapter->psz_name 
== "" ) )
-{
-p_chapter->psz_name = p_chapter->GetCodecName();
-if ( p_chapter->psz_name != "" )
-p_chapter->b_display_seekpoint = true;
-}
-
 if ( p_chapter && p_chapter->b_display_seekpoint )
 {
-if( p_chapter->b_user_display )
-{
-seekpoint_t *sk = vlc_seekpoint_New();
+std::string chap_name;
+if ( p_chapter->b_user_display )
+chap_name = p_chapter->psz_name;
+if (chap_name == "")
+chap_name = p_chapter->GetCodecName();
 
-sk->i_time_offset = i_mk_virtual_start_time;
-sk->psz_name = strdup( p_chapter->psz_name.c_str() );
+seekpoint_t *sk = vlc_seekpoint_New();
 
-/* A start time of '0' is ok. A missing ChapterTime element is ok, 
too, because '0' is its default value. */
-title.i_seekpoint++;
-title.seekpoint = (seekpoint_t**)xrealloc( title.seekpoint,
-  title.i_seekpoint * sizeof( seekpoint_t* ) );
-title.seekpoint[title.i_seekpoint-1] = sk;
+sk->i_time_offset = i_mk_virtual_start_time;
+if (chap_name != "")
+sk->psz_name = strdup( chap_name.c_str() );
 
-i_user_chapters++;
-}
+/* A start time of '0' is ok. A missing ChapterTime element is ok, 
too, because '0' is its default value. */
+title.i_seekpoint++;
+title.seekpoint = (seekpoint_t**)xrealloc( title.seekpoint,
+  title.i_seekpoint * sizeof( seekpoint_t* ) );
+title.seekpoint[title.i_seekpoint-1] = sk;
+
+i_user_chapters++;
 }
 i_seekpoint_num = i_user_chapters;
 
@@ -624,7 +621,7 @@ int virtual_edition_c::PublishChapters( input_title_t & 
title, int & i_user_chap
 
 /* HACK for now don't expose edition as a seekpoint if its start time is 
the same than it's first chapter */
 if( vchapters.size() > 0 &&
-vchapters[0]->i_mk_virtual_start_time && p_edition )
+vchapters[0]->i_mk_virtual_start_time && p_edition && 
!p_edition->b_hidden )
 {
 seekpoint_t *sk = vlc_seekpoint_New();
 sk->i_time_offset = 0;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux:mkv: don't display the edition as a seekpoint if it has no name

2018-03-21 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Wed Mar 21 13:55:21 
2018 +0100| [22425bd29729a8e9cd6ee834bf58c7a8eca1b0ad] | committer: Steve Lhomme

demux:mkv: don't display the edition as a seekpoint if it has no name

There are chapters for that.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=22425bd29729a8e9cd6ee834bf58c7a8eca1b0ad
---

 modules/demux/mkv/virtual_segment.cpp | 29 -
 modules/demux/mkv/virtual_segment.hpp |  2 +-
 2 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/modules/demux/mkv/virtual_segment.cpp 
b/modules/demux/mkv/virtual_segment.cpp
index d7fa902503..2a66fe5da1 100644
--- a/modules/demux/mkv/virtual_segment.cpp
+++ b/modules/demux/mkv/virtual_segment.cpp
@@ -583,7 +583,7 @@ virtual_chapter_c * virtual_segment_c::FindChapter( int64_t 
i_find_uid )
 return NULL;
 }
 
-int virtual_chapter_c::PublishChapters( input_title_t & title, int & 
i_user_chapters, int i_level )
+int virtual_chapter_c::PublishChapters( input_title_t & title, int & 
i_user_chapters, int i_level, bool allow_no_name )
 {
 if ( p_chapter && p_chapter->b_display_seekpoint )
 {
@@ -593,24 +593,27 @@ int virtual_chapter_c::PublishChapters( input_title_t & 
title, int & i_user_chap
 if (chap_name == "")
 chap_name = p_chapter->GetCodecName();
 
-seekpoint_t *sk = vlc_seekpoint_New();
+if (allow_no_name || chap_name != "")
+{
+seekpoint_t *sk = vlc_seekpoint_New();
 
-sk->i_time_offset = i_mk_virtual_start_time;
-if (chap_name != "")
-sk->psz_name = strdup( chap_name.c_str() );
+sk->i_time_offset = i_mk_virtual_start_time;
+if (chap_name != "")
+sk->psz_name = strdup( chap_name.c_str() );
 
-/* A start time of '0' is ok. A missing ChapterTime element is ok, 
too, because '0' is its default value. */
-title.i_seekpoint++;
-title.seekpoint = (seekpoint_t**)xrealloc( title.seekpoint,
-  title.i_seekpoint * sizeof( seekpoint_t* ) );
-title.seekpoint[title.i_seekpoint-1] = sk;
+/* A start time of '0' is ok. A missing ChapterTime element is ok, 
too, because '0' is its default value. */
+title.i_seekpoint++;
+title.seekpoint = (seekpoint_t**)xrealloc( title.seekpoint,
+  title.i_seekpoint * sizeof( seekpoint_t* ) );
+title.seekpoint[title.i_seekpoint-1] = sk;
 
-i_user_chapters++;
+i_user_chapters++;
+}
 }
 i_seekpoint_num = i_user_chapters;
 
 for( size_t i = 0; i < sub_vchapters.size(); i++ )
-sub_vchapters[i]->PublishChapters( title, i_user_chapters, i_level + 1 
);
+sub_vchapters[i]->PublishChapters( title, i_user_chapters, i_level + 
1, true );
 
 return i_user_chapters;
 }
@@ -639,7 +642,7 @@ int virtual_edition_c::PublishChapters( input_title_t & 
title, int & i_user_chap
 
 //if( chapters.size() > 1 )
 for( size_t i = 0; i < vchapters.size(); i++ )
-vchapters[i]->PublishChapters( title, i_user_chapters, i_level );
+vchapters[i]->PublishChapters( title, i_user_chapters, i_level, 
false );
 
 return i_user_chapters;
 }
diff --git a/modules/demux/mkv/virtual_segment.hpp 
b/modules/demux/mkv/virtual_segment.hpp
index cd9dd2ae06..53d297f2cb 100644
--- a/modules/demux/mkv/virtual_segment.hpp
+++ b/modules/demux/mkv/virtual_segment.hpp
@@ -52,7 +52,7 @@ public:
 bool Leave( );
 bool EnterAndLeave( virtual_chapter_c *p_leaving_vchapter, bool b_enter = 
true );
 virtual_chapter_c * FindChapter( int64_t i_find_uid );
-int PublishChapters( input_title_t & title, int & i_user_chapters, int 
i_level );
+int PublishChapters( input_title_t & title, int & i_user_chapters, int 
i_level, bool allow_no_name );
 
 virtual_chapter_c * BrowseCodecPrivate( unsigned int codec_id,
 bool (*match)( const 
chapter_codec_cmds_c ,

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux:mkv: fix log display

2018-03-21 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Wed Mar 21 11:54:29 
2018 +0100| [0b746a9e05ee28b8ce8b69c6c3db902f05a88e56] | committer: Steve Lhomme

demux:mkv: fix log display

At least on my machine string are padding with an 8 byte alignment.

from 50eec8a480700449591d7f0d7c31a36772973291

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0b746a9e05ee28b8ce8b69c6c3db902f05a88e56
---

 modules/demux/mkv/util.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/demux/mkv/util.cpp b/modules/demux/mkv/util.cpp
index e41fd86512..e01ab6db07 100644
--- a/modules/demux/mkv/util.cpp
+++ b/modules/demux/mkv/util.cpp
@@ -388,8 +388,8 @@ void MkvTree_va( demux_t& demuxer, int i_level, const char* 
fmt, va_list args)
 {
 static char const * indent = "|   ";
 static char const * prefix = "+ ";
-static int  const   indent_len = sizeof( indent );
-static int  const   prefix_len = sizeof( prefix );
+static int  const   indent_len = strlen( indent );
+static int  const   prefix_len = strlen( prefix );
 
 char   fixed_buffer[256] = {};
 size_t const  static_len = sizeof( fixed_buffer );

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] direct3d11: check the pointers before mapping the texture

2018-03-21 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Wed Mar 21 09:56:35 
2018 +0100| [72375dd63c2fcde4409aa00ff9fedf6fc60c9852] | committer: Steve Lhomme

direct3d11: check the pointers before mapping the texture

And use the proper slice, even though it's currently always 0

Ref #20103

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=72375dd63c2fcde4409aa00ff9fedf6fc60c9852
---

 modules/video_output/win32/direct3d11.c | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/modules/video_output/win32/direct3d11.c 
b/modules/video_output/win32/direct3d11.c
index 55d918a4b7..919bd2e6b2 100644
--- a/modules/video_output/win32/direct3d11.c
+++ b/modules/video_output/win32/direct3d11.c
@@ -399,7 +399,19 @@ static int Direct3D11MapPoolTexture(picture_t *picture)
 picture_sys_t *p_sys = picture->p_sys;
 D3D11_MAPPED_SUBRESOURCE mappedResource;
 HRESULT hr;
-hr = ID3D11DeviceContext_Map(p_sys->context, 
p_sys->resource[KNOWN_DXGI_INDEX], 0, D3D11_MAP_WRITE_DISCARD, 0, 
);
+
+ID3D11Device *dev;
+ID3D11DeviceContext_GetDevice(p_sys->context, );
+ID3D11Device_Release(dev);
+
+#ifndef NDEBUG
+D3D11_TEXTURE2D_DESC dsc;
+ID3D11Texture2D_GetDesc(p_sys->texture[KNOWN_DXGI_INDEX], );
+assert(dsc.CPUAccessFlags & D3D11_CPU_ACCESS_WRITE);
+assert(dsc.Usage & D3D11_USAGE_DYNAMIC);
+#endif
+
+hr = ID3D11DeviceContext_Map(p_sys->context, 
p_sys->resource[KNOWN_DXGI_INDEX], p_sys->slice_index, D3D11_MAP_WRITE_DISCARD, 
0, );
 if( FAILED(hr) )
 {
 return VLC_EGENERIC;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] chroma: copy: fix buffer overrun when the destination pitch is smaller than the src

2018-03-21 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Wed Mar 21 11:09:35 
2018 +0100| [cdbd28fa78eae03f4b62fc570a72bbfa017b6062] | committer: Steve Lhomme

chroma: copy: fix buffer overrun when the destination pitch is smaller than the 
src

Fixes #20103

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=cdbd28fa78eae03f4b62fc570a72bbfa017b6062
---

 modules/video_chroma/copy.c | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/modules/video_chroma/copy.c b/modules/video_chroma/copy.c
index 2f52163485..9dcaf414e6 100644
--- a/modules/video_chroma/copy.c
+++ b/modules/video_chroma/copy.c
@@ -466,7 +466,8 @@ static void SSE_CopyPlane(uint8_t *dst, size_t dst_pitch,
   uint8_t *cache, size_t cache_size,
   unsigned height, int bitshift)
 {
-const unsigned w16 = (src_pitch+15) & ~15;
+const size_t copy_pitch = __MIN(src_pitch, dst_pitch);
+const unsigned w16 = (copy_pitch+15) & ~15;
 const unsigned hstep = cache_size / w16;
 assert(hstep > 0);
 
@@ -481,7 +482,7 @@ static void SSE_CopyPlane(uint8_t *dst, size_t dst_pitch,
 CopyFromUswc(cache, w16, src, src_pitch, src_pitch, hblock, bitshift);
 
 /* Copy from our cache to the destination */
-Copy2d(dst, dst_pitch, cache, w16, src_pitch, hblock);
+Copy2d(dst, dst_pitch, cache, w16, copy_pitch, hblock);
 
 /* */
 src += src_pitch * hblock;
@@ -610,6 +611,7 @@ static void CopyPlane(uint8_t *dst, size_t dst_pitch,
   const uint8_t *src, size_t src_pitch,
   unsigned height, int bitshift)
 {
+const size_t copy_pitch = __MIN(src_pitch, dst_pitch);
 if (bitshift != 0)
 {
 for (unsigned y = 0; y < height; y++)
@@ -618,20 +620,20 @@ static void CopyPlane(uint8_t *dst, size_t dst_pitch,
 const uint16_t *src16 = (const uint16_t *) src;
 
 if (bitshift > 0)
-for (unsigned x = 0; x < (src_pitch / 2); x++)
+for (unsigned x = 0; x < (copy_pitch / 2); x++)
 *dst16++ = (*src16++) >> (bitshift & 0xf);
 else
-for (unsigned x = 0; x < (src_pitch / 2); x++)
+for (unsigned x = 0; x < (copy_pitch / 2); x++)
 *dst16++ = (*src16++) << ((-bitshift) & 0xf);
 src += src_pitch;
 dst += dst_pitch;
 }
 }
 else if (src_pitch == dst_pitch)
-memcpy(dst, src, src_pitch * height);
+memcpy(dst, src, copy_pitch * height);
 else
 for (unsigned y = 0; y < height; y++) {
-memcpy(dst, src, src_pitch);
+memcpy(dst, src, copy_pitch);
 src += src_pitch;
 dst += dst_pitch;
 }

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] direct3d11: only allocate the large texture array when needed

2018-03-21 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Wed Mar 21 09:51:55 
2018 +0100| [a74ef553215eb4a54b0d958104a880034c77a236] | committer: Steve Lhomme

direct3d11: only allocate the large texture array when needed

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a74ef553215eb4a54b0d958104a880034c77a236
---

 modules/video_output/win32/direct3d11.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/modules/video_output/win32/direct3d11.c 
b/modules/video_output/win32/direct3d11.c
index d5457b7110..55d918a4b7 100644
--- a/modules/video_output/win32/direct3d11.c
+++ b/modules/video_output/win32/direct3d11.c
@@ -565,13 +565,10 @@ static picture_pool_t *Pool(vout_display_t *vd, unsigned 
pool_size)
 pool_size += 2;
 
 vout_display_sys_t *sys = vd->sys;
-ID3D11Texture2D  *textures[pool_size * D3D11_MAX_SHADER_VIEW];
 picture_t **pictures = NULL;
 picture_t *picture;
 unsigned  picture_count = 0;
 
-memset(textures, 0, sizeof(textures));
-
 if (sys->sys.pool)
 return sys->sys.pool;
 
@@ -603,6 +600,8 @@ static picture_pool_t *Pool(vout_display_t *vd, unsigned 
pool_size)
 sys->sys.pool = picture_pool_NewFromFormat( _fmt, pool_size );
 else
 {
+ID3D11Texture2D  *textures[pool_size * D3D11_MAX_SHADER_VIEW];
+memset(textures, 0, sizeof(textures));
 unsigned slices = pool_size;
 if (!CanUseVoutPool(>d3d_dev, pool_size))
 /* only provide enough for the filters, we can still do direct 
rendering */

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] intromsg: Ensure non-ascii characters are properly displayed on win32

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc | branch: master | Hugo Beauzée-Luyssen  | Wed Mar 21 
10:29:44 2018 +0100| [dab13a3c28a1f951b50ca13a5ef0469146304c2a] | committer: 
Hugo Beauzée-Luyssen

intromsg: Ensure non-ascii characters are properly displayed on win32

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=dab13a3c28a1f951b50ca13a5ef0469146304c2a
---

 modules/control/intromsg.h | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/modules/control/intromsg.h b/modules/control/intromsg.h
index 7af95204b7..a0f85dce92 100644
--- a/modules/control/intromsg.h
+++ b/modules/control/intromsg.h
@@ -19,7 +19,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  */
 
-static inline void intf_consoleIntroMsg(intf_thread_t *intf)
+static inline void intf_consoleIntroMsg(intf_thread_t *p_intf)
 {
 if (getenv( "PWD" ) == NULL) /* detect Cygwin shell or Wine */
 {
@@ -29,9 +29,9 @@ static inline void intf_consoleIntroMsg(intf_thread_t *intf)
 freopen("CONIN$", "r", stdin);
 }
 
-msg_Info(intf, "VLC media player - %s", VERSION_MESSAGE);
-msg_Info(intf, "%s", COPYRIGHT_MESSAGE);
-msg_Info(intf, _("\nWarning: if you cannot access the GUI "
+msg_rc("VLC media player - %s", VERSION_MESSAGE);
+msg_rc("%s", COPYRIGHT_MESSAGE);
+msg_rc(_("\nWarning: if you cannot access the GUI "
  "anymore, open a command-line window, go to the "
  "directory where you installed VLC and run "
  "\"vlc -I qt\"\n"));

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] dummy intf: Deprecate dummy-quiet option

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc | branch: master | Hugo Beauzée-Luyssen  | Wed Mar 21 
10:29:13 2018 +0100| [b349484398da0523e3f44c02593810b230f3dd99] | committer: 
Hugo Beauzée-Luyssen

dummy intf: Deprecate dummy-quiet option

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b349484398da0523e3f44c02593810b230f3dd99
---

 modules/control/dummy.c | 11 +--
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/modules/control/dummy.c b/modules/control/dummy.c
index 4e0406dd5a..c36967f1b5 100644
--- a/modules/control/dummy.c
+++ b/modules/control/dummy.c
@@ -34,15 +34,6 @@
 #include 
 #include 
 
-#ifdef _WIN32
-#define QUIET_TEXT N_("Do not open a DOS command box interface")
-#define QUIET_LONGTEXT N_( \
-"By default the dummy interface plugin will start a DOS command box. " \
-"Enabling the quiet mode will not bring this command box but can also " \
-"be pretty annoying when you want to stop VLC and no video window is " \
-"open." )
-#endif
-
 static int Open( vlc_object_t * );
 
 vlc_module_begin ()
@@ -51,7 +42,7 @@ vlc_module_begin ()
 set_capability( "interface", 0 )
 set_callbacks( Open, NULL )
 #if defined(_WIN32) && !VLC_WINSTORE_APP
-add_bool( "dummy-quiet", false, QUIET_TEXT, QUIET_LONGTEXT, false )
+add_obsolete_bool( "dummy-quiet" )
 #endif
 vlc_module_end ()
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] dummy: Never show intromsg

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc | branch: master | Hugo Beauzée-Luyssen  | Wed Mar 21 
10:20:32 2018 +0100| [2bc26eb597ca55c5773fe84bacc32629255c03f8] | committer: 
Hugo Beauzée-Luyssen

dummy: Never show intromsg

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2bc26eb597ca55c5773fe84bacc32629255c03f8
---

 modules/control/dummy.c | 10 --
 1 file changed, 10 deletions(-)

diff --git a/modules/control/dummy.c b/modules/control/dummy.c
index d2a40da110..4e0406dd5a 100644
--- a/modules/control/dummy.c
+++ b/modules/control/dummy.c
@@ -41,9 +41,6 @@
 "Enabling the quiet mode will not bring this command box but can also " \
 "be pretty annoying when you want to stop VLC and no video window is " \
 "open." )
-#if !VLC_WINSTORE_APP
-#include "intromsg.h"
-#endif
 #endif
 
 static int Open( vlc_object_t * );
@@ -65,13 +62,6 @@ static int Open( vlc_object_t *p_this )
 {
 intf_thread_t *p_intf = (intf_thread_t*) p_this;
 
-#if defined(_WIN32) && !VLC_WINSTORE_APP
-bool b_quiet;
-b_quiet = var_InheritBool( p_intf, "dummy-quiet" );
-if( !b_quiet )
-intf_consoleIntroMsg(p_intf);
-#endif
-
 msg_Info( p_intf, "using the dummy interface module..." );
 
 return VLC_SUCCESS;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] qt: FSC: Fix and simplify FSC/screen geometry check

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc | branch: master | Hugo Beauzée-Luyssen  | Tue Mar 20 
17:23:18 2018 +0100| [5cca746e2767db3624d3dcbb7bc5a66a6e221fb9] | committer: 
Hugo Beauzée-Luyssen

qt: FSC: Fix and simplify FSC/screen geometry check

The previous version was assuming a virtual desktop to be used, while we
had the targetted screen rectangle already computed

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5cca746e2767db3624d3dcbb7bc5a66a6e221fb9
---

 modules/gui/qt/components/controller.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/gui/qt/components/controller.cpp 
b/modules/gui/qt/components/controller.cpp
index e9ffdd17f1..bd71e96051 100644
--- a/modules/gui/qt/components/controller.cpp
+++ b/modules/gui/qt/components/controller.cpp
@@ -888,7 +888,7 @@ void FullscreenControllerWidget::restoreFSC()
 }
 
 if( currentRes == screenRes &&
-QApplication::desktop()->screen()->geometry().contains( 
previousPosition, true ) )
+currentRes.contains( previousPosition, true ) )
 {
 /* Restore to the last known position */
 move( previousPosition );

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] qt: FSC: Don't spam showFSC calls.

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc | branch: master | Hugo Beauzée-Luyssen  | Tue Mar 20 
16:56:46 2018 +0100| [669bcf20696b883279c00b7e7846b787603a5050] | committer: 
Hugo Beauzée-Luyssen

qt: FSC: Don't spam showFSC calls.

Show it when its hidden

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=669bcf20696b883279c00b7e7846b787603a5050
---

 modules/gui/qt/components/controller.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/gui/qt/components/controller.cpp 
b/modules/gui/qt/components/controller.cpp
index bcbf6f71e9..e9ffdd17f1 100644
--- a/modules/gui/qt/components/controller.cpp
+++ b/modules/gui/qt/components/controller.cpp
@@ -1046,7 +1046,7 @@ void FullscreenControllerWidget::customEvent( QEvent 
*event )
 b_fs = b_fullscreen;
 vlc_mutex_unlock(  );
 
-if( b_fs )
+if( b_fs && isHidden() )
 showFSC();
 
 break;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] qt: FSC: Remove duplicated assignment

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc | branch: master | Hugo Beauzée-Luyssen  | Tue Mar 20 
15:48:18 2018 +0100| [dfa7c93f9c07a9dcddd2d49f8a86fed48953b8d8] | committer: 
Hugo Beauzée-Luyssen

qt: FSC: Remove duplicated assignment

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=dfa7c93f9c07a9dcddd2d49f8a86fed48953b8d8
---

 modules/gui/qt/components/controller.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/modules/gui/qt/components/controller.cpp 
b/modules/gui/qt/components/controller.cpp
index 0ed1c65aeb..bcbf6f71e9 100644
--- a/modules/gui/qt/components/controller.cpp
+++ b/modules/gui/qt/components/controller.cpp
@@ -850,7 +850,6 @@ FullscreenControllerWidget::FullscreenControllerWidget( 
intf_thread_t *_p_i, QWi
 previousPosition = getSettings()->value( "FullScreen/pos" ).toPoint();
 screenRes = getSettings()->value( "FullScreen/screen" ).toRect();
 isWideFSC = getSettings()->value( "FullScreen/wide" ).toBool();
-i_screennumber = -1;
 
 CONNECT( this, fullscreenChanged( bool ), THEMIM, changeFullscreen( bool ) 
);
 }

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] qt: Don't enforce a default screen to the fullscreen controller

2018-03-21 Thread Hugo Beauzée-Luyssen
vlc | branch: master | Hugo Beauzée-Luyssen  | Tue Mar 20 
16:10:19 2018 +0100| [22c9f2a46dbe3e427bf96560786c2473554450b4] | committer: 
Hugo Beauzée-Luyssen

qt: Don't enforce a default screen to the fullscreen controller

It already computes its position based on the video widget's

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=22c9f2a46dbe3e427bf96560786c2473554450b4
---

 modules/gui/qt/main_interface.cpp | 13 +++--
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/modules/gui/qt/main_interface.cpp 
b/modules/gui/qt/main_interface.cpp
index f5496a2782..d0522e08e9 100644
--- a/modules/gui/qt/main_interface.cpp
+++ b/modules/gui/qt/main_interface.cpp
@@ -865,18 +865,11 @@ void MainInterface::setVideoFullScreen( bool fs )
 if( fs )
 {
 int numscreen = var_InheritInteger( p_intf, 
"qt-fullscreen-screennumber" );
-/* if user hasn't defined screennumber, or screennumber that is bigger
- * than current number of screens, take screennumber where current 
interface
- * is
- */
-if( numscreen < 0 || numscreen >= 
QApplication::desktop()->screenCount() )
-numscreen = QApplication::desktop()->screenNumber( 
p_intf->p_sys->p_mi );
-
-if( fullscreenControls )
-fullscreenControls->setTargetScreen( numscreen );
 
-if ( numscreen >= 0 )
+if ( numscreen >= 0 && numscreen < 
QApplication::desktop()->screenCount() )
 {
+if( fullscreenControls )
+fullscreenControls->setTargetScreen( numscreen );
 
 QRect screenres = QApplication::desktop()->screenGeometry( 
numscreen );
 lastWinScreen = windowHandle()->screen();

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits