[vlc-commits] [Git][videolan/vlc] Pushed new tag 3.0.21

2024-06-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed new tag 3.0.21 at VideoLAN / VLC

-- 
This project does not include diff previews in email notifications.
View it on GitLab: https://code.videolan.org/videolan/vlc/-/tree/3.0.21
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc] Deleted tag 3.0.21

2024-06-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf deleted tag 3.0.21 at VideoLAN / VLC

-- 
This project does not include diff previews in email notifications.

You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][3.0.x] 5 commits: mms: use const in mms_ParsePacket()

2024-06-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
f26a1f5d by Thomas Guillem at 2024-06-05T17:57:01+02:00
mms: use const in mms_ParsePacket()

(cherry picked from commit da84f3830856256d64073c31675cba7f6905919f)
Signed-off-by: Jean-Baptiste Kempf j...@videolan.org

- - - - -
6835f6d1 by Thomas Guillem at 2024-06-05T17:57:01+02:00
mms: decrease i_packet_length in only one place

(cherry picked from commit 67b2b79534d3f6a48a4fc363615a4221993ccc95)
Signed-off-by: Jean-Baptiste Kempf j...@videolan.org

- - - - -
6a9e214d by Thomas Guillem at 2024-06-05T17:57:01+02:00
mms: return -1 in case of error

The function calling mms_ParsePacket() is expecting -1 (for error) or a
valid positive integer for success.

(cherry picked from commit f1e521b494bc87a254c6a6a47d27a528e35b5ca0)
Signed-off-by: Jean-Baptiste Kempf j...@videolan.org

- - - - -
e7f98f36 by Thomas Guillem at 2024-06-05T17:57:01+02:00
mms: fix potential integer overflow

That could lead to a heap buffer overflow.

Thanks Andreas Fobian for the security report.

(cherry picked from commit 467b24dd0f9b0b3d8ba11dd813b393892f7f1ed2)
Signed-off-by: Jean-Baptiste Kempf j...@videolan.org

- - - - -
dd8bfdba by Jean-Baptiste Kempf at 2024-06-05T17:58:05+02:00
Update NEWS for 3.0.21

- - - - -


2 changed files:

- NEWS
- modules/access/mms/mmstu.c


Changes:

=
NEWS
=
@@ -4,10 +4,15 @@ Changes between 3.0.20 and 3.0.21:
 Decoders:
  * Improve Opus ambisonic support
  * Fix some ASS subtitle rendering issues
+ * Fix Opus in MP4 behaviour
+ * Fix VAAPI hw decoding with some drivers
+
+Input:
+ * Add support for HTTP content range handling according to RFC 9110
+ * Fix some HLS Adaptive Streaming not working in audio-only mode
 
 Video Output:
  * Super Resolution scaling with AMD GPUs
- * Add D3D11 option to use NVIDIA TrueHDR to generate HDR from SDR sources
  * The D3D11 HDR option can also turn on/off HDR for all sources regardless of
the display
  * Improve subtitles rendering on Apple platforms of notably Asian languages
@@ -15,6 +20,7 @@ Video Output:
 
 Video Filter:
  * New AMD VQ Enhancer filter
+ * Add D3D11 option to use NVIDIA TrueHDR to generate HDR from SDR sources
 
 Audio Output:
  * Fix regression on macOS causing crashes when using audio devices
@@ -23,9 +29,6 @@ Audio Output:
 Services Discovery:
  * Fix exposed UPnP directory URL schemes to be compliant with RFC 3986
 
-Input:
- * Add support for HTTP content range handling according to RFC 9110
-
 Contrib:
  * Update FFmpeg to 4.4.4
  * Update dav1d to 1.4.2
@@ -34,6 +37,12 @@ Contrib:
 libVLC:
  * the HWND passed to libvlc_media_player_set_hwnd must have the 
WS_CLIPCHILDREN
style set.
+ * Fix crashes when using caopengllayer
+
+Misc:
+ * Fix various warnings, leaks and potential crashes
+ * Fix security integer overflow in MMS module
+
 
 Changes between 3.0.19 and 3.0.20:
 --


=
modules/access/mms/mmstu.c
=
@@ -1253,7 +1253,7 @@ static int  mms_ParseCommand( stream_t *p_access,
 }
 
 static int  mms_ParsePacket( stream_t *p_access,
- uint8_t *p_data, size_t i_data,
+ const uint8_t *p_data, size_t i_data,
  size_t *pi_used )
 {
 access_sys_t*p_sys = p_access->p_sys;
@@ -1313,21 +1313,24 @@ static int  mms_ParsePacket( stream_t *p_access,
 #endif
 }
 p_sys->i_packet_seq_num = i_packet_seq_num + 1;
+i_packet_length -= 8; // don't bother with preheader
 
 if( i_packet_id == p_sys->i_header_packet_id_type )
 {
-uint8_t *p_reaced = realloc( p_sys->p_header,
- p_sys->i_header + i_packet_length - 8 );
+size_t new_header_size;
+if( add_overflow( p_sys->i_header, i_packet_length, _header_size ) 
)
+return -1;
+uint8_t *p_reaced = realloc( p_sys->p_header, new_header_size );
 if( !p_reaced )
-return VLC_ENOMEM;
+return -1;
 
-memcpy( _reaced[p_sys->i_header], p_data + 8, i_packet_length - 8 );
+memcpy( _reaced[p_sys->i_header], p_data + 8, i_packet_length );
 p_sys->p_header = p_reaced;
-p_sys->i_header += i_packet_length - 8;
+p_sys->i_header = new_header_size;
 
 /*msg_Dbg( p_access,
  "receive header packet (%d bytes)",
- i_packet_length - 8 ); */
+ i_packet_length ); */
 
 return MMS_PACKET_HEADER;
 }
@@ -1337,15 +1340,15 @@ static int  mms_ParsePacket( stream_t *p_access,
 p_sys->i_media = 0;
 p_sys->i_media_used = 0;
 
-p_sys->p_media = malloc( i_packet_length - 8 ); // don't bother with 
preheader
+p_sys->p_media = malloc( i_packet_length );
 if( !p_sys->p_m

[vlc-commits] [Git][videolan/vlc] Pushed new tag 3.0.21

2024-06-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed new tag 3.0.21 at VideoLAN / VLC

-- 
This project does not include diff previews in email notifications.
View it on GitLab: https://code.videolan.org/videolan/vlc/-/tree/3.0.21
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][3.0.x] 2 commits: Update PO

2024-06-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
52afb0c6 by Jean-Baptiste Kempf at 2024-06-05T17:43:50+02:00
Update PO

- - - - -
f5a1aa09 by Jean-Baptiste Kempf at 2024-06-05T17:44:26+02:00
Update NEWS for 3.0.21

- - - - -


5 changed files:

- NEWS
- po/ach.po
- po/af.po
- po/am.po
- po/am_ET.po


The diff was not included because it is too large.


View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/b28482b96b44559371c41107bd260d737682536a...f5a1aa0988e33856ade7660f73259692c5d51cb0

-- 
This project does not include diff previews in email notifications.
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/b28482b96b44559371c41107bd260d737682536a...f5a1aa0988e33856ade7660f73259692c5d51cb0
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][3.0.x] contrib: vpx: update to 1.14.1

2024-06-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
5cf1564d by Tristan Matthews at 2024-06-05T07:39:54+00:00
contrib: vpx: update to 1.14.1

 This release includes enhancements and bug fixes.

  - Upgrading:
This release is ABI compatible with the previous release.

  - Enhancement:
Improved the detection of compiler support for AArch64 extensions,
particularly SVE.

Added vpx_codec_get_global_headers() support for VP9.

  - Bug fixes:

Added buffer bounds checks to vpx_writer and vpx_write_bit_buffer.
Fix to GetSegmentationData() crash in aq_mode=0 for RTC rate control.
Fix to alloc for row_base_thresh_freq_fac.
Free row mt memory before freeing cpi-tile_data.
Fix to buffer alloc for vp9_bitstream_worker_data.
Fix to VP8 race issue for multi-thread with pnsr_calc.
Fix to uv width/height in vp9_scale_and_extend_frame_ssse3.
Fix to integer division by zero and overflow in calc_pframe_target_size().
Fix to integer overflow in vpx_img_alloc()  
vpx_img_wrap()(CVE-2024-5197).
Fix to UBSan error in vp9_rc_update_framerate().
Fix to UBSan errors in vp8_new_framerate().
Fix to integer overflow in vp8 encodeframe.c.
Handle EINTR from sem_wait().

(cherry picked from commit f7a2b4691b98238b219d5771d7633e4728fb079d)
(cherry picked from commit 3d230a44e93804a71bff8d60f5b67ee095cc96b5)

- - - - -


7 changed files:

- contrib/src/vpx/SHA512SUMS
- contrib/src/vpx/darwin-do-not-overwrite-ld.patch
- contrib/src/vpx/libvpx-android.patch
- contrib/src/vpx/libvpx-darwin-aarch64.patch
- contrib/src/vpx/libvpx-ios.patch
- + contrib/src/vpx/libvpx-remove-bitcode.patch
- contrib/src/vpx/rules.mak


Changes:

=
contrib/src/vpx/SHA512SUMS
=
@@ -1 +1 @@
-49706838563c92fab7334376848d0f374efcbc1729ef511e967c908fd2ecd40e8d197f1d85da6553b3a7026bdbc17e5a76595319858af26ce58cb9a4c3854897
  libvpx-1.13.1.tar.gz
+3e3bfad3d035c0bc3db7cb5a194d56d3c90f5963fb1ad527ae5252054e7c48ce2973de1346c97d94b59f7a95d4801bec44214cce10faf123f92b36fca79a8d1e
  libvpx-1.14.1.tar.gz


=
contrib/src/vpx/darwin-do-not-overwrite-ld.patch
=
@@ -1,6 +1,6 @@
 libvpx/configure.old   2020-05-13 21:15:06.0 +0200
-+++ libvpx/configure   2020-05-13 21:15:28.0 +0200
-@@ -758,8 +758,6 @@
+--- libvpx/configure   2024-05-29 16:00:23.0 -0400
 libvpx-1.14.1-new/configure2024-06-03 12:04:59.522240757 -0400
+@@ -803,8 +803,6 @@
  EOF
  ;;
  esac


=
contrib/src/vpx/libvpx-android.patch
=
@@ -1,17 +1,17 @@
-diff -ruw libvpx-1.13.0/vpx_ports/vpx_ports.mk 
libvpx-1.13.0-new/vpx_ports/vpx_ports.mk
 libvpx-1.13.0/vpx_ports/vpx_ports.mk   2023-02-07 20:33:51.0 
-0500
-+++ libvpx-1.13.0-new/vpx_ports/vpx_ports.mk   2023-03-24 11:42:44.133675374 
-0400
-@@ -37,6 +37,7 @@
+diff -ruw libvpx-1.14.0/vpx_ports/vpx_ports.mk 
libvpx-1.14.0-new/vpx_ports/vpx_ports.mk
+--- libvpx-1.14.0/vpx_ports/vpx_ports.mk   2024-01-09 16:12:22.0 
-0500
 libvpx-1.14.0-new/vpx_ports/vpx_ports.mk   2024-01-24 15:53:33.706974940 
-0500
+@@ -42,6 +42,7 @@
+ PORTS_SRCS-$(VPX_ARCH_ARM) += aarch32_cpudetect.c
  endif
- 
- PORTS_SRCS-$(VPX_ARCH_ARM) += arm_cpudetect.c
+ PORTS_SRCS-$(VPX_ARCH_ARM) += arm_cpudetect.h
 +PORTS_SRCS-$(VPX_ARCH_ARM) += cpu-features.c
  PORTS_SRCS-$(VPX_ARCH_ARM) += arm.h
  
  PORTS_SRCS-$(VPX_ARCH_PPC) += ppc_cpudetect.c
-diff -ruw libvpx-1.13.0/vpx_ports/x86_abi_support.asm 
libvpx-1.13.0-new/vpx_ports/x86_abi_support.asm
 libvpx-1.13.0/vpx_ports/x86_abi_support.asm2023-03-24 
11:46:57.104724909 -0400
-+++ libvpx-1.13.0-new/vpx_ports/x86_abi_support.asm2023-03-24 
11:47:48.824529092 -0400
+diff -ruw libvpx-1.14.0/vpx_ports/x86_abi_support.asm 
libvpx-1.14.0-new/vpx_ports/x86_abi_support.asm
+--- libvpx-1.14.0/vpx_ports/x86_abi_support.asm2024-01-09 
16:12:22.0 -0500
 libvpx-1.14.0-new/vpx_ports/x86_abi_support.asm2024-01-24 
15:52:25.911365246 -0500
 @@ -414,6 +414,7 @@
  
  ; On Android platforms use lrand48 when building postproc routines. Prior to L


=
contrib/src/vpx/libvpx-darwin-aarch64.patch
=
@@ -1,6 +1,6 @@
 libvpx-1.13.0/build/make/configure.sh  2023-02-07 20:33:51.0 
-0500
-+++ libvpx-1.13.0-new/build/make/configure.sh  2023-03-24 11:41:25.477967730 
-0400
-@@ -1119,7 +1119,7 @@
+--- libvpx-1.14.0/build/make/configure.sh  2024-01-24 14:51:54.835698759 
-0500
 libvpx-1.14.0-new/build/make/configure.sh  2024-01-24 14:54:28.595456073 
-0500
+@@ -1146,7 +1146,7 @@
  
  darwin)
if ! enabled external_build; then
@@ -9,7 +9,7 @@
  CXX="$(${XCRUN_FIND} clang++)"
  CC="$(${XCRUN_FIND} clang)&qu

[vlc-commits] [Git][videolan/vlc][3.0.x] direct3d11: fix CPU staging texture format

2024-06-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
c1b0be7c by Steve Lhomme at 2024-06-05T06:40:59+00:00
direct3d11: fix CPU staging texture format

After b6a3a8b19e5d4cb6a9ec79c08984e0db927dd98c we need to use the pool format.

- - - - -


1 changed file:

- modules/video_output/win32/direct3d11.c


Changes:

=
modules/video_output/win32/direct3d11.c
=
@@ -1893,7 +1893,7 @@ static int Direct3D11CreateFormatResources(vout_display_t 
*vd, const video_forma
 {
 /* we need a staging texture */
 ID3D11Texture2D *textures[D3D11_MAX_SHADER_VIEW] = {0};
-video_format_t surface_fmt = *fmt;
+video_format_t surface_fmt = sys->pool_fmt;
 surface_fmt.i_width  = sys->picQuad.i_width;
 surface_fmt.i_height = sys->picQuad.i_height;
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/c1b0be7cd46ac5955e08b457822c50b8a47a76ac

-- 
This project does not include diff previews in email notifications.
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/c1b0be7cd46ac5955e08b457822c50b8a47a76ac
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][3.0.x] 4 commits: amf_helper: add a macro to add namespace when using C++

2024-06-02 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
bfb2084a by Steve Lhomme at 2024-05-30T09:03:41+02:00
amf_helper: add a macro to add namespace when using C++

(cherry picked from commit 7bde5ce851f21b2a3223afe46f6692a07800f66c)

- - - - -
0b65cc7f by Steve Lhomme at 2024-05-30T09:04:20+02:00
amf_helper: share DXGIToAMF()

(cherry picked from commit 957db11f12c04a2c7b2b459f71b56b4878009d5c)

- - - - -
2ab7be5d by Steve Lhomme at 2024-05-30T09:04:36+02:00
configure: detect AMD VQEnhancer.h

(cherry picked from commit 9815b7eb436aa59772e59ef63c40bb5e81590883)

- - - - -
b351 by Steve Lhomme at 2024-05-30T09:04:50+02:00
video_filter: add AMD VQ Enhancer filter

(cherry picked from commit 4125ad5a96a48af7007439df74aec158ad8ad73b)

- - - - -


7 changed files:

- configure.ac
- modules/hw/amf/amf_helper.h
- modules/hw/d3d11/Makefile.am
- modules/hw/d3d11/d3d11_filters.c
- modules/hw/d3d11/d3d11_filters.h
- + modules/video_filter/amf_vqenhancer.c
- modules/video_output/win32/d3d11_scaler.cpp


Changes:

=
configure.ac
=
@@ -1824,7 +1824,7 @@ You can get an updated one from 
http://www.live555.com/liveMedia .])
 other_libs="$other_libs -lws2_32"
   ])
 
-  dnl We need to check for pic because live555 don't provide shared libs
+  dnl We need to check for pic because live555 do not provide shared libs
   dnl and we want to build a plugins so we need -fPIC on some arch.
   VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
   VLC_ADD_LDFLAGS([live555], [${LDFLAGS_live555}])
@@ -1945,7 +1945,7 @@ dnl
 dnl  AMD Advanced Media Framework API
 dnl
 AC_ARG_ENABLE([amf-scaler], AS_HELP_STRING([--disable-amf-scaler],
-  [disable AMD AMF API (default auto)]))
+  [disable AMD Scaler API (default auto)]))
 have_amf_scaler="no"
 AS_IF([test "$enable_amf_scaler" != "no"], [
   AC_CHECK_HEADERS([AMF/core/PropertyStorage.h AMF/components/HQScaler.h], [
@@ -1955,6 +1955,17 @@ AS_IF([test "$enable_amf_scaler" != "no"], [
 ])
 AM_CONDITIONAL([HAVE_AMF_SCALER], [test "${have_amf_scaler}" != "no"])
 
+AC_ARG_ENABLE([amf-enhancer], AS_HELP_STRING([--disable-amf-enhancer],
+  [disable AMD Enhancer API (default auto)]))
+have_amf_enhancer="no"
+AS_IF([test "$enable_amf_enhancer" != "no"], [
+  AC_CHECK_HEADERS([AMF/core/PropertyStorage.h AMF/components/VQEnhancer.h], [
+have_amf_enhancer="yes"
+AC_DEFINE(HAVE_AMF_ENHANCER, 1, AMD VQ Enhancer supported)
+  ])
+])
+AM_CONDITIONAL([HAVE_AMF_ENHANCER], [test "${have_amf_enhancer}" != "no"])
+
 dnl
 dnl special access module for Blackmagic SDI cards
 dnl


=
modules/hw/amf/amf_helper.h
=
@@ -11,25 +11,46 @@
 #include 
 #include 
 
+#ifdef _WIN32
+#include "../../video_chroma/d3d11_fmt.h"
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-struct vlc_amf_context
-{
 #ifdef __cplusplus
-amf::AMFFactory *pFactory;
-amf::AMFContext *Context;
+#define AMT_TYPE(t)  amf::t
 #else
-AMFFactory  *pFactory;
-AMFContext  *Context;
+#define AMT_TYPE(t)  t
 #endif
+
+struct vlc_amf_context
+{
+AMT_TYPE(AMFFactory) *pFactory;
+AMT_TYPE(AMFContext) *Context;
 void*Private;
 };
 
 int vlc_AMFCreateContext(struct vlc_amf_context *);
 void vlc_AMFReleaseContext(struct vlc_amf_context *);
 
+#ifdef _WIN32
+static inline AMT_TYPE(AMF_SURFACE_FORMAT) DXGIToAMF(DXGI_FORMAT fmt)
+{
+switch (fmt)
+{
+case DXGI_FORMAT_NV12: return AMT_TYPE(AMF_SURFACE_NV12);
+case DXGI_FORMAT_P010: return AMT_TYPE(AMF_SURFACE_P010);
+case DXGI_FORMAT_P016: return AMT_TYPE(AMF_SURFACE_P016);
+case DXGI_FORMAT_B8G8R8A8_UNORM: return AMT_TYPE(AMF_SURFACE_BGRA);
+case DXGI_FORMAT_R8G8B8A8_UNORM: return AMT_TYPE(AMF_SURFACE_RGBA);
+case DXGI_FORMAT_R10G10B10A2_UNORM: return 
AMT_TYPE(AMF_SURFACE_R10G10B10A2);
+default: return AMT_TYPE(AMF_SURFACE_UNKNOWN);
+}
+}
+#endif
+
 #ifdef __cplusplus
 } // extern "C"
 #endif


=
modules/hw/d3d11/Makefile.am
=
@@ -11,6 +11,11 @@ if HAVE_WINSTORE
 libdirect3d11_filters_plugin_la_LIBADD += -ld3d11
 endif
 
+if HAVE_AMF_ENHANCER
+libdirect3d11_filters_plugin_la_SOURCES += video_filter/amf_vqenhancer.c \
+hw/amf/amf_helper.c hw/amf/amf_helper.h
+endif
+
 d3d11_LTLIBRARIES = $(LTLIBdirect3d11_filters)
 EXTRA_LTLIBRARIES += libdirect3d11_filters_plugin.la
 


=
modules/hw/d3d11/d3d11_filters.c
=
@@ -665,6 +665,13 @@ vlc_module_begin()
 set_callbacks( D3D11OpenDeinterlace, D3D11CloseDeinterlace )
 add_shortcut ("deinterlace")
 
+#ifdef HAVE_AMF

[vlc-commits] [Git][videolan/vlc][master] 2 commits: test: tls: use test_setup() for VLC_PLUGIN_PATH

2024-06-01 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
d2e4baf0 by Alexandre Janniaux at 2024-06-01T11:18:30+00:00
test: tls: use test_setup() for VLC_PLUGIN_PATH

test_setup() will setup the VLC_PLUGIN_PATH in a reliable way.

- - - - -
61d8527f by Alexandre Janniaux at 2024-06-01T11:18:30+00:00
test: tls: switch to TOP_SRCDIR

TOP_SRCDIR is an absolute path, meaning that the result of the test
will not depend from where the test is run.

- - - - -


1 changed file:

- test/modules/misc/tls.c


Changes:

=
test/modules/misc/tls.c
=
@@ -34,6 +34,8 @@
 #endif
 #include 
 
+#include "../../libvlc/test.h"
+
 #include 
 #include 
 #include 
@@ -113,7 +115,7 @@ static vlc_tls_t *securepair(vlc_thread_t *th,
 return client;
 }
 
-#define CERTDIR SRCDIR "/samples/certs"
+#define CERTDIR TOP_SRCDIR "/test/samples/certs"
 #define CERTFILE CERTDIR "/certkey.pem"
 
 static const char *const test_cert_argv[] = {
@@ -131,7 +133,7 @@ int main(void)
 char *alp;
 int val;
 
-setenv("VLC_PLUGIN_PATH", "../modules", 1);
+test_setup();
 
 /*** Tests with normal certs database - server cert not acceptable. ***/
 vlc = libvlc_new(0, NULL);



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/0acc38bf27a65d1155b8611dacce700bad44f679...61d8527f544030f79e5301c8281abda1c8abdbaa

-- 
This project does not include diff previews in email notifications.
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/0acc38bf27a65d1155b8611dacce700bad44f679...61d8527f544030f79e5301c8281abda1c8abdbaa
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: show full player when pip player is double clicked

2024-05-27 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
380487aa by Fatih Uzunoglu at 2024-05-27T18:01:15+00:00
qml: show full player when pip player is double clicked

- - - - -


1 changed file:

- modules/gui/qt/player/qml/PIPPlayer.qml


Changes:

=
modules/gui/qt/player/qml/PIPPlayer.qml
=
@@ -74,6 +74,7 @@ Item {
 
 hoverEnabled: true
 onClicked: MainPlaylistController.togglePlayPause()
+onDoubleClicked: History.push(["player"])
 
 enabled: root.enabled
 visible: root.visible



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/380487aa3d6003b9023dfc7c1a389c3f9ec1f48a

-- 
This project does not include diff previews in email notifications.
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/380487aa3d6003b9023dfc7c1a389c3f9ec1f48a
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 2 commits: Revert "contrib: qtbase: disable feature `mdiarea`"

2024-05-26 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
bdad7d3d by Fatih Uzunoglu at 2024-05-26T14:15:07+00:00
Revert contrib: qtbase: disable feature `mdiarea`

This reverts commit e7a748baa97e47157620bceb6d16fa0977d70fe9.

This is required for Qt 6.7.1 Modern Windows Style.

- - - - -
71d385ab by Fatih Uzunoglu at 2024-05-26T14:15:07+00:00
contrib: qt: update to 6.7.1

- - - - -


12 changed files:

- contrib/src/qt/SHA512SUMS
- contrib/src/qt/rules.mak
- contrib/src/qt5compat/SHA512SUMS
- contrib/src/qt5compat/rules.mak
- contrib/src/qtdeclarative/SHA512SUMS
- contrib/src/qtdeclarative/rules.mak
- contrib/src/qtshadertools/SHA512SUMS
- contrib/src/qtshadertools/rules.mak
- contrib/src/qtsvg/SHA512SUMS
- contrib/src/qtsvg/rules.mak
- contrib/src/qtwayland/SHA512SUMS
- contrib/src/qtwayland/rules.mak


Changes:

=
contrib/src/qt/SHA512SUMS
=
@@ -1 +1 @@
-72896cc5a677361779f49d60dbdfc33a21d77bd479e0586b0beb03eee2016d613aee56e798143a489431a07a5e7a7db4c7c046105a11b63dd178768f3a7f195a
 qtbase-everywhere-src-6.7.0.tar.xz
+864bebfc3659907e52b8dc3f62a65d431573ef2bf406a9f71c688229083a2128c5474f75823275d11948be3d031de1d6427acf373f977df9ee9e73a27ef56efb
 qtbase-everywhere-src-6.7.1.tar.xz


=
contrib/src/qt/rules.mak
=
@@ -1,7 +1,7 @@
 # qtbase
 
 QTBASE_VERSION_MAJOR := 6.7
-QTBASE_VERSION := $(QTBASE_VERSION_MAJOR).0
+QTBASE_VERSION := $(QTBASE_VERSION_MAJOR).1
 # Insert potential -betaX suffix here:
 QTBASE_VERSION_FULL := $(QTBASE_VERSION)
 QTBASE_URL := 
$(QT)/$(QTBASE_VERSION_MAJOR)/$(QTBASE_VERSION_FULL)/submodules/qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz
@@ -83,7 +83,7 @@ QTBASE_CONFIG += -static -opensource -confirm-license 
-no-pkg-config -no-openssl
-no-feature-xml -no-feature-printsupport -system-libpng -system-zlib 
-no-feature-network \
-no-feature-movie -no-feature-pdf -no-feature-whatsthis 
-no-feature-lcdnumber \
-no-feature-syntaxhighlighter -no-feature-undoview 
-no-feature-splashscreen \
-   -no-feature-dockwidget -no-feature-mdiarea -no-feature-statusbar 
-no-feature-statustip \
+   -no-feature-dockwidget -no-feature-statusbar -no-feature-statustip \
-no-feature-keysequenceedit -no-feature-pkg-config \
-nomake examples -prefix $(PREFIX) -qt-host-path $(BUILDPREFIX) \
-- -DCMAKE_TOOLCHAIN_FILE=$(abspath toolchain.cmake)


=
contrib/src/qt5compat/SHA512SUMS
=
@@ -1 +1 @@
-92115ca88b839171cf69360e0c3add64bb84305fdc28b9459da5eb69df79bfc2884616991ada898242e3614ac4f188dd76aa17889b5fb7fa72316a11efd61c85
 qt5compat-everywhere-src-6.7.0.tar.xz
+f6a3552f6aefab374bf3e483774dff10c9aaebee7085b81b1487a0ed6fb7cff072d9f97bd199ff3e9fef6838d93aa015dec58c5b5e11f6eb4fb062a0ca015e52
 qt5compat-everywhere-src-6.7.1.tar.xz


=
contrib/src/qt5compat/rules.mak
=
@@ -1,7 +1,7 @@
 # Qt5Compat
 
 QT5COMPAT_VERSION_MAJOR := 6.7
-QT5COMPAT_VERSION := $(QT5COMPAT_VERSION_MAJOR).0
+QT5COMPAT_VERSION := $(QT5COMPAT_VERSION_MAJOR).1
 QT5COMPAT_URL := 
$(QT)/$(QT5COMPAT_VERSION_MAJOR)/$(QT5COMPAT_VERSION)/submodules/qt5compat-everywhere-src-$(QT5COMPAT_VERSION).tar.xz
 
 DEPS_qt5compat += qtdeclarative $(DEPS_qtdeclarative)


=
contrib/src/qtdeclarative/SHA512SUMS
=
@@ -1 +1 @@
-b189f3fc4ae9ad3e5c26aa56696b97cb2f1894cb23110928a31e5a62fb779578b492bec2f4dda5b31958a33eb2571ec4e1085ae6864442507be3ae0da83c96ee
 qtdeclarative-everywhere-src-6.7.0.tar.xz
+77cdd31f2efa6e677755477b14c7770afa51b81cc7626ef21ebccf52ce69173a73b03851b0b491766f816e0cc946e6f238f8c7c70ad121d56428fe513e50a4d0
 qtdeclarative-everywhere-src-6.7.1.tar.xz


=
contrib/src/qtdeclarative/rules.mak
=
@@ -1,7 +1,7 @@
 # QtDeclarative
 
 QTDECLARATIVE_VERSION_MAJOR := 6.7
-QTDECLARATIVE_VERSION := $(QTDECLARATIVE_VERSION_MAJOR).0
+QTDECLARATIVE_VERSION := $(QTDECLARATIVE_VERSION_MAJOR).1
 QTDECLARATIVE_URL := 
$(QT)/$(QTDECLARATIVE_VERSION_MAJOR)/$(QTDECLARATIVE_VERSION)/submodules/qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz
 
 DEPS_qtdeclarative-tools = qt-tools $(DEPS_qt-tools) qtshadertools-tools 
$(DEPS_qtshadertools-tools)


=
contrib/src/qtshadertools/SHA512SUMS
=
@@ -1 +1 @@
-30f737093fcdba6b247425c21f15d5682454255fdcf04cbe9f822e5b549dcdbb6fa519bfbcd0f2ba8acfa775cec7c30a630b61d50e00afa8c017ae9a16a73497
 qtshadertools-everywhere-src-6.7.0.tar.xz
+8de9659e11c8b0048fd0af7616aec9a3395a3844f5e24740a88ffd7c3acffba041150338e2a3b7986006edd77a557bb944992b082191d2d959aae511fbc35dc6
 qtshadertools-everywhere-src-6.7.1.tar.xz


=
contrib/src

[vlc-commits] [Git][videolan/vlc][master] 13 commits: macosx: Use displayStrings rather than title for album in VLCLibraryAlbumTableCellView

2024-05-25 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
0c44e518 by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Use displayStrings rather than title for album in 
VLCLibraryAlbumTableCellView

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
ed114482 by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Do not provide placeholder strings within media library-matching data 
type properties, provide only in display strings

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

f

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
4a5ccb5b by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Fix secondary buttons on media item supplementary detail view getting 
compressed to height 0

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
3729f895 by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Add properties to get current collection item count and the library 
models stored item count

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
a98e7f42 by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Do not reset state of awaiting present library item in audio view 
controller until displayed collection matches actual library model count

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
540ab52f by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Update library segment type when presenting an audio item which changes 
the audio segment type

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
d2d068c8 by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Remove now unused outlet for segmentedTitleControl

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
23a6f320 by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Properly update sidebar state when updating segment in audio view 
controller

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
fef8b7b4 by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Update navigation sidebar directly in audio view controlelr current 
segment type setter

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
ee95e68f by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Remove audio view controller segment property, have one source of truth 
for library segment

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
064ba2b5 by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Fix view mode in presenting library item for audio view

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
2443aa25 by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Fix crash when accessing carousel count before collection array 
initialised in home view video container view data source

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
c85ace4b by Claudio Cambra at 2024-05-25T18:13:00+00:00
macosx: Use NO for NSAsserts meant to never be reached

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


10 changed files:

- 
modules/gui/macosx/UI/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.xib
- modules/gui/macosx/library/VLCLibraryDataTypes.m
- modules/gui/macosx/library/VLCLibraryWindow.h
- modules/gui/macosx/library/VLCLibraryWindow.m
- modules/gui/macosx/library/audio-library/VLCLibraryAlbumTableCellView.m
- modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.h
- modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.m
- modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.h
- modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.m
- 
modules/gui/macosx/library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.m


Changes:

=
modules/gui/macosx/UI/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.xib
=
@@ -100,6 +100,9 @@
 
 
 
+
+
+
 
 
 
@@ -111,6 +114,9 @@
 
 
 
+
+
+
 
 
 


=
modules/gui/macosx/library/VLCLibraryDataTypes.m
=
@@ -127,8 +127,8 @@ static NSString

[vlc-commits] [Git][videolan/vlc][master] contrib/gsm: use $MAKE as appropriate

2024-05-25 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
cd09eb53 by Sean McGovern at 2024-05-25T08:24:36+00:00
contrib/gsm: use $MAKE as appropriate

- - - - -


1 changed file:

- contrib/src/gsm/rules.mak


Changes:

=
contrib/src/gsm/rules.mak
=
@@ -23,6 +23,7 @@ gsm: gsm-$(GSM_MAJVERSION)-pl$(GSM_MINVERSION).tar.gz .sum-gsm
sed -i.orig 's,^.c.o:,#.c.o:,' "$(UNPACK_DIR)/Makefile"
sed -i.orig 's,^$$(CC),#$$(CC),' 
"$(UNPACK_DIR)/Makefile"
sed -i.orig 's,^@-mv,#  @-mv,' 
"$(UNPACK_DIR)/Makefile"
+   sed -i.orig 's,make \$$,$$(MAKE) \$$,' "$(UNPACK_DIR)/Makefile"
$(MOVE)
 
 GSM_ENV := GSM_INSTALL_ROOT="$(PREFIX)" \



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/cd09eb53a8201ea624db95d23073c34b69c64a33

-- 
This project does not include diff previews in email notifications.
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/cd09eb53a8201ea624db95d23073c34b69c64a33
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qt: workaround for `undefined reference to `qt_version_tag'` error

2024-05-19 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
a717ae5d by Fatih Uzunoglu at 2024-05-19T16:38:53+00:00
qt: workaround for `undefined reference to `qt_version_tag` error

KF6WindowSystem requires Qt6Gui, but not Qt6Core.
And Qt6Gui does not require Qt6Core.

The symbol `qt_version_tag` is available in Qt6Core.

- - - - -


1 changed file:

- modules/gui/qt/Makefile.am


Changes:

=
modules/gui/qt/Makefile.am
=
@@ -623,7 +623,7 @@ if HAVE_KF6WINDOWSYSTEM
 libqt_plugin_la_CPPFLAGS += -DQT_HAS_KWINDOWSYSTEM_PLUGIN
 
 libqt_kwindowsystem_plugin_la_CXXFLAGS = $(AM_CXXFLAGS) 
$(KF6WINDOWSYSTEM_CFLAGS)
-libqt_kwindowsystem_plugin_la_LIBADD =  $(KF6WINDOWSYSTEM_LIBS)
+libqt_kwindowsystem_plugin_la_LIBADD =  $(KF6WINDOWSYSTEM_LIBS) $(QT_LIBS)
 libqt_kwindowsystem_plugin_la_SOURCES = \
maininterface/kwindowsystem_module.cpp
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/a717ae5d428eee88576c2dd77d60e7f97fbd9341

-- 
This project does not include diff previews in email notifications.
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/a717ae5d428eee88576c2dd77d60e7f97fbd9341
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 2 commits: contrib: stop lua from blocking pkgconfig path

2024-05-18 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
3523bd1a by Khalid Masum at 2024-05-18T14:42:11+00:00
contrib: stop lua from blocking pkgconfig path

If $PREFIX/lib/pkgconfig/ directory already not created, lua puts lua.pc
as $PREFIX/lib/pkgconfig file. Therefore $PREFIX/lib/pkgconfig cannot be
created or used by any other contrib tools.

This causes various other tools that need to put pkgconfig in that
directory (including lua itself) fail to finish the building process.

Fix this by creating a pkgconfig directory if it does not exist before
lua build tries to copy pkgconfig there.

- - - - -
0346060d by Khalid Masum at 2024-05-18T14:42:11+00:00
contrib: lua: Remove unwanted make-entry string from lua.pc

Currently, when creating lua.pc, unwanted strings are added into the
file, for example, inspecting a lua.pc file from
$PREFIX/lib/pkgconfig/lua.pc gives:

make[2]: Entering directory foo/bar
intended lua.pc content here
make[2]: Leaving directory foo/bar

Mitigate this by using --no-print-directory flag when running the internal
make command from its Makefile.

- - - - -


1 changed file:

- contrib/src/lua/Create-and-install-a-.pc-file.patch


Changes:

=
contrib/src/lua/Create-and-install-a-.pc-file.patch
=
@@ -33,11 +33,12 @@ index f3bf10c..3e327ee 100644
  
 -install: dummy
 +lua.pc:
-+  $(MAKE) pc > lua.pc
++  $(MAKE) --no-print-directory pc > lua.pc
 +
 +
 +install: dummy $(TO_PKGCONFIG)
-   cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) 
$(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+-  cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) 
$(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
++  cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) 
$(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) $(INSTALL_LIB_PKGCONFIG)
cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/09736fa6060667b9a86d86c2541447a696a78f82...0346060dd5c80ddb4286d2a9fd25c76aacc2a9c5

-- 
This project does not include diff previews in email notifications.
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/09736fa6060667b9a86d86c2541447a696a78f82...0346060dd5c80ddb4286d2a9fd25c76aacc2a9c5
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: do not accept all drag enter events in MainInterface drop area

2024-05-18 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
09736fa6 by Fatih Uzunoglu at 2024-05-18T14:17:16+00:00
qml: do not accept all drag enter events in MainInterface drop area

- - - - -


1 changed file:

- modules/gui/qt/maininterface/qml/MainInterface.qml


Changes:

=
modules/gui/qt/maininterface/qml/MainInterface.qml
=
@@ -203,6 +203,20 @@ Item {
 
 DropArea {
 anchors.fill: parent
+
+onEntered: (drag) => {
+// Do not handle internal drag here:
+if (!drag.source) {
+// Foreign drag, check if valid:
+if (drop.hasUrls || drop.hasText) {
+drag.accepted = true
+return
+}
+}
+
+drag.accepted = false
+}
+
 onDropped: (drop) => {
 let urls = []
 if (drop.hasUrls) {



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/09736fa6060667b9a86d86c2541447a696a78f82

-- 
This project does not include diff previews in email notifications.
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/09736fa6060667b9a86d86c2541447a696a78f82
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][3.0.x] contrib: gme: backport assert patch

2024-05-17 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
5a6996ed by Thomas Guillem at 2024-05-17T08:45:15+02:00
contrib: gme: backport assert patch

assert() may be disabled and you dont want to abort a whole process in
case of a parsing issue. So check the offset from samples_avail(), that
will return 0 (EOF) in case of a out of bounds read.

Patch already upstream.

(cherry picked from commit 8205482c3ad8436c244f04b7a09e94b7acf9c66e)
Signed-off-by: Thomas Guillem tho...@gllm.fr

- - - - -


2 changed files:

- + contrib/src/gme/0004-Blip_Buffer-replace-assert-with-a-check.patch
- contrib/src/gme/rules.mak


Changes:

=
contrib/src/gme/0004-Blip_Buffer-replace-assert-with-a-check.patch
=
@@ -0,0 +1,45 @@
+From 74449b553fef6528e1fd9d2dccc6413ded1d5e39 Mon Sep 17 00:00:00 2001
+From: Thomas Guillem 
+Date: Wed, 15 May 2024 14:34:59 +0200
+Subject: [PATCH] Blip_Buffer: replace assert with a check
+
+assert() may be disabled and you don't want to abort a whole process in
+case of a parsing issue. So check the offset from samples_avail(), that
+will return 0 (EOF) in case of a out of bounds read.
+---
+ gme/Blip_Buffer.cpp | 1 -
+ gme/Blip_Buffer.h   | 6 +-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/gme/Blip_Buffer.cpp b/gme/Blip_Buffer.cpp
+index 71e48b2..7d2faf3 100644
+--- a/gme/Blip_Buffer.cpp
 b/gme/Blip_Buffer.cpp
+@@ -144,7 +144,6 @@ void Blip_Buffer::bass_freq( int freq )
+ void Blip_Buffer::end_frame( blip_time_t t )
+ {
+   offset_ += t * factor_;
+-  assert( samples_avail() <= (long) buffer_size_ ); // time outside 
buffer length
+ }
+ 
+ void Blip_Buffer::remove_silence( long count )
+diff --git a/gme/Blip_Buffer.h b/gme/Blip_Buffer.h
+index 9af53f7..ea109d7 100644
+--- a/gme/Blip_Buffer.h
 b/gme/Blip_Buffer.h
+@@ -475,7 +475,11 @@ inline blip_eq_t::blip_eq_t( double t, long rf, long sr, 
long cf ) :
+   treble( t ), rolloff_freq( rf ), sample_rate( sr ), 
cutoff_freq( cf ) { }
+ 
+ inline int  Blip_Buffer::length() const { return length_; }
+-inline long Blip_Buffer::samples_avail() const  { return (long) (offset_ >> 
BLIP_BUFFER_ACCURACY); }
++inline long Blip_Buffer::samples_avail() const
++{
++long samples = (long) (offset_ >> BLIP_BUFFER_ACCURACY);
++return samples <= (long) buffer_size_ ? samples : 0;
++}
+ inline long Blip_Buffer::sample_rate() const{ return sample_rate_; }
+ inline int  Blip_Buffer::output_latency() const { return blip_widest_impulse_ 
/ 2; }
+ inline long Blip_Buffer::clock_rate() const { return clock_rate_; }
+-- 
+2.39.2
+


=
contrib/src/gme/rules.mak
=
@@ -19,6 +19,7 @@ game-music-emu: game-music-emu-$(GME_VERSION).tar.xz .sum-gme
 ifdef HAVE_MACOSX
$(APPLY) $(SRC)/gme/mac-use-c-stdlib.patch
 endif
+   $(APPLY) $(SRC)/gme/0004-Blip_Buffer-replace-assert-with-a-check.patch
$(call pkg_static,"gme/libgme.pc.in")
$(MOVE)
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/5a6996ed26fc5e6c33813469b68cf9846ce43ce7

-- 
This project does not include diff previews in email notifications.
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/5a6996ed26fc5e6c33813469b68cf9846ce43ce7
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 2 commits: coreaudio: don't send timing when not started

2024-05-15 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
79ecf3ba by Thomas Guillem at 2024-05-16T05:40:20+00:00
coreaudio: dont send timing when not started

A first timing was sent with ts = 0 (so pts = 1, fixed by the core) with
a valid system date. This could cause invalid start (video glitches if
master, audio glitch if slave).

- - - - -
b42481c7 by Thomas Guillem at 2024-05-16T05:40:20+00:00
aout: handle pts in TimingReport()

Timing reports are now based on the pts of the first block.

This will allow finer controls by modules in case of PTS discontinuity
(not yet handled).

- - - - -


11 changed files:

- include/vlc_aout.h
- modules/audio_output/adummy.c
- modules/audio_output/android/aaudio.c
- modules/audio_output/android/audiotrack.c
- modules/audio_output/apple/avsamplebuffer.m
- modules/audio_output/apple/coreaudio_common.c
- modules/audio_output/apple/coreaudio_common.h
- modules/audio_output/pulse.c
- modules/audio_output/wasapi.c
- src/audio_output/dec.c
- test/src/player/player.c


Changes:

=
include/vlc_aout.h
=
@@ -317,15 +317,13 @@ struct audio_output
  * \param aout the audio output instance
  * \param system_ts system timestamp when audio_ts is played, based on
  * vlc_tick_now(), can be now, in the past or in the future.
- * \param audio_ts audio timestamp played at system_ts, starts at 0 for the
- * first sample played (must not take block->i_pts, passed in play(), into
- * account).
- *
+ * \param audio_pts audio timestamp played at system_ts, starts at block->i_pts
+ * for the first sample played.
  */
 static inline void aout_TimingReport(audio_output_t *aout, vlc_tick_t 
system_ts,
- vlc_tick_t audio_ts)
+ vlc_tick_t audio_pts)
 {
-aout->events->timing_report(aout, system_ts, audio_ts);
+aout->events->timing_report(aout, system_ts, audio_pts);
 }
 
 /**


=
modules/audio_output/adummy.c
=
@@ -42,6 +42,7 @@ vlc_module_end ()
 
 struct aout_sys
 {
+vlc_tick_t first_pts;
 vlc_tick_t first_play_date;
 vlc_tick_t last_timing_date;
 vlc_tick_t paused_date;
@@ -52,7 +53,11 @@ static void Play(audio_output_t *aout, block_t *block, 
vlc_tick_t date)
 struct aout_sys *sys = aout->sys;
 
 if (unlikely(sys->first_play_date == VLC_TICK_INVALID))
+{
+assert(sys->first_pts == VLC_TICK_INVALID);
 sys->first_play_date = date;
+sys->first_pts = block->i_pts;
+}
 
 block_Release( block );
 
@@ -65,7 +70,8 @@ static void Play(audio_output_t *aout, block_t *block, 
vlc_tick_t date)
 now - sys->last_timing_date >= VLC_TICK_FROM_SEC(1))
 {
 sys->last_timing_date = now;
-aout_TimingReport(aout, now, now - sys->first_play_date);
+aout_TimingReport(aout, now,
+  now - sys->first_play_date + sys->first_pts);
 }
 }
 
@@ -86,6 +92,7 @@ static void Flush(audio_output_t *aout)
 struct aout_sys *sys = aout->sys;
 
 sys->first_play_date = sys->last_timing_date = VLC_TICK_INVALID;
+sys->first_pts = VLC_TICK_INVALID;
 sys->paused_date = VLC_TICK_INVALID;
 }
 
@@ -135,6 +142,7 @@ static int Open(vlc_object_t *obj)
 if (!sys)
 return VLC_ENOMEM;
 sys->first_play_date = sys->last_timing_date = VLC_TICK_INVALID;
+sys->first_pts = VLC_TICK_INVALID;
 sys->paused_date = VLC_TICK_INVALID;
 
 aout->start = Start;


=
modules/audio_output/android/aaudio.c
=
@@ -80,6 +80,7 @@ struct sys
 size_t timing_report_last_written_bytes;
 /* Number of bytes to write before sending a timing report */
 size_t timing_report_delay_bytes;
+vlc_tick_t first_pts;
 };
 
 /* dlopen/dlsym symbols */
@@ -454,7 +455,8 @@ DataCallback(AAudioStream *as, void *user, void *data_, 
int32_t num_frames)
 /* Add the start silence to the system time and don't subtract
  * it from pos_ticks to avoid (unlikely) negatives ts */
 system_ts += BytesToTicks(sys, sys->start_silence_bytes);
-aout_stream_TimingReport(stream, system_ts, pos_ticks);
+aout_stream_TimingReport(stream, system_ts,
+ pos_ticks + sys->first_pts);
 }
 
 memcpy(data, f->p_buffer, tocopy);
@@ -620,6 +622,8 @@ Play(aout_stream_t *stream, vlc_frame_t *frame, vlc_tick_t 
date)
 {
 vlc_tick_t now = vlc_tick_now();
 sys->first_play_date = date - BytesToTicks(sys, 
sys->frames_total_bytes);
+if (sys->first_pts == VLC_TICK_INVALID)
+sys->first_pts = frame->i_pts;
 
 if (sys->first_play_date > now)
 msg_Dbg(stream, "

[vlc-commits] [Git][videolan/vlc][master] 3 commits: macosx: Limit trailing edge of hero view stack view

2024-05-12 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
a85531c4 by Claudio Cambra at 2024-05-12T14:28:22+00:00
macosx: Limit trailing edge of hero view stack view

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
8d1c820b by Claudio Cambra at 2024-05-12T14:28:22+00:00
macosx: Lower compression resistance priority of stack view components

Prevents the child views of the stack view resizing the stack view past the 
size of the super view

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
7f94bd85 by Claudio Cambra at 2024-05-12T14:28:22+00:00
macosx: Limit detail string for hero view to one line

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


1 changed file:

- modules/gui/macosx/UI/VLCLibraryHeroView.xib


Changes:

=
modules/gui/macosx/UI/VLCLibraryHeroView.xib
=
@@ -29,7 +29,7 @@
 
 
 
-
+
 
 
 
@@ -40,19 +40,19 @@
 
 
 
-
+
 
 
 
 
-
+
 
 
 
 
 
-
-
+
+
 
 
 
@@ -86,6 +86,7 @@
 
 
 
+
 
 
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/928e8fea7d1ed8c0917da12d32d960cab55e40a9...7f94bd8563c1f212b2389b679c26e8b54a35391a

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/928e8fea7d1ed8c0917da12d32d960cab55e40a9...7f94bd8563c1f212b2389b679c26e8b54a35391a
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 2 commits: macosx: Avoid crashing upon clicking collection view item when receiving nil index path

2024-05-12 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
f54dc525 by Claudio Cambra at 2024-05-12T13:19:00+00:00
macosx: Avoid crashing upon clicking collection view item when receiving nil 
index path

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
928e8fea by Claudio Cambra at 2024-05-12T13:19:00+00:00
macosx: Log when receiving nil index path on mouse down of collection view item

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


1 changed file:

- modules/gui/macosx/library/VLCLibraryCollectionViewItem.m


Changes:

=
modules/gui/macosx/library/VLCLibraryCollectionViewItem.m
=
@@ -297,6 +297,11 @@ const CGFloat 
VLCLibraryCollectionViewItemMaximumDisplayedProgress = 0.95;
[self.collectionView.dataSource 
conformsToProtocol:@protocol(VLCLibraryCollectionViewDataSource)]) {
 NSObject * const dataSource = 
(NSObject *)self.collectionView.dataSource;
 NSIndexPath * const indexPath = [dataSource 
indexPathForLibraryItem:self.representedItem.item];
+if (indexPath == nil) {
+NSLog(@"Received nil indexPath for item %@!", 
self.representedItem.item.displayString);
+return;
+}
+
 NSSet * const indexPathSet = [NSSet 
setWithObject:indexPath];
 [self.collectionView deselectItemsAtIndexPaths:indexPathSet];
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/f3693fe723041082b997cf0eb685e230c9ac90f0...928e8fea7d1ed8c0917da12d32d960cab55e40a9

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/f3693fe723041082b997cf0eb685e230c9ac90f0...928e8fea7d1ed8c0917da12d32d960cab55e40a9
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 2 commits: macosx: Fix valid album string check for length in playlist table cell view

2024-05-11 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
83a1b518 by Claudio Cambra at 2024-05-11T19:57:49+00:00
macosx: Fix valid album string check for length in playlist table cell view

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
f3693fe7 by Claudio Cambra at 2024-05-11T19:57:49+00:00
macosx: Set default value for song detail string in playlist table cell view

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


1 changed file:

- modules/gui/macosx/playlist/VLCPlaylistTableCellView.m


Changes:

=
modules/gui/macosx/playlist/VLCPlaylistTableCellView.m
=
@@ -84,9 +84,9 @@
 }];
 
 const BOOL validArtistString = item.artistName && item.artistName.length > 
0;
-const BOOL validAlbumString = item.albumName && item.albumName > 0;
+const BOOL validAlbumString = item.albumName && item.albumName.length > 0;
 
-NSString *songDetailString;
+NSString *songDetailString = @"";
 
 if (validArtistString && validAlbumString) {
 songDetailString = [NSString stringWithFormat:@"%@ · %@", 
item.artistName, item.albumName];



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/bebcc89c3835222e6e879ad955222951a18cbef5...f3693fe723041082b997cf0eb685e230c9ac90f0

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/bebcc89c3835222e6e879ad955222951a18cbef5...f3693fe723041082b997cf0eb685e230c9ac90f0
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] macosx: Add elide to audio group header view title

2024-05-11 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
bebcc89c by Claudio Cambra at 2024-05-11T16:17:57+00:00
macosx: Add elide to audio group header view title

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


1 changed file:

- modules/gui/macosx/UI/VLCLibraryAudioGroupHeaderView.xib


Changes:

=
modules/gui/macosx/UI/VLCLibraryAudioGroupHeaderView.xib
=
@@ -23,7 +23,7 @@
 
 
 
-
+
 
 
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/bebcc89c3835222e6e879ad955222951a18cbef5

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/bebcc89c3835222e6e879ad955222951a18cbef5
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][3.0.x] http: allow short response byte range

2024-05-11 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
d9b0f2b6 by Rémi Denis-Courmont at 2024-05-10T18:03:51+03:00
http: allow short response byte range

RFC9110 specifies that a client must handle a shorter response range
than requested in all circumstanges. Previously, RFC7233 only required
that behaviour for multipart ranges, which VLC did not use.

This matches the newer specification: VLC will try to resume from the
last received offset not only on unexpected error, but also on short
response.

Fixes #28627.

(cherry picked from commit 90dc0a023f6ceee591f6464367efae65f2ccf6e7)

- - - - -


1 changed file:

- modules/access/http/file.c


Changes:

=
modules/access/http/file.c
=
@@ -235,20 +235,21 @@ block_t *vlc_http_file_read(struct vlc_http_resource *res)
 block_t *block = vlc_http_res_read(res);
 
 if (block == vlc_http_error)
-{   /* Automatically reconnect on error if server supports seek */
-if (res->response != NULL
- && vlc_http_msg_can_seek(res->response)
- && file->offset < vlc_http_msg_get_file_size(res->response)
- && vlc_http_file_seek(res, file->offset) == 0)
-block = vlc_http_res_read(res);
+block = NULL;
+
+/* Automatically resume on short response or error if possible */
+if (block == NULL && res->response != NULL
+ && vlc_http_msg_can_seek(res->response)
+ && file->offset < vlc_http_msg_get_file_size(res->response)
+ && vlc_http_file_seek(res, file->offset) == 0)
+{
+block = vlc_http_res_read(res);
 
 if (block == vlc_http_error)
-return NULL;
+block = NULL; /* Non-recovered error */
 }
 
-if (block == NULL)
-return NULL; /* End of stream */
-
-file->offset += block->i_buffer;
+if (block != NULL)
+file->offset += block->i_buffer;
 return block;
 }



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/d9b0f2b638fa78cec95ab5f39e855ab65dc3e83b

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/d9b0f2b638fa78cec95ab5f39e855ab65dc3e83b
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] macosx: Do not show horizontal scroller on audio grouping table view

2024-05-11 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
1fa42f74 by Claudio Cambra at 2024-05-11T14:47:33+00:00
macosx: Do not show horizontal scroller on audio grouping table view

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


1 changed file:

- modules/gui/macosx/UI/VLCLibraryWindow.xib


Changes:

=
modules/gui/macosx/UI/VLCLibraryWindow.xib
=
@@ -927,7 +927,7 @@
 
 
 
-
+
 
 
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/1fa42f744e75fc7b67578e407f34624c088cbc14

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/1fa42f744e75fc7b67578e407f34624c088cbc14
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: fix grouping in video views

2024-05-11 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
04ba6eb3 by Prince Gupta at 2024-05-11T11:49:06+00:00
qml: fix grouping in video views

fixes a typo

- - - - -


1 changed file:

- modules/gui/qt/medialibrary/qml/VideoAllSubDisplay.qml


Changes:

=
modules/gui/qt/medialibrary/qml/VideoAllSubDisplay.qml
=
@@ -37,7 +37,7 @@ VideoAll {
 property SortMenuVideo sortMenu: SortMenuVideo {
 ctx: MainCtx
 
-onGrouping: (groupping) => { MainCtx.grouping = grouping }
+onGrouping: (grouping) => { MainCtx.grouping = grouping }
 }
 
 // Private



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/04ba6eb336081c0930725c91237ab688483ac4a7

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/04ba6eb336081c0930725c91237ab688483ac4a7
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] libvlc: add API to set/toggle teletext transparency

2024-05-11 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
11569530 by Fabian Huber at 2024-05-11T07:27:32+00:00
libvlc: add API to set/toggle teletext transparency

- - - - -


3 changed files:

- include/vlc/libvlc_media_player.h
- lib/libvlc.sym
- lib/video.c


Changes:

=
include/vlc/libvlc_media_player.h
=
@@ -2153,6 +2153,25 @@ LIBVLC_API int libvlc_video_get_teletext( 
libvlc_media_player_t *p_mi );
  */
 LIBVLC_API void libvlc_video_set_teletext( libvlc_media_player_t *p_mi, int 
i_page );
 
+/**
+ * Set teletext background transparency.
+ *
+ * \param p_mi the media player
+ * \param transparent whether background should be transparent.
+ * \version LibVLC 4.0.0 or later
+ */
+LIBVLC_API void libvlc_video_set_teletext_transparency( libvlc_media_player_t 
*p_mi, bool transparent );
+
+/**
+ * Get teletext background transparency.
+ *
+ * \param p_mi the media player
+ * \retval true teletext has transparent background
+ * \retval false teletext has opaque background
+ * \version LibVLC 4.0.0 or later
+ */
+LIBVLC_API bool libvlc_video_get_teletext_transparency( libvlc_media_player_t 
*p_mi );
+
 /**
  * Take a snapshot of the current video window.
  *


=
lib/libvlc.sym
=
@@ -244,6 +244,7 @@ libvlc_video_get_scale
 libvlc_video_get_spu_delay
 libvlc_video_get_spu_text_scale
 libvlc_video_get_teletext
+libvlc_video_get_teletext_transparency
 libvlc_video_set_adjust_float
 libvlc_video_set_adjust_int
 libvlc_video_set_aspect_ratio
@@ -267,6 +268,7 @@ libvlc_video_set_scale
 libvlc_video_set_spu_delay
 libvlc_video_set_spu_text_scale
 libvlc_video_set_teletext
+libvlc_video_set_teletext_transparency
 libvlc_video_take_snapshot
 libvlc_video_new_viewpoint
 libvlc_video_update_viewpoint


=
lib/video.c
=
@@ -446,6 +446,28 @@ void libvlc_video_set_teletext( libvlc_media_player_t 
*p_mi, int i_page )
 vlc_player_Unlock(player);
 }
 
+void libvlc_video_set_teletext_transparency( libvlc_media_player_t *p_mi, bool 
transparent )
+{
+vlc_player_t *player = p_mi->player;
+vlc_player_Lock(player);
+
+vlc_player_SetTeletextTransparency(player, transparent);
+
+vlc_player_Unlock(player);
+}
+
+bool libvlc_video_get_teletext_transparency( libvlc_media_player_t *p_mi )
+{
+vlc_player_t *player = p_mi->player;
+vlc_player_Lock(player);
+
+bool transparent = vlc_player_IsTeletextTransparent(player);
+
+vlc_player_Unlock(player);
+
+return transparent;
+}
+
 /**
  * libvlc_video_set_deinterlace : enable/disable/auto deinterlace and filter
  */



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/115695305e6ba715f2e8e4d61da9327bdf4c5e91

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/115695305e6ba715f2e8e4d61da9327bdf4c5e91
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 7 commits: qml: refactor loading view in MainViewLoader for clarity

2024-05-10 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
870911a6 by Prince Gupta at 2024-05-10T15:56:50+00:00
qml: refactor loading view in MainViewLoader for clarity

- - - - -
ac3b1833 by Prince Gupta at 2024-05-10T15:56:50+00:00
qml: add more strict constaints for loadingComponent

- - - - -
0d955392 by Prince Gupta at 2024-05-10T15:56:50+00:00
qml: remove redundant property

- - - - -
146575c0 by Prince Gupta at 2024-05-10T15:56:50+00:00
qt: remove shadowed member function

BaseModel has getCount

- - - - -
0c96e3b6 by Prince Gupta at 2024-05-10T15:56:50+00:00
qml: separate loading and empty component in BrowseTreeDisplay

- - - - -
4149672b by Prince Gupta at 2024-05-10T15:56:50+00:00
qml: fix focus handling in BrowseTreeHeader

Control doesnt handle focusable children well

- - - - -
4fc045f1 by Prince Gupta at 2024-05-10T15:56:50+00:00
qml: fix double padding

- - - - -


4 changed files:

- modules/gui/qt/maininterface/qml/MainViewLoader.qml
- modules/gui/qt/network/networkmediamodel.hpp
- modules/gui/qt/network/qml/BrowseTreeDisplay.qml
- modules/gui/qt/network/qml/BrowseTreeHeader.qml


Changes:

=
modules/gui/qt/maininterface/qml/MainViewLoader.qml
=
@@ -53,6 +53,7 @@ Widgets.StackViewExt {
 property var pagePrefix: []
 
 // optional, loaded when isLoading is true
+// only loaded on initial load, when count is less then 1
 property Component loadingComponent: null
 
 // NOTE: Sometimes the model has no 'loading' property.
@@ -85,9 +86,10 @@ Widgets.StackViewExt {
 // NOTE: We have to use a Component here. When using a var the 
onCurrentComponentChanged event
 //   gets called multiple times even when the currentComponent stays 
the same.
 property Component currentComponent: {
-if (isLoading) {
+if (isLoading && count < 1) {
 if (loadingComponent)
 return loadingComponent
+// fall through to load 'grid' or 'list' view
 } else if (count === 0)
 return emptyLabel
 
@@ -119,7 +121,7 @@ Widgets.StackViewExt {
 _updateView()
 
 // NOTE: This call is useful to avoid a binding loop on 
currentComponent.
-currentComponentChanged.connect(function() { _updateView() })
+currentComponentChanged.connect(_updateView)
 }
 
 onModelChanged: resetFocus()
@@ -169,16 +171,17 @@ Widgets.StackViewExt {
 function _updateView() {
 // NOTE: When the currentItem is null we default to the StackView 
focusReason.
 if (currentItem && currentItem.activeFocus)
-_applyView(currentItem.focusReason)
+_loadView(currentItem.focusReason)
 else if (activeFocus)
-_applyView(focusReason)
+_loadView(focusReason)
 else
-replace(null, currentComponent)
+_loadView()
 }
 
-function _applyView(reason) {
+function _loadView(reason) {
 replace(null, currentComponent)
 
-setCurrentItemFocus(reason)
+if (typeof reason !== "undefined")
+setCurrentItemFocus(reason)
 }
 }


=
modules/gui/qt/network/networkmediamodel.hpp
=
@@ -164,7 +164,6 @@ public:
 inline ItemType getType() const { return m_type; }
 inline bool isIndexed() const { return m_indexed; }
 inline bool canBeIndexed() const { return m_canBeIndexed; }
-int getCount() const;
 
 Q_INVOKABLE bool insertIntoPlaylist( const QModelIndexList& itemIdList, 
ssize_t playlistIndex );
 Q_INVOKABLE bool addToPlaylist( int index );


=
modules/gui/qt/network/qml/BrowseTreeDisplay.qml
=
@@ -38,9 +38,6 @@ MainInterface.MainViewLoader {
 readonly property int contentLeftMargin: currentItem?.contentLeftMargin ?? 0
 readonly property int contentRightMargin: currentItem?.contentRightMargin 
?? 0
 
- // 'loading' property is not available with NetworkDevicesModel
-readonly property bool loading: model?.loading ?? false
-
 // fixme remove this
 property Item _currentView: currentItem
 
@@ -60,7 +57,7 @@ MainInterface.MainViewLoader {
 grid: gridComponent
 list: tableComponent
 
-loadingComponent: emptyLabelComponent
+loadingComponent: busyIndicatorComponent
 
 emptyLabel: emptyLabelComponent
 
@@ -316,98 +313,113 @@ MainInterface.MainViewLoader {
 Component {
 id: emptyLabelComponent
 
-FocusScope {
-id: focusScope
+StandardView {
+view: Widgets.EmptyLabelButton {
+id: emptyLabel
 
-// NOTE: This is required to pass the focusReason when the current 
view changes in
-//   MainViewLoader.
-property int focusReason: (header.

[vlc-commits] [Git][videolan/vlc][master] configure: remove usage of subprocess.capture_output

2024-05-10 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
24e663be by Olaf Hering at 2024-05-10T13:47:38+00:00
configure: remove usage of subprocess.capture_output

... to restore compatiblity with Python 3.6.

This was initroduced in commit 177d049950e118978fa348e066eb6ad1b220935b,
which broke compilation on openSUSE Leap 15, which uses Python 3.6 als
default Python interpreter.

Fixes #28636

Signed-off-by: Olaf Hering o...@aepfle.de

- - - - -


1 changed file:

- buildsystem/check_qml_module.py


Changes:

=
buildsystem/check_qml_module.py
=
@@ -50,7 +50,7 @@ class QmlModuleChecker:
 "-qmlFiles", f.name,
 "-importPath", self.qmlpath
 ],
-capture_output=True,
+stdout=subprocess.PIPE, stderr=subprocess.PIPE,
 )
 
 if ret.returncode != 0:
@@ -86,13 +86,13 @@ class QmlModuleChecker:
 if qtconf:
 ret = subprocess.run(
 [ qmake, "-qtconf", qtconf, "-query"],
-capture_output=True,
+stdout=subprocess.PIPE, stderr=subprocess.PIPE,
 encoding="utf8"
 )
 else:
 ret = subprocess.run(
 [ qmake, "-query"],
-capture_output=True,
+stdout=subprocess.PIPE, stderr=subprocess.PIPE,
 encoding="utf8"
 )
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/24e663be6f40820db3c12f32f0d2772ef7abaaff

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/24e663be6f40820db3c12f32f0d2772ef7abaaff
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: fix color handling in table view for some qt versions

2024-05-10 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
dee7fb6e by Prince Gupta at 2024-05-10T10:06:20+00:00
qml: fix color handling in table view for some qt versions

fixes binding assignment,
using QObject/QGadget types in Qt.binding fails
see https://bugreports.qt.io/browse/QTBUG-125095

- - - - -


2 changed files:

- modules/gui/qt/widgets/qml/TableHeaderDelegate.qml
- modules/gui/qt/widgets/qml/TableRowDelegate.qml


Changes:

=
modules/gui/qt/widgets/qml/TableHeaderDelegate.qml
=
@@ -16,9 +16,12 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, 
USA.
  */
 import QtQuick
-import org.videolan.vlc 0.1
 
 Item {
 required property var colModel
-required property ColorContext colorContext
+
+// using QObject/QGadget types in Qt.binding fails
+// so don't mark 'ColorContext' type here
+// see https://bugreports.qt.io/browse/QTBUG-125095
+required property var colorContext
 }


=
modules/gui/qt/widgets/qml/TableRowDelegate.qml
=
@@ -16,14 +16,17 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, 
USA.
  */
 import QtQuick
-import org.videolan.vlc 0.1
 
 Item {
 required property int index
 required property var colModel
 required property var rowModel
-required property ColorContext colorContext
 required property bool selected
 required property bool containsMouse
 required property bool currentlyFocused
+
+// using QObject/QGadget types in Qt.binding fails
+// so don't mark 'ColorContext' type here
+// see https://bugreports.qt.io/browse/QTBUG-125095
+required property var colorContext
 }



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/dee7fb6e7b762f1120a7dec46ab962e3be6ac984

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/dee7fb6e7b762f1120a7dec46ab962e3be6ac984
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 6 commits: contrib: qtdeclarative: disable feature quick-path

2024-05-10 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
a1de4bf5 by Fatih Uzunoglu at 2024-05-10T09:23:25+00:00
contrib: qtdeclarative: disable feature quick-path

For now Quick Shapes/Path is not used, we dont need
to build it.

- - - - -
13a5d2cb by Fatih Uzunoglu at 2024-05-10T09:23:25+00:00
contrib: qtdeclarative: do not build Qt Quick Dialogs

- - - - -
66d587ee by Fatih Uzunoglu at 2024-05-10T09:23:25+00:00
contrib: qtdeclarative: disable building qmldom

- - - - -
4f2644ad by Fatih Uzunoglu at 2024-05-10T09:23:25+00:00
contrib: qtdeclarative: disable building effects

At the moment, Qt 5 effects are used. This needs
to be reverted when MultiEffect is started being
used.

- - - - -
12a22c58 by Fatih Uzunoglu at 2024-05-10T09:23:25+00:00
contrib: qtdeclarative: disable building quickwidgets

- - - - -
b12a7be7 by Fatih Uzunoglu at 2024-05-10T09:23:25+00:00
qt: do not init `qtquickshapes_shaders` resource

Qt Quick Shapes is not used now, it is not
necessary to initialize its resources.

- - - - -


2 changed files:

- contrib/src/qtdeclarative/rules.mak
- modules/gui/qt/qt.cpp


Changes:

=
contrib/src/qtdeclarative/rules.mak
=
@@ -47,6 +47,10 @@ qtdeclarative: 
qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz .sum
sed -i.orig -e 's,add_subdirectory(labs),#add_subdirectory(labs),' 
$(UNPACK_DIR)/src/CMakeLists.txt
# disable unused svgtoqml tool:
sed -i.orig -e 
's,add_subdirectory(svgtoqml),#add_subdirectory(svgtoqml),' 
$(UNPACK_DIR)/tools/CMakeLists.txt
+   sed -i.orig -e 
's,add_subdirectory(quickdialogs),#add_subdirectory(quickdialogs),' 
$(UNPACK_DIR)/src/CMakeLists.txt
+   sed -i.orig -e 's,add_subdirectory(qmldom),#add_subdirectory(qmldom),' 
$(UNPACK_DIR)/src/CMakeLists.txt
+   sed -i.orig -e 
's,add_subdirectory(effects),#add_subdirectory(effects),' 
$(UNPACK_DIR)/src/CMakeLists.txt
+   sed -i.orig -e 
's,add_subdirectory(quickwidgets),#add_subdirectory(quickwidgets),' 
$(UNPACK_DIR)/src/CMakeLists.txt
$(MOVE)
 
 QT_DECLARATIVE_COMMON_CONFIG := \
@@ -65,6 +69,7 @@ QT_DECLARATIVE_COMMON_CONFIG := \
-DFEATURE_quick_flipable=OFF \
-DFEATURE_quick_sprite=OFF \
-DFEATURE_quick_canvas=OFF \
+   -DFEATURE_quick_path=OFF \
-DFEATURE_quicktemplates2_calendar=OFF
 
 QT_DECLARATIVE_CONFIG := $(QT_DECLARATIVE_COMMON_CONFIG) \
@@ -83,7 +88,6 @@ QT_DECLARATIVE_NATIVE_CONFIG := 
$(QT_DECLARATIVE_COMMON_CONFIG) \
-DFEATURE_qml_object_model=OFF \
-DFEATURE_qml_table_model=OFF \
-DFEATURE_quick_shadereffect=OFF \
-   -DFEATURE_quick_path=OFF \
-DCMAKE_TOOLCHAIN_FILE=$(BUILDPREFIX)/lib/cmake/Qt6/qt.toolchain.cmake
 
 .qtdeclarative-tools: BUILD_DIR=$https://code.videolan.org/videolan/vlc/-/compare/7b98948bbef16b7810708113beb56363fd85c0f2...b12a7be7d39e5ccc6d070c414fc9a5bf2809040e

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/7b98948bbef16b7810708113beb56363fd85c0f2...b12a7be7d39e5ccc6d070c414fc9a5bf2809040e
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 5 commits: qt: add kwindowsystem_module and win32windoweffects_module

2024-05-09 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
e6a1738d by Fatih Uzunoglu at 2024-05-09T16:05:51+00:00
qt: add kwindowsystem_module and win32windoweffects_module

- - - - -
10134a41 by Fatih Uzunoglu at 2024-05-09T16:05:51+00:00
qt: add setBlurBehind() to CompositorVideo

- - - - -
9fca2c36 by Fatih Uzunoglu at 2024-05-09T16:05:51+00:00
qt: use `CompositorVideo::setBlurBehind()` in compositor_dcomp

- - - - -
041b8f04 by Fatih Uzunoglu at 2024-05-09T16:05:51+00:00
qt: enable acrylic blur for KWin in compositor_wayland

- - - - -
7b98948b by Fatih Uzunoglu at 2024-05-09T16:05:51+00:00
qt: use KWindowSystem to enable blur in CompositorX11

- - - - -


16 changed files:

- configure.ac
- modules/gui/qt/Makefile.am
- modules/gui/qt/maininterface/compositor.cpp
- modules/gui/qt/maininterface/compositor.hpp
- modules/gui/qt/maininterface/compositor_dcomp.cpp
- modules/gui/qt/maininterface/compositor_dcomp.hpp
- modules/gui/qt/maininterface/compositor_wayland.cpp
- modules/gui/qt/maininterface/compositor_x11.cpp
- modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
- modules/gui/qt/maininterface/compositor_x11_renderwindow.hpp
- + modules/gui/qt/maininterface/kwindowsystem_module.cpp
- + modules/gui/qt/maininterface/win32windoweffects_module.cpp
- + modules/gui/qt/maininterface/win32windoweffects_module.hpp
- + modules/gui/qt/maininterface/windoweffects_module.hpp
- modules/gui/qt/meson.build
- modules/gui/qt/qt.cpp


Changes:

=
configure.ac
=
@@ -3944,6 +3944,16 @@ dnl
 
 EXTEND_HELP_STRING([Interface plugins:])
 
+dnl
+dnl  KF6WindowSystem
+dnl
+PKG_CHECK_MODULES([KF6WINDOWSYSTEM], [KF6WindowSystem >= 6.0.0], [
+  have_kf6windowsystem="yes"
+], [
+  have_kf6windowsystem="no"
+])
+AM_CONDITIONAL([HAVE_KF6WINDOWSYSTEM], [test "${have_kf6windowsystem}" = 
"yes"])
+
 dnl
 dnl QT
 dnl


=
modules/gui/qt/Makefile.am
=
@@ -188,6 +188,7 @@ libqt_plugin_la_SOURCES = \
maininterface/videosurface.hpp \
maininterface/video_window_handler.cpp \
maininterface/video_window_handler.hpp \
+   maininterface/windoweffects_module.hpp \
medialibrary/medialib.cpp \
medialibrary/medialib.hpp \
medialibrary/mlalbum.cpp \
@@ -528,7 +529,9 @@ libqt_plugin_la_SOURCES += \
maininterface/mainctx_win32.hpp \
maininterface/compositor_win7.cpp \
maininterface/compositor_win7.hpp \
-   style/windowsthemeprovider.cpp
+   style/windowsthemeprovider.cpp \
+   maininterface/win32windoweffects_module.cpp \
+   maininterface/win32windoweffects_module.hpp
 
 nodist_libqt_plugin_la_SOURCES += maininterface/mainctx_win32.moc.cpp \
maininterface/compositor_win7.moc.cpp
@@ -614,6 +617,22 @@ endif
 endif
 endif
 
+if !HAVE_WIN32
+if HAVE_KF6WINDOWSYSTEM
+
+libqt_plugin_la_CPPFLAGS += -DQT_HAS_KWINDOWSYSTEM_PLUGIN
+
+libqt_kwindowsystem_plugin_la_CXXFLAGS = $(AM_CXXFLAGS) 
$(KF6WINDOWSYSTEM_CFLAGS)
+libqt_kwindowsystem_plugin_la_LIBADD =  $(KF6WINDOWSYSTEM_LIBS)
+libqt_kwindowsystem_plugin_la_SOURCES = \
+   maininterface/kwindowsystem_module.cpp
+
+if ENABLE_QT
+gui_LTLIBRARIES += libqt_kwindowsystem_plugin.la
+endif
+endif
+endif
+
 # User interface compilation
 
 uic_verbose = $(uic_verbose_$(V))


=
modules/gui/qt/maininterface/compositor.cpp
=
@@ -40,7 +40,11 @@
 #  include "compositor_x11.hpp"
 #endif
 
+#include "maininterface/windoweffects_module.hpp"
+
 #include 
+#include 
+
 
 using namespace vlc;
 
@@ -184,7 +188,12 @@ CompositorVideo::CompositorVideo(qt_intf_t *p_intf, 
QObject* parent)
 
 CompositorVideo::~CompositorVideo()
 {
-
+if (m_windowEffectsModule)
+{
+if (m_windowEffectsModule->p_module)
+module_unneed(m_windowEffectsModule, 
m_windowEffectsModule->p_module);
+vlc_object_delete(m_windowEffectsModule);
+}
 }
 
 void CompositorVideo::commonSetupVoutWindow(vlc_window_t* p_wnd, VoutDestroyCb 
destroyCb)
@@ -250,6 +259,7 @@ void CompositorVideo::commonWindowDisable()
 bool CompositorVideo::commonGUICreateImpl(QWindow* window, 
CompositorVideo::Flags flags)
 {
 assert(m_mainCtx);
+assert(window);
 
 m_videoSurfaceProvider = std::make_unique();
 m_mainCtx->setVideoSurfaceProvider(m_videoSurfaceProvider.get());
@@ -261,6 +271,10 @@ bool CompositorVideo::commonGUICreateImpl(QWindow* window, 
CompositorVideo::Flag
 connect(m_videoSurfaceProvider.get(), 
::surfaceSizeChanged,
 this, ::onSurfaceSizeChanged);
 }
+if (flags & CompositorVideo::HAS_ACRYLIC)
+{
+setBlurBehind(window, true);
+}
 m_videoWindowHandler = std::make_unique(m_intf);
 m_videoWindowHandler->setWindow( window );
 
@@ -269,7 +283,7 @@ bo

[vlc-commits] [Git][videolan/vlc][master] service_discovery: Add winvolumes module

2024-05-09 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
f9d948ca by Prince Gupta at 2024-05-09T12:27:00+00:00
service_discovery: Add winvolumes module

implement SD_CAT_MYCOMPUTER based service discovery
module on Windows

allows to query volumes mounted on host computer
Ref #28597

- - - - -


3 changed files:

- modules/services_discovery/Makefile.am
- modules/services_discovery/meson.build
- + modules/services_discovery/winvolumes.c


Changes:

=
modules/services_discovery/Makefile.am
=
@@ -71,6 +71,11 @@ if HAVE_WIN32_DESKTOP
 sd_LTLIBRARIES += libwindrive_plugin.la
 endif
 
+libwinvolumes_plugin_la_SOURCES = services_discovery/winvolumes.c
+if HAVE_WIN32_DESKTOP
+sd_LTLIBRARIES += libwinvolumes_plugin.la
+endif
+
 libos2drive_plugin_la_SOURCES = services_discovery/os2drive.c
 if HAVE_OS2
 sd_LTLIBRARIES += libos2drive_plugin.la


=
modules/services_discovery/meson.build
=
@@ -89,6 +89,11 @@ if host_system == 'windows'
 'name' : 'windrive',
 'sources' : files('windrive.c')
 }
+
+vlc_modules += {
+'name' : 'winvolumes',
+'sources' : files('winvolumes.c')
+}
 endif
 
 # mDNS using libmicrodns


=
modules/services_discovery/winvolumes.c
=
@@ -0,0 +1,385 @@
+/*
+ * Copyright © 2010 Rémi Denis-Courmont
+ * Copyright © 2024 Prince Gupta 
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ */
+
+
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+
+
+// max drives allowed because of letter assignment (A-Z)
+#define MAX_DRIVES 26
+
+// name and window title used for observer window
+static const char WindowClassName[] = "VLCWinVolumesDeviceObserver";
+
+typedef struct volumes_observer_t
+{
+// observer thread
+vlc_thread_t thread;
+
+// signal to end the observer thread
+HANDLE quit_signal;
+
+input_item_t *items[MAX_DRIVES];
+} volumes_observer_t;
+
+
+/**
+ * @brief CreateInput
+ * @param letter - drive letter assosited with drive
+ * @return input item for the drive
+ */
+static input_item_t *CreateInput( const char letter )
+{
+char mrl[12] = "file:///A:/", name[MAX_PATH] = {0};
+char path[4] = "A:\\";
+
+path[0] = letter;
+mrl[8] = letter;
+
+// ignore the error, this information is not important
+GetVolumeInformationA(path, name, sizeof(name),
+  NULL, NULL, NULL, NULL, 0);
+
+if (GetDriveTypeA (path) == DRIVE_CDROM)
+return input_item_NewDisc( mrl, name, INPUT_DURATION_INDEFINITE );
+else
+return input_item_NewDirectory( mrl, name, ITEM_LOCAL );
+}
+
+
+/**
+ * @brief RegisterWindowClass registers window class for window creation
+ * @param class_name
+ * @param proc - window procedure associated with window class
+ * @return ATOM (unique identifier) for the class on success otherwise 0
+ */
+static ATOM RegisterWindowClass( const char *class_name, WNDPROC proc )
+{
+WNDCLASSEXA wcex =
+{
+.cbSize = sizeof(WNDCLASSEXA),
+.lpfnWndProc = proc,
+.hInstance = (HINSTANCE)GetModuleHandle(NULL),
+.hbrBackground = (HBRUSH)(COLOR_WINDOW),
+.lpszClassName = class_name
+};
+
+return RegisterClassExA();
+}
+
+
+/**
+ * @brief StartWindow creates a hidden window, can be used to listen on OS 
events
+ * @param class_name name and title for window
+ * @param ctx will be passed as lpParam, can be used with CREATESTRUCT (see 
CreateWindowA docs)
+ * @return HANDLE to the created window on success otherwise NULL
+ */
+static HWND StartWindow(const char *class_name, void *ctx)
+{
+HWND window = CreateWindowA(class_name, class_name, WS_ICONIC,
+0, 0, CW_USEDEFAULT, 0, NULL, NULL,
+(HINSTANCE)GetModuleHandle(NULL), ctx);
+
+if (window == NULL)
+return NULL;
+
+ShowWindow(window

[vlc-commits] [Git][videolan/vlc][master] contrib: aom: Backport patches to improve the SVE detection

2024-05-09 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
42cb003f by Martin Storsjö at 2024-05-09T08:44:13+00:00
contrib: aom: Backport patches to improve the SVE detection

This backports
https://aomedia.googlesource.com/aom/+/5ccdc66ab6eb8eb300eda854fab4ff250b2c2f92
and
https://aomedia.googlesource.com/aom/+/fb21617c1f3ef49795597e006b68adfba6e54be0.

This makes libaom test compiling a more nontrivial function,
which according to AAPCS requires backing up and restoring SVE
registers.

On current versions of Clang when targeting Windows, compiling such
a function errors out. This added test makes libaom not try to
compile the SVE codepaths for this target.

See https://github.com/llvm/llvm-project/issues/80009 for reference
on toolchain support for SVE functions on Windows on aarch64.

- - - - -


3 changed files:

- + 
contrib/src/aom/0001-cpu.cmake-Do-more-elaborate-test-of-whether-SVE-can-.patch
- + contrib/src/aom/0002-cpu.cmake-Address-issues-in-SVE-feature-tests.patch
- contrib/src/aom/rules.mak


Changes:

=
contrib/src/aom/0001-cpu.cmake-Do-more-elaborate-test-of-whether-SVE-can-.patch
=
@@ -0,0 +1,51 @@
+From 17cb0f6be6807c73027cce0d941868b3e5ede54f Mon Sep 17 00:00:00 2001
+From: Martin Storsjo 
+Date: Wed, 1 May 2024 00:45:41 +0300
+Subject: [PATCH 1/2] cpu.cmake: Do more elaborate test of whether SVE can be
+ compiled
+
+For Windows targets, Clang will successfully compile simpler
+SVE functions, but if the function requires backing up and restoring
+SVE registers (as part of the AAPCS calling convention), Clang
+will fail to generate unwind data for this function, resulting
+in an error.
+
+This issue is tracked upstream in Clang in
+https://github.com/llvm/llvm-project/issues/80009.
+
+Check whether the compiler can compile such a function, and
+disable SVE if it is unable to handle that case.
+
+Change-Id: I307d7398cedd1942c39ef034431a51696264ff47
+(cherry picked from commit 5ccdc66ab6eb8eb300eda854fab4ff250b2c2f92)
+---
+ build/cmake/cpu.cmake | 12 +++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/build/cmake/cpu.cmake b/build/cmake/cpu.cmake
+index 489dbcbf44..e16e9ec6a5 100644
+--- a/build/cmake/cpu.cmake
 b/build/cmake/cpu.cmake
+@@ -56,8 +56,18 @@ if("${AOM_TARGET_CPU}" STREQUAL "arm64")
+ #endif
+ #include 
+ #include " HAVE_SVE_HEADERS)
++# Check whether the compiler can compile SVE functions that require
++# backup/restore of SVE registers according to AAPCS. Clang for Windows 
used
++# to fail this, see https://github.com/llvm/llvm-project/issues/80009.
++aom_check_source_compiles("arm_sve_preserve" "
++#include 
++void other(void);
++svfloat32_t func(svfloat32_t a) {
++  other();
++  return a;
++}" CAN_COMPILE_SVE)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQURED_FLAGS})
+-if(HAVE_SVE_HEADERS EQUAL 0)
++if(HAVE_SVE_HEADERS EQUAL 0 OR CAN_COMPILE_SVE EQUAL 0)
+   set(ENABLE_SVE 0)
+   set(ENABLE_SVE2 0)
+ endif()
+-- 
+2.34.1
+


=
contrib/src/aom/0002-cpu.cmake-Address-issues-in-SVE-feature-tests.patch
=
@@ -0,0 +1,58 @@
+From b349f7613350aa8a15c06470dc63c5d6a4a1222f Mon Sep 17 00:00:00 2001
+From: George Steed 
+Date: Sat, 4 May 2024 13:20:42 +0100
+Subject: [PATCH 2/2] cpu.cmake: Address issues in SVE feature tests
+
+A test to check that SVE registers were correctly handled as function
+parameters was added in 5ccdc66ab6eb8eb300eda854fab4ff250b2c2f92,
+however this appears to have a couple of issues:
+
+* Semicolons need to be escaped, else the compiler fails to compile due
+  to invalid syntax. We can fix this by prefixing each semicolon with a
+  backslash.
+
+* The "other" function does not have a definition so the test program
+  will always fail to link even if it compiles to an object file. We can
+  work around this by instructing CMake to only try compiling up to a
+  static library rather than a full executable.
+
+Change-Id: Ic37280d4b42b9031e68bed8a4b24c0eb51491827
+(cherry picked from commit fb21617c1f3ef49795597e006b68adfba6e54be0)
+---
+ build/cmake/cpu.cmake | 9 ++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/build/cmake/cpu.cmake b/build/cmake/cpu.cmake
+index e16e9ec6a5..8d0acf3d2b 100644
+--- a/build/cmake/cpu.cmake
 b/build/cmake/cpu.cmake
+@@ -49,7 +49,9 @@ if("${AOM_TARGET_CPU}" STREQUAL "arm64")
+   # SVE and SVE2 require that the Neon-SVE bridge header is also available.
+   if(ENABLE_SVE OR ENABLE_SVE2)
+ set(OLD_CMAKE_REQURED_FLAGS ${CMAKE_REQUIRED_FLAGS})
++set(OLD_CMAKE_TRY_COMPILE_TARGET_TYPE ${CMAKE_TRY_COMPILE_TARGET_TYPE})
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${AOM_SVE_FLAG}")
++set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
+ aom_check_source_compiles("arm

[vlc-commits] [Git][videolan/vlc][master] Simplify vlc_rand_bytes on Windows

2024-05-08 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
12237bd0 by visuve at 2024-05-08T16:39:15+00:00
Simplify vlc_rand_bytes on Windows

Use system preferred RNG and skip the unnecessary initialization steps (in this
context, which is definitely not security related)
The vlc_rand_bytes function is now about 55x faster when called repeatedly in a 
loop
See 
https://learn.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom
 for more details

Signed-off-by: Steve Lhomme rob...@ycbcr.xyz

- - - - -


1 changed file:

- src/win32/rand.c


Changes:

=
src/win32/rand.c
=
@@ -27,15 +27,11 @@
 
 #include 
 #include 
+#include 
 
 void vlc_rand_bytes (void *buf, size_t len)
 {
-BCRYPT_ALG_HANDLE algo_handle;
-NTSTATUS ret = BCryptOpenAlgorithmProvider(_handle, 
BCRYPT_RNG_ALGORITHM,
-   MS_PRIMITIVE_PROVIDER, 0);
-if (BCRYPT_SUCCESS(ret))
-{
-BCryptGenRandom(algo_handle, buf, len, 0);
-BCryptCloseAlgorithmProvider(algo_handle, 0);
-}
+NTSTATUS ret;
+ret = BCryptGenRandom(0, buf, len, BCRYPT_USE_SYSTEM_PREFERRED_RNG);
+assert(BCRYPT_SUCCESS(ret));
 }



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/12237bd0f96c9833b7fffc78b1723d9b1f5739a7

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/12237bd0f96c9833b7fffc78b1723d9b1f5739a7
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][3.0.x] 6 commits: direct3d11: simplify the D3D11_RenderQuad call

2024-05-08 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
fce580a4 by Steve Lhomme at 2024-05-07T11:57:00+02:00
direct3d11: simplify the D3D11_RenderQuad call

Only the ID3D11ShaderResourceView source may change.

- - - - -
71471002 by Steve Lhomme at 2024-05-07T14:09:17+02:00
d3d11_scaler: provide a picture_sys_t

Like d3d11_tonemapper does. It provides more flexibility.

- - - - -
52be95be by Steve Lhomme at 2024-05-07T14:09:17+02:00
direct3d11: use D3D11_UpscalerGetOutput to get the final picture_sys_t

- - - - -
ae050157 by Steve Lhomme at 2024-05-07T14:14:18+02:00
d3d11_tonemap: handle output resolution changes

- - - - -
267ba645 by Steve Lhomme at 2024-05-07T15:00:43+02:00
d3d11_tonemapper: factorize the texture creation

- - - - -
0d09617a by Steve Lhomme at 2024-05-07T15:00:48+02:00
direct3d11: do the SDR-HDR conversion after upscaling

The Super Resolution filter doesnt handle RGB10A2.

- - - - -


5 changed files:

- modules/video_output/win32/d3d11_scaler.cpp
- modules/video_output/win32/d3d11_scaler.h
- modules/video_output/win32/d3d11_tonemap.cpp
- modules/video_output/win32/d3d11_tonemap.h
- modules/video_output/win32/direct3d11.c


Changes:

=
modules/video_output/win32/d3d11_scaler.cpp
=
@@ -54,6 +54,8 @@ struct d3d11_scaler
 ComPtrprocessor;
 ComPtr  outputView;
 ID3D11ShaderResourceView*SRVs[D3D11_MAX_SHADER_VIEW] = {};
+picture_sys_t   picsys{};
+
 #ifdef HAVE_AMF_SCALER
 vlc_amf_context amf = {};
 amf::AMFComponent   *amf_scaler = nullptr;
@@ -242,6 +244,11 @@ static void ReleaseSRVs(d3d11_scaler *scaleProc)
 }
 }
 
+picture_sys_t *D3D11_UpscalerGetOutput(d3d11_scaler *scaleProc)
+{
+return >picsys;
+}
+
 int D3D11_UpscalerUpdate(vlc_object_t *vd, d3d11_scaler *scaleProc, 
d3d11_device_t*d3d_dev,
  const video_format_t *fmt, video_format_t *quad_fmt,
  const vout_display_cfg_t *cfg)
@@ -440,6 +447,21 @@ int D3D11_UpscalerUpdate(vlc_object_t *vd, d3d11_scaler 
*scaleProc, d3d11_device
 scaleProc->amf_initialized = true;
 }
 #endif
+
+if (scaleProc->picsys.processorInput)
+{
+scaleProc->picsys.processorInput->Release();
+scaleProc->picsys.processorInput = NULL;
+}
+if (scaleProc->picsys.processorOutput)
+{
+scaleProc->picsys.processorOutput->Release();
+scaleProc->picsys.processorOutput = NULL;
+}
+scaleProc->picsys.texture[0] = upscaled.Get();
+for (size_t i=0; ipicsys.resourceView); i++)
+scaleProc->picsys.resourceView[i] = scaleProc->SRVs[i];
+scaleProc->picsys.formatTexture = texDesc.Format;
 }
 
 #ifdef HAVE_AMF_SCALER


=
modules/video_output/win32/d3d11_scaler.h
=
@@ -27,6 +27,7 @@ int D3D11_UpscalerUpdate(vlc_object_t *, struct d3d11_scaler 
*, d3d11_device_t*,
  const vout_display_cfg_t *);
 int D3D11_UpscalerScale(vlc_object_t *, struct d3d11_scaler *, picture_sys_t 
*);
 bool D3D11_UpscalerUsed(const struct d3d11_scaler *);
+struct picture_sys_t *D3D11_UpscalerGetOutput(struct d3d11_scaler *);
 void D3D11_UpscalerGetSRV(const struct d3d11_scaler *, 
ID3D11ShaderResourceView *SRV[D3D11_MAX_SHADER_VIEW]);
 void D3D11_UpscalerGetSize(const struct d3d11_scaler *, unsigned *i_width, 
unsigned *i_height);
 


=
modules/video_output/win32/d3d11_tonemap.cpp
=
@@ -28,6 +28,12 @@ struct d3d11_tonemapper
 ComPtr  outputView;
 ComPtrSRV;
 picture_sys_t   picsys{};
+
+const d3d_format_t  *d3d_fmt = nullptr;
+UINTWidth  = 0;
+UINTHeight = 0;
+
+HRESULT UpdateTexture(vlc_object_t *, d3d11_device_t *, UINT width, UINT 
height);
 };
 
 d3d11_tonemapper *D3D11_TonemapperCreate(vlc_object_t *vd, d3d11_device_t 
*d3d_dev,
@@ -45,13 +51,9 @@ d3d11_tonemapper *D3D11_TonemapperCreate(vlc_object_t *vd, 
d3d11_device_t *d3d_d
 return nullptr; // the source is already in HDR
 }
 
-ComPtr texture;
-ID3D11Texture2D *_texture[D3D11_MAX_SHADER_VIEW] = {};
-D3D11_TEXTURE2D_DESC texDesc { };
-D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC outDesc{ };
 d3d11_tonemapper *tonemapProc = new d3d11_tonemapper();
-const auto d3d_fmt = D3D11_RenderFormat(DXGI_FORMAT_R10G10B10A2_UNORM, 
false);
-assert(d3d_fmt != nullptr);
+tonemapProc->d3d_fmt = D3D11_RenderFormat(DXGI_FORMAT_R10G10B10A2_UNORM, 
false);
+assert(tonemapProc->d3d_fmt != nullptr);
 
 HRESULT hr;
 hr = 
d3d_dev->d3ddevice->QueryInterface(IID_GRAPHICS_PPV_AR

[vlc-commits] [Git][videolan/vlc][master] 2 commits: extras/tools: build xz before tar

2024-05-08 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
ee9ea365 by Steve Lhomme at 2024-05-08T11:17:11+00:00
extras/tools: build xz before tar

The reason we build tar is because its missing xz support.

- - - - -
46c57f4d by Steve Lhomme at 2024-05-08T11:17:11+00:00
extras/tools: build tar with xz support before unpacking tar.xz files

- - - - -


1 changed file:

- extras/tools/tools.mak


Changes:

=
extras/tools/tools.mak
=
@@ -92,7 +92,7 @@ DISTCLEAN_PKG += cmake-$(CMAKE_VERSION).tar.gz
 help2man-$(HELP2MAN_VERSION).tar.xz:
$(call download_pkg,$(HELP2MAN_URL),help2man)
 
-help2man: help2man-$(HELP2MAN_VERSION).tar.xz
+help2man: help2man-$(HELP2MAN_VERSION).tar.xz .xz .tar
$(UNPACK)
$(MOVE)
 
@@ -140,7 +140,7 @@ tar: tar-$(TAR_VERSION).tar.bz2
$(UNPACK)
$(MOVE)
 
-.buildtar: tar
+.buildtar: .xz tar
(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
touch $@
 
@@ -280,7 +280,7 @@ CLEAN_FILE += .buildant
 bison-$(BISON_VERSION).tar.xz:
$(call download_pkg,$(BISON_URL),bison)
 
-bison: bison-$(BISON_VERSION).tar.xz
+bison: bison-$(BISON_VERSION).tar.xz .xz .tar
$(UNPACK)
$(MOVE)
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/90dc0a023f6ceee591f6464367efae65f2ccf6e7...46c57f4dbf811fe92b8879f3103802d8d5352dce

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/90dc0a023f6ceee591f6464367efae65f2ccf6e7...46c57f4dbf811fe92b8879f3103802d8d5352dce
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] contrib: qtbase: do not enforce desktop opengl

2024-05-06 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
f12d8676 by Fatih Uzunoglu at 2024-05-06T21:24:52+00:00
contrib: qtbase: do not enforce desktop opengl

By default, Qt uses dynamic OpenGL and it seems
to be sufficient for our needs.

- - - - -


1 changed file:

- contrib/src/qt/rules.mak


Changes:

=
contrib/src/qt/rules.mak
=
@@ -64,7 +64,7 @@ ifdef HAVE_WIN32
 QTBASE_CONFIG += -no-feature-style-fusion
 endif
 
-QTBASE_CONFIG += -static -opensource -confirm-license -opengl desktop 
-no-pkg-config -no-openssl \
+QTBASE_CONFIG += -static -opensource -confirm-license -no-pkg-config 
-no-openssl \
 -no-gif -no-dbus -no-feature-zstd -no-feature-concurrent 
-no-feature-androiddeployqt \
-no-feature-sql -no-feature-testlib -system-freetype -system-harfbuzz 
-system-libjpeg \
-no-feature-xml -no-feature-printsupport -system-libpng -system-zlib 
-no-feature-network \



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/f12d867645d17d2058da1860b439593c8c6f6612

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/f12d867645d17d2058da1860b439593c8c6f6612
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: filter rapid events on position change in seekbar

2024-05-06 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
80968175 by Fatih Uzunoglu at 2024-05-06T20:21:42+00:00
qml: filter rapid events on position change in seekbar

Qt has built-in event compression for certain events, such
as window resize. However, this is not the case with mouse
move event. In such cases, filtering needs to be handled
manually.

This approach is already followed in the volume slider.
It is not a good idea to request backend to do an operation
just to override it within the same event loop processing
cycle. Without filtering, CPU utilization increases a lot
and stuttering may be observed.

Volume or player position update must be asked to the
backend at most once per Qt event loop cycle. With
`Qt.callLater()` this can be satisfied.

- - - - -


1 changed file:

- modules/gui/qt/player/qml/SliderBar.qml


Changes:

=
modules/gui/qt/player/qml/SliderBar.qml
=
@@ -243,6 +243,11 @@ T.ProgressBar {
 target: null
 dragThreshold: 0
 
+function moveControl() {
+fsm.moveControl(dragHandler.centroid.position.x / 
control.width,
+dragHandler.centroid.modifiers === 
Qt.ShiftModifier)
+}
+
 onActiveChanged: {
 if (active) {
 fsm.pressControl(centroid.position.x / control.width, 
centroid.modifiers === Qt.ShiftModifier)
@@ -250,14 +255,10 @@ T.ProgressBar {
 fsm.releaseControl( centroid.position.x / control.width, 
centroid.modifiers === Qt.ShiftModifier)
 }
 }
-}
-
-Connections {
-//FIXME Qt6.5 use xAxis.onActiveValueChanged in the DragHandler
-target: dragHandler
 
-function onCentroidChanged() {
-fsm.moveControl(dragHandler.centroid.position.x / 
control.width, dragHandler.centroid.modifiers === Qt.ShiftModifier)
+onCentroidChanged: {
+// FIXME: Qt 6.5 use xAxis.onActiveValueChanged in the 
DragHandler
+Qt.callLater(dragHandler.moveControl)
 }
 }
 }



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/80968175195887d6b0591adb02d47e2e35e1a407

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/80968175195887d6b0591adb02d47e2e35e1a407
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: try to fix polish loop in ArtworkInfoWidget

2024-05-06 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
3eb3ed28 by Fatih Uzunoglu at 2024-05-06T18:44:35+00:00
qml: try to fix polish loop in ArtworkInfoWidget

- - - - -


1 changed file:

- modules/gui/qt/player/qml/controlbarcontrols/ArtworkInfoWidget.qml


Changes:

=
modules/gui/qt/player/qml/controlbarcontrols/ArtworkInfoWidget.qml
=
@@ -94,11 +94,11 @@ AbstractButton {
 contentItem: RowLayout {
 spacing: VLCStyle.margin_xsmall
 
-Widgets.ScaledImage {
+Image {
 id: coverImage
 
 Layout.fillHeight: true
-Layout.preferredWidth: root.height
+Layout.preferredWidth: height
 
 source: {
 if (!paintOnly && Player.artwork && Player.artwork.toString())
@@ -107,6 +107,8 @@ AbstractButton {
 return VLCStyle.noArtAlbumCover
 }
 
+sourceSize.height: root.height * MainCtx.screen.devicePixelRatio
+
 fillMode: Image.PreserveAspectFit
 
 asynchronous: true



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/3eb3ed2842aa92806c2d5e8696b120e43626569b

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/3eb3ed2842aa92806c2d5e8696b120e43626569b
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qt: decouple scene graph and CompositorDirectComposition

2024-05-06 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
3529e880 by Fatih Uzunoglu at 2024-05-06T18:23:27+00:00
qt: decouple scene graph and CompositorDirectComposition

- - - - -


2 changed files:

- modules/gui/qt/maininterface/compositor_dcomp.cpp
- modules/gui/qt/maininterface/compositor_dcomp.hpp


Changes:

=
modules/gui/qt/maininterface/compositor_dcomp.cpp
=
@@ -231,17 +231,9 @@ bool 
CompositorDirectComposition::makeMainInterface(MainCtx* mainCtx)
 ::frameSwapped, // At this stage, we can be sure that 
QRhi and QRhiSwapChain are valid.
 this,
 ::setup,
-static_cast(Qt::SingleShotConnection | 
Qt::DirectConnection));
+Qt::SingleShotConnection);
 
-connect(quickViewPtr,
-::sceneGraphInvalidated,
-this,
-[this]() {
-m_videoVisual.Reset();
-delete m_acrylicSurface.data();
-m_rootVisual.Reset();
-},
-Qt::DirectConnection);
+m_quickView->installEventFilter(this);
 
 bool appropriateGraphicsApi = true;
 
@@ -391,4 +383,28 @@ QQuickItem * 
CompositorDirectComposition::activeFocusItem() const /* override */
 return m_quickView->activeFocusItem();
 }
 
+bool CompositorDirectComposition::eventFilter(QObject *watched, QEvent *event)
+{
+switch (event->type())
+{
+case QEvent::PlatformSurface:
+if (watched == m_quickView.get() &&
+static_cast(event)->surfaceEventType() == 
QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed)
+{
+m_videoVisual.Reset();
+delete m_acrylicSurface.data();
+// Just in case root visual deletes its children
+// when it is deleted: (Qt's UI visual should be
+// deleted by Qt itself)
+m_rootVisual->RemoveVisual(m_uiVisual);
+m_rootVisual.Reset();
+}
+break;
+default:
+break;
+}
+
+return QObject::eventFilter(watched, event);
+}
+
 }


=
modules/gui/qt/maininterface/compositor_dcomp.hpp
=
@@ -65,6 +65,8 @@ public:
 
 QQuickItem * activeFocusItem() const override;
 
+bool eventFilter(QObject *watched, QEvent *event) override;
+
 private slots:
 void onSurfacePositionChanged(const QPointF& position) override;
 void onSurfaceSizeChanged(const QSizeF& size) override;



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/3529e880b22a15115973de0329fd76bcf6a679da

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/3529e880b22a15115973de0329fd76bcf6a679da
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] aout: dec: reset the stream on restart

2024-05-06 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
31923d31 by Thomas Guillem at 2024-05-06T17:11:58+00:00
aout: dec: reset the stream on restart

stream_Reset() will reset the clock and internal timings. It is
necessary since the aout module stopped and started.

This fixes incoherent timings when after aout_RestartRequest().

- - - - -


1 changed file:

- src/audio_output/dec.c


Changes:

=
src/audio_output/dec.c
=
@@ -384,6 +384,8 @@ static int stream_CheckReady (vlc_aout_stream *stream)
  * change from the user. */
 if ((restart & AOUT_RESTART_OUTPUT_DEC) == AOUT_RESTART_OUTPUT_DEC)
 status = AOUT_DEC_CHANGED;
+
+stream_Reset(stream);
 }
 else if (tracer != NULL)
 vlc_tracer_TraceEvent(tracer, "RENDER", stream->str_id, 
"filters_restart");



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/31923d31ac86845464c8a37185cb16ee0691b282

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/31923d31ac86845464c8a37185cb16ee0691b282
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qt: destroy intf handler and the quick view in `CompositorDirectComposition::unloadGUI()`

2024-05-06 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
64189b6e by Fatih Uzunoglu at 2024-05-06T16:47:42+00:00
qt: destroy intf handler and the quick view in 
`CompositorDirectComposition::unloadGUI()`

- - - - -


1 changed file:

- modules/gui/qt/maininterface/compositor_dcomp.cpp


Changes:

=
modules/gui/qt/maininterface/compositor_dcomp.cpp
=
@@ -324,6 +324,8 @@ void CompositorDirectComposition::destroyMainInterface()
 
 void CompositorDirectComposition::unloadGUI()
 {
+m_interfaceWindowHandler.reset();
+m_quickView.reset();
 commonGUIDestroy();
 }
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/64189b6e4081f1370d400433d2b8055bc54450b3

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/64189b6e4081f1370d400433d2b8055bc54450b3
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] macosx: Fix initial state of play queue toggle if the view is not present...

2024-05-06 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
ef1baaee by Claudio Cambra at 2024-05-06T10:10:55+00:00
macosx: Fix initial state of play queue toggle if the view is not present 
within the library split view

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


1 changed file:

- modules/gui/macosx/library/VLCLibraryWindowToolbarDelegate.m


Changes:

=
modules/gui/macosx/library/VLCLibraryWindowToolbarDelegate.m
=
@@ -132,9 +132,10 @@ NSString * const 
VLCLibraryWindowTrackingSeparatorToolbarItemIdentifier =
 {
 NSView * const playlistView =
 
self.libraryWindow.splitViewController.playlistSidebarViewController.view;
+NSSplitView * const sv = self.libraryWindow.mainSplitView;
 self.libraryWindow.playQueueToggle.state =
-[self.libraryWindow.mainSplitView isSubviewCollapsed:playlistView] ?
-NSControlStateValueOff : NSControlStateValueOn;
+![sv.arrangedSubviews containsObject:playlistView] || [sv 
isSubviewCollapsed:playlistView] ?
+NSControlStateValueOff : NSControlStateValueOn;
 }
 
 #pragma mark - convenience method for configuration of toolbar items layout



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/ef1baaee6558296fba03dd639b3df1f25dd0fc53

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/ef1baaee6558296fba03dd639b3df1f25dd0fc53
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][3.0.x] 4 commits: freetype: darwin: fix font index issue

2024-05-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
2a2eaf62 by Jiepeng Huang at 2024-05-06T02:07:49+02:00
freetype: darwin: fix font index issue

In macOS/iOS/tvOS, font collection file contains multiple fonts.
The 0 index should not be used by default, but the corresponding
index should be used. This will fix some font rendering bugs and
fallback font bugs.

(manual cherry picked from commit 2e3c0fb6bc38fdad5f894611b3b9eaa0ace2c746)
Signed-off-by: Marvin Scholz epira...@gmail.com

- - - - -
f6f11faf by Jiepeng Huang at 2024-05-06T02:07:49+02:00
freetype: darwin: ignore case whe comparing

The `psz_lcname` is lowercase, so we need to use `strcasecmp`
instead.

(cherry picked from commit c52066f20458165436ff9c8831869fa783d12a30)
Signed-off-by: Marvin Scholz epira...@gmail.com

- - - - -
a072f541 by Jiepeng Huang at 2024-05-06T02:21:10+02:00
text_renderer: improve code style in darwin.c

(cherry picked from commit 96ae876dc8523939a1092bfdbb31138eb8f99e69)
Signed-off-by: Marvin Scholz epira...@gmail.com

- - - - -
6c952047 by Jiepeng Huang at 2024-05-06T02:21:10+02:00
text_renderer: change -1 to kCFNotFound

(cherry picked from commit 6497bee48a9d7844532a715759b0b65a1bae7363)
Signed-off-by: Marvin Scholz epira...@gmail.com

- - - - -


1 changed file:

- modules/text_renderer/freetype/fonts/darwin.c


Changes:

=
modules/text_renderer/freetype/fonts/darwin.c
=
@@ -41,7 +41,7 @@
 #include "../platform_fonts.h"
 
 char* getPathForFontDescription(CTFontDescriptorRef fontDescriptor);
-void addNewFontToFamily(filter_t *p_filter, CTFontDescriptorRef iter, char 
*path, vlc_family_t *family);
+void addNewFontToFamily(filter_t *p_filter, CTFontDescriptorRef iter, char 
*path, vlc_family_t *family, int index);
 
 
 char* getPathForFontDescription(CTFontDescriptorRef fontDescriptor)
@@ -60,7 +60,52 @@ char* getPathForFontDescription(CTFontDescriptorRef 
fontDescriptor)
 return retPath;
 }
 
-void addNewFontToFamily(filter_t *p_filter, CTFontDescriptorRef iter, char 
*path, vlc_family_t *p_family)
+static CFIndex getFontIndexInFontFile(const char* psz_filePath, const char* 
psz_family) {
+CFIndex index = kCFNotFound;
+CFURLRef url = 
CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (const UInt8 
*)psz_filePath, strlen(psz_filePath), false);
+if (url == NULL) {
+return kCFNotFound;
+}
+CFArrayRef fontDescriptors = 
CTFontManagerCreateFontDescriptorsFromURL(url);
+if (fontDescriptors == NULL) {
+CFRelease(url);
+return kCFNotFound;
+}
+CFIndex numberOfFontDescriptors = CFArrayGetCount(fontDescriptors);
+CFStringRef targetFontName = 
CFStringCreateWithCString(kCFAllocatorDefault, psz_family, 
kCFStringEncodingUTF8);
+if (targetFontName == NULL) {
+CFRelease(fontDescriptors);
+CFRelease(url);
+return kCFNotFound;
+}
+
+for (CFIndex i = 0; i < numberOfFontDescriptors; i++) {
+CTFontDescriptorRef descriptor = 
(CTFontDescriptorRef)CFArrayGetValueAtIndex(fontDescriptors, i);
+CFStringRef familyName = 
(CFStringRef)CTFontDescriptorCopyAttribute(descriptor, 
kCTFontFamilyNameAttribute);
+CFStringRef fontName = 
(CFStringRef)CTFontDescriptorCopyAttribute(descriptor, kCTFontNameAttribute);
+CFStringRef displayName = 
(CFStringRef)CTFontDescriptorCopyAttribute(descriptor, 
kCTFontDisplayNameAttribute);
+
+if (CFStringCompare(targetFontName, familyName, 
kCFCompareCaseInsensitive) == kCFCompareEqualTo ||
+CFStringCompare(targetFontName, fontName, 
kCFCompareCaseInsensitive) == kCFCompareEqualTo ||
+CFStringCompare(targetFontName, displayName, 
kCFCompareCaseInsensitive) == kCFCompareEqualTo) {
+index = i;
+}
+
+CFRelease(familyName);
+CFRelease(fontName);
+CFRelease(displayName);
+
+if (index != kCFNotFound) {
+break;
+}
+}
+CFRelease(targetFontName);
+CFRelease(fontDescriptors);
+CFRelease(url);
+return index;
+}
+
+void addNewFontToFamily(filter_t *p_filter, CTFontDescriptorRef iter, char 
*path, vlc_family_t *family, int index)
 {
 bool b_bold = false;
 bool b_italic = false;
@@ -79,7 +124,7 @@ void addNewFontToFamily(filter_t *p_filter, 
CTFontDescriptorRef iter, char *path
 #else
 VLC_UNUSED(p_filter);
 #endif
-NewFont(path, 0, b_bold, b_italic, p_family);
+NewFont(path, index, b_bold, b_italic, family);
 
 CFRelease(fontTraits);
 }
@@ -166,7 +211,14 @@ const vlc_family_t *CoreText_GetFamily(filter_t *p_filter, 
const char *psz_famil
 continue;
 }
 
-addNewFontToFamily(p_filter, iter, path, p_family);
+/* get the index of the font family in the font file */
+CFIndex fontIndex = getFontIndexInFontFile(path, psz_lc);
+if (fontIndex == kCFNotFound) {
+FREENULL(path);
+   

[vlc-commits] [Git][videolan/vlc][master] qt: fix memory leak in NetworkDeviceModel

2024-05-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
259c50c2 by Prince Gupta at 2024-05-05T21:03:30+00:00
qt: fix memory leak in NetworkDeviceModel

*GetMediaSource returns a strong reference which must be
released by vlc_media_source_Release (see 
vlc_media_source_provider_GetMediaSource),
store the returned referenced in appropriate RAII handler so
it can be automatically removed at the end of scope

- - - - -


1 changed file:

- modules/gui/qt/network/networkdevicemodel.cpp


Changes:

=
modules/gui/qt/network/networkdevicemodel.cpp
=
@@ -220,8 +220,10 @@ public:
 q->m_name += q->m_name.isEmpty() ? qfu( meta->longname ) : ", " + 
qfu( meta->longname );
 emit q->nameChanged();
 
-auto mediaSource = vlc_media_source_provider_GetMediaSource( 
provider,
-
meta->name );
+MediaSourcePtr mediaSource(
+vlc_media_source_provider_GetMediaSource(provider, 
meta->name)
+, false );
+
 if ( mediaSource == nullptr )
 continue;
 std::unique_ptr l{ new MediaTreeListener(



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/259c50c2bdb6a27c8d3319832f155fd2d3e448cb

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/259c50c2bdb6a27c8d3319832f155fd2d3e448cb
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qt: Added shuffle tooltip

2024-05-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
92123ac2 by Aakarsh MJ at 2024-05-05T20:27:53+00:00
qt: Added shuffle tooltip

Fixes #28595

Signed-off-by: Aakarsh MJ mj.aka...@gmail.com

- - - - -


1 changed file:

- modules/gui/qt/playlist/qml/PlaylistToolbar.qml


Changes:

=
modules/gui/qt/playlist/qml/PlaylistToolbar.qml
=
@@ -74,7 +74,7 @@ RowLayout {
 
 checked: MainPlaylistController.random
 font.pixelSize: VLCStyle.icon_playlist
-Accessible.name: qsTr("Shuffle")
+description: qsTr("Shuffle")
 text: VLCIcons.shuffle
 onClicked: MainPlaylistController.toggleRandom()
 focusPolicy: Qt.NoFocus



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/92123ac20990b6768a277f9aacc707898e8ef652

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/92123ac20990b6768a277f9aacc707898e8ef652
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 5 commits: qt: make MLPlaylistListModel::getItemId() invokable

2024-05-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
7fd37aac by Fatih Uzunoglu at 2024-05-05T18:00:33+00:00
qt: make MLPlaylistListModel::getItemId() invokable

- - - - -
e13f300d by Fatih Uzunoglu at 2024-05-05T18:00:33+00:00
qt: asynchronous method should not return a boolean in MLPlaylistListModel

- - - - -
6b1622d0 by Fatih Uzunoglu at 2024-05-05T18:00:33+00:00
qt: allow appending input item into MLPlaylistListModel

- - - - -
e2d32aeb by Fatih Uzunoglu at 2024-05-05T18:00:33+00:00
qml: enable dropping in PlaylistMediaList

With this patch, it is now possible to drag
media library and input items directly
into a playlist.

New input item is created for an unknown
source. So, actions such as dragging from
file browser should also be supported as long
as the drag event contains URLs.

It is also possible to append a playlist into
another playlist.

Previously, it was only possible to first
load the playlist in order to add items.
Now, in the playlist view (the view where
all the playlists are listed) items can be
dropped in to the playlists.

- - - - -
d5c19a4f by Fatih Uzunoglu at 2024-05-05T18:00:33+00:00
qml: allow dropping items to background in PlaylistMediaList

If items are dropped to background rather than into a
playlist that is available, then a new playlist is created
with the dropped items as its sole content.

- - - - -


3 changed files:

- modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
- modules/gui/qt/medialibrary/mlplaylistlistmodel.hpp
- modules/gui/qt/medialibrary/qml/PlaylistMediaList.qml


Changes:

=
modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
=
@@ -27,6 +27,7 @@
 #include "qt.hpp"
 #include "util/vlctick.hpp"
 #include "dialogs/dialogs_provider.hpp"
+#include "playlist/playlist_controller.hpp"
 
 // MediaLibrary includes
 #include "mlhelper.hpp"
@@ -116,48 +117,64 @@ void appendMediaIntoPlaylist(vlc_medialibrary_t* ml, 
int64_t playlistId, const s
 });
 }
 
-/* Q_INVOKABLE */ bool MLPlaylistListModel::append(const MLItemId & 
playlistId,
+/* Q_INVOKABLE */ void MLPlaylistListModel::append(const MLItemId & 
playlistId,
const QVariantList & ids)
 {
 assert(m_mediaLib);
+assert(ids.size() > 0);
 
 if (unlikely(m_transactionPending))
-return false;
+return;
 
 m_transactionPending = true;
 
-bool result = true;
-std::vector itemList;
-for (const QVariant & id : ids)
-{
-if (id.canConvert() == false)
+m_mediaLib->runOnMLThread(this,
+//ML thread
+[playlistId, ids](vlc_medialibrary_t* ml) {
+std::vector mlItemIdVector;
+mlItemIdVector.reserve(ids.size());
+
+if (ids.at(0).canConvert())
 {
-result = false;
-continue;
-}
+for (const QVariant& id : ids)
+{
+// Do not mix types. This is currently not possible
+// in the application anyway.
+assert(id.canConvert());
 
-const MLItemId & itemId = id.value();
+mlItemIdVector.push_back(id.value());
+}
 
-if (itemId.id == 0)
-{
-result = false;
-continue;
+appendMediaIntoPlaylist(ml, playlistId.id, mlItemIdVector);
 }
-itemList.push_back(itemId);
-}
+else
+{
+QVector medias = 
vlc::playlist::toMediaList(ids);
 
-m_mediaLib->runOnMLThread(this,
-//ML thread
-[playlistId, itemList](vlc_medialibrary_t* ml)
-{
-appendMediaIntoPlaylist(ml, playlistId.id, itemList);
+for (const auto& media : medias)
+{
+assert(media.raw());
+
+const char * const uri = media.raw()->psz_uri;
+
+vlc_ml_media_t * ml_media = vlc_ml_get_media_by_mrl(ml, uri);
+
+if (ml_media == nullptr)
+{
+ml_media = vlc_ml_new_external_media(ml, uri);
+if (ml_media == nullptr)
+continue;
+}
+
+vlc_ml_playlist_append(ml, playlistId.id, ml_media->i_id);
+vlc_ml_media_release(ml_media);
+}
+}
 },
 //UI thread
 [this]() {
 endTransaction();
 });
-
-return result;
 }
 
 /* Q_INVOKABLE */ bool MLPlaylistListModel::deletePlaylists(const QVariantList 
& ids)


=
modules/gui/qt/medialibrary/mlplaylistlistmodel.hpp
=
@@ -64,13 +64,13 @@ public:
 public: // Interface
 Q_INVOKABLE void create(const QString & name, const QVariantList& 
initialItems);
 
-Q_INVOKABLE bool append(const MLItemId & playlistId, const QVariantList &

[vlc-commits] [Git][videolan/vlc][master] 9 commits: macosx: Add NSImage extension method to get thumbnail from localUrl asynchronously

2024-05-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
530a8554 by Claudio Cambra at 2024-05-05T17:15:36+00:00
macosx: Add NSImage extension method to get thumbnail from localUrl 
asynchronously

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
ab2e9a10 by Claudio Cambra at 2024-05-05T17:15:36+00:00
macosx: Make getting thumbnail image for input item async

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
8ee07689 by Claudio Cambra at 2024-05-05T17:15:36+00:00
macosx: Enforce use of async thumbnailing

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
64ae7930 by Claudio Cambra at 2024-05-05T17:15:36+00:00
macosx: Actually fetch the thumbnail in QuickLook thumbnail generator

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
0444ac77 by Claudio Cambra at 2024-05-05T17:15:36+00:00
macosx: Fix check for stream in input item thumbnail generation

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
5dc72cd2 by Claudio Cambra at 2024-05-05T17:15:36+00:00
macosx: Store async input item thumbnail in image cache

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
0a46015f by Claudio Cambra at 2024-05-05T17:15:36+00:00
macosx: Just use folder icon for the input node path control item

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
b11661f1 by Claudio Cambra at 2024-05-05T17:15:36+00:00
macosx: Be more permissive with QL thumbnail representations

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
3634ea93 by Claudio Cambra at 2024-05-05T17:15:36+00:00
macosx: Set image on cache for input item thumbnail on main queue

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


10 changed files:

- modules/gui/macosx/Makefile.am
- modules/gui/macosx/extensions/NSImage+VLCAdditions.h
- modules/gui/macosx/extensions/NSImage+VLCAdditions.m
- modules/gui/macosx/library/VLCInputItem.h
- modules/gui/macosx/library/VLCInputItem.m
- modules/gui/macosx/library/VLCInputNodePathControlItem.m
- modules/gui/macosx/library/VLCLibraryHeroView.m
- modules/gui/macosx/library/VLCLibraryImageCache.h
- modules/gui/macosx/library/VLCLibraryImageCache.m
- modules/gui/macosx/panels/VLCInformationWindowController.m


Changes:

=
modules/gui/macosx/Makefile.am
=
@@ -48,6 +48,7 @@ libmacosx_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath 
'$(guidir)' \
-Wl,-framework,ScriptingBridge \
-Wl,-framework,WebKit \
-Wl,-framework,QuickLook \
+   -Wl,-framework,QuickLookThumbnailing \
-Wl,-weak_framework,MediaPlayer
 
 if HAVE_SPARKLE


=
modules/gui/macosx/extensions/NSImage+VLCAdditions.h
=
@@ -26,6 +26,12 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface NSImage (VLCAdditions)
 
++ (void)quickLookPreviewForLocalPath:(NSString *)path 
+withSize:(NSSize)size 
+   completionHandler:(void (^)(NSImage * 
_Nullable))completionHandler;
++ (void)quickLookPreviewForLocalURL:(NSURL *)url 
+   withSize:(NSSize)size 
+  completionHandler:(void (^)(NSImage * 
_Nullable))completionHandler;
 + (instancetype)quickLookPreviewForLocalPath:(NSString*)path 
withSize:(NSSize)size;
 + (instancetype)quickLookPreviewForLocalURL:(NSURL*)url withSize:(NSSize)size;
 + (instancetype)compositeImageWithImages:(NSArray * const)images


=
modules/gui/macosx/extensions/NSImage+VLCAdditions.m
=
@@ -23,9 +23,51 @@
 #import "NSImage+VLCAdditions.h"
 
 #import 
+#import 
 
 @implementation NSImage(VLCAdditions)
 
++ (void)quickLookPreviewForLocalPath:(NSString *)path 
+withSize:(NSSize)size 
+   completionHandler:(void (^)(NSImage *))completionHandler
+{
+NSURL * const pathUrl = [NSURL fileURLWithPath:path];
+[self quickLookPreviewForLocalURL:pathUrl withSize:size 
completionHandler:completionHandler];
+}
+
++ (void)quickLookPreviewForLocalURL:(NSURL *)url 
+   withSize:(NSSize)size 
+  completionHandler:(void (^)(NSImage *))completionHandler
+{
+if (@available(macOS 10.15, *)) {
+const QLThumbnailGenerationRequestRepresentationTypes type = 
+QLThumbnailGenerationRequestRepresentationTypeAll;
+QLThumbnailGenerator * const generator = 
QLThumbnailGenerator.sharedGenerator;
+QLThumbnailGenerationRequest * const request = 
+[[QLThumbnailGenerationRequest alloc] initWithFileAtURL:url 
+   size:size 
+  scale:1. 
+representationTypes:type];
+

[vlc-commits] [Git][videolan/vlc][master] Revert "qml: force "Segoe UI" as default font on windows"

2024-05-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
bcd5247f by Fatih Uzunoglu at 2024-05-05T16:24:50+00:00
Revert qml: force Segoe UI as default font on windows

This reverts commit 654edb763fbb56c9cdf2f0ab23612a409e90f5ed.

Qt 6 should use Segoe UI font by default on windows. See
QTBUG-58610.

- - - - -


3 changed files:

- modules/gui/qt/Makefile.am
- − modules/gui/qt/pixmaps/windows-theme.conf
- modules/gui/qt/windows.qrc


Changes:

=
modules/gui/qt/Makefile.am
=
@@ -870,7 +870,7 @@ libqt_plugin_la_RES = \
pixmaps/sd/unknown.svg
 
 if HAVE_WIN32
-libqt_plugin_la_RES += pixmaps/windows-theme.conf \
+libqt_plugin_la_RES += \
pixmaps/win7/pause.svg \
pixmaps/win7/prev.svg \
pixmaps/win7/next.svg \


=
modules/gui/qt/pixmaps/windows-theme.conf deleted
=
@@ -1,2 +0,0 @@
-[Default]
-Font\Family=Segoe UI


=
modules/gui/qt/windows.qrc
=
@@ -1,8 +1,5 @@
 
 
-
-pixmaps/windows-theme.conf
-
 
 pixmaps/win7/pause.svg
 pixmaps/win7/prev.svg



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/bcd5247fb75f7c56ce02e4adaf927bbfcd61fce1

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/bcd5247fb75f7c56ce02e4adaf927bbfcd61fce1
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: use function for signal handlers

2024-05-05 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
65e0e215 by Pierre Lamot at 2024-05-05T16:02:59+00:00
qml: use function for signal handlers

qt will warn about parameter injection otherwise

- - - - -


21 changed files:

- modules/gui/qt/dialogs/dialogs/qml/WindowDialog.qml
- modules/gui/qt/dialogs/toolbar/qml/ToolbarEditorDialog.qml
- modules/gui/qt/maininterface/qml/BannerSources.qml
- modules/gui/qt/medialibrary/qml/MusicAlbums.qml
- modules/gui/qt/medialibrary/qml/MusicArtist.qml
- modules/gui/qt/medialibrary/qml/MusicGenres.qml
- modules/gui/qt/medialibrary/qml/PlaylistMedia.qml
- modules/gui/qt/medialibrary/qml/VideoAll.qml
- modules/gui/qt/medialibrary/qml/VideoAllSubDisplay.qml
- modules/gui/qt/medialibrary/qml/VideoGridDisplay.qml
- modules/gui/qt/medialibrary/qml/VideoRecentVideos.qml
- modules/gui/qt/network/qml/BrowseDeviceView.qml
- modules/gui/qt/network/qml/BrowseDisplay.qml
- modules/gui/qt/network/qml/BrowseTreeDisplay.qml
- modules/gui/qt/player/qml/Player.qml
- modules/gui/qt/player/qml/TopBar.qml
- modules/gui/qt/playlist/qml/PlaylistDelegate.qml
- modules/gui/qt/playlist/qml/PlaylistToolbar.qml
- modules/gui/qt/widgets/qml/CSDTitlebarTapNDrapHandler.qml
- modules/gui/qt/widgets/qml/GridItem.qml
- modules/gui/qt/widgets/qml/SortControl.qml


Changes:

=
modules/gui/qt/dialogs/dialogs/qml/WindowDialog.qml
=
@@ -49,7 +49,10 @@ Window {
 signal reset()
 
 onAccepted: hide()
-onRejected: if (byButton) hide()
+onRejected: (byButton) => {
+if (byButton)
+hide()
+}
 onApplied: hide()
 onDiscarded: hide()
 onReset: hide()


=
modules/gui/qt/dialogs/toolbar/qml/ToolbarEditorDialog.qml
=
@@ -49,7 +49,7 @@ WindowDialog {
 unload()
 }
 
-onRejected: {
+onRejected: (byButton) => {
 // Load saved to discard the changes
 MainCtx.controlbarProfileModel.reload()
 unload()


=
modules/gui/qt/maininterface/qml/BannerSources.qml
=
@@ -287,10 +287,12 @@ T.ToolBar {
 sortKey:  MainCtx.sort.criteria
 sortOrder: MainCtx.sort.order
 
-onSortSelected: {
+onSortSelected: (key) => {
 MainCtx.sort.criteria = key
 }
-onSortOrderSelected: MainCtx.sort.order = type
+onSortOrderSelected: (type) => {
+MainCtx.sort.order = type
+}
 }
 }
 


=
modules/gui/qt/medialibrary/qml/MusicAlbums.qml
=
@@ -233,7 +233,7 @@ MainInterface.MainViewLoader {
 
 model: albumModelId
 selectionModel: root.selectionModel
-onActionForSelection: _actionAtIndex(selection[0]);
+onActionForSelection: (selection) => _actionAtIndex(selection[0])
 Navigation.parentItem: root
 section.property: "title_first_symbol"
 header: root.header


=
modules/gui/qt/medialibrary/qml/MusicArtist.qml
=
@@ -433,7 +433,7 @@ FocusScope {
 clip: true // content may overflow if not enough space is provided
 model: trackModel
 
-onActionForSelection: {
+onActionForSelection: (selection) => {
 model.addAndPlay(selection)
 }
 


=
modules/gui/qt/medialibrary/qml/MusicGenres.qml
=
@@ -270,7 +270,7 @@ MainInterface.MainViewLoader {
 
 selectionModel: root.selectionModel
 focus: true
-onActionForSelection: _actionAtIndex(selection)
+onActionForSelection: (selection) => _actionAtIndex(selection)
 Navigation.parentItem: root
 dragItem: genreDragItem
 rowHeight: VLCStyle.tableCoverRow_height


=
modules/gui/qt/medialibrary/qml/PlaylistMedia.qml
=
@@ -122,8 +122,8 @@ MainInterface.MainTableView {
 // Events
 
//-
 
-onActionForSelection: model.addAndPlay( selection )
-onItemDoubleClicked: MediaLib.addAndPlay(model.id)
+onActionForSelection: (selection) => model.addAndPlay( selection )
+onItemDoubleClicked: (index, model) => MediaLib.addAndPlay(model.id)
 
 
 onDropEn

[vlc-commits] [Git][videolan/vlc][master] packetizer: avparser: fix leak on flush

2024-05-01 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
0e39c49c by François Cartegnie at 2024-05-01T12:23:44+00:00
packetizer: avparser: fix leak on flush

- - - - -


1 changed file:

- modules/packetizer/avparser.c


Changes:

=
modules/packetizer/avparser.c
=
@@ -66,6 +66,8 @@ static void FlushPacketizer( decoder_t *p_dec )
 {
 avparser_ClosePacketizer( VLC_OBJECT( p_dec ) );
 p_dec->p_sys = NULL;
+es_format_Clean( _dec->fmt_out );
+es_format_Init( _dec->fmt_out, p_dec->fmt_in->i_cat, 0 );
 int res = avparser_OpenPacketizer( VLC_OBJECT( p_dec ) );
 if ( res != VLC_SUCCESS )
 {



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/0e39c49c95a97113006864d388b4cf9021c13ce2

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/0e39c49c95a97113006864d388b4cf9021c13ce2
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 24 commits: adaptive: FakeESOut: switch to lambda initialization

2024-05-01 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
dc58c823 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
adaptive: FakeESOut: switch to lambda initialization

Switching to a zero-initialized structure provides the same behaviour as
designated initializers in C code, ie. optional callbacks dont need to
be specified during initialization. This simplify a lot adding and
removing callbacks to the virtual tables since we dont need to modify
every files using the table at the same time as changing the table
itself.

- - - - -
ab6e2ec2 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
test: FakeESOut: switch to lambda initialization

Switching to a zero-initialized structure provides the same behaviour as
designated initializers in C code, ie. optional callbacks dont need to
be specified during initialization. This simplify a lot adding and
removing callbacks to the virtual tables since we dont need to modify
every files using the table at the same time as changing the table
itself.

- - - - -
797cf422 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
test: timestamps_filter: use designated initializers

Switching to a designated initializer structure means that optional
callbacks dont need to be specified during initialization. This
simplify a lot adding and removing callbacks to the virtual tables since
we dont need to modify every files using the table at the same time as
changing the table itself.

- - - - -
b90e31e7 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
es_out: add new vlc_input_es_out structure

The structure will replace the previous priv_control that was
implemented mostly by input-specific es_out, and will allow to implement
more controls through operations instead, when suited.

- - - - -
cf0b9634 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
es_out: inherit vlc_input_es_out

No functional changes for now, the ops are set to NULL. This will allow
to move the private control callback out of the es_out_t interface.

- - - - -
098a70a7 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
es_out: source: inherit vlc_input_es_out

No functional changes for now, the ops are set to NULL. This will allow
to move the private control callback out of the es_out_t interface.

- - - - -
29c65121 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
es_out: timeshift: inherit vlc_input_es_out

No functional changes for now, the ops are set to NULL. This will allow
to move the private control callback out of the es_out_t interface.

- - - - -
37271343 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
input: es_out: return vlc_input_es_out

Now that every clients are inheriting vlc_input_es_out, we can output a
vlc_input_es_out object to the core input directly.

For now, the input still upcasts to es_out_t to avoid modifying the
whole file in this commit.

- - - - -
4033cbe4 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
es_out: handle both es_out_t and vlc_input_es_out

This commit provides temporary compatibility macros to be able to change
the type used for the first parameter in each of the clients of the
private control API.

They will be removed in later commits.

- - - - -
7b818ff4 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
input: store intermediate vlc_input_es_out

Now that the es_out is an instance of vlc_input_es_out, we want to use
the new interface as much as possible. The es_out private callbacks will
handle both types so the transition can be partial in this commit to
keep it minial aand mostly change the stored variables and the other calls.

- - - - -
b0d126b5 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
input: source: store vlc_input_es_out directly

Make input_source_t store a vlc_input_es_out directly instead of an
es_out_t. Indeed, an input_source_t is always linked to an es_out_t
which is able to execute private controls for the playback.

- - - - -
0902d6a6 by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
input: es_out_source: initialize with vlc_input_es_out

Now that every input es_out_t implementations are inheriting
vlc_input_es_out and every locations in the input are storing
vlc_input_es_out directly, we can forward the downclass to the
es_out_source vlc_input_es_out implementation so that it can forward the
private controls to the next vlc_input_es_out.

- - - - -
66a3078f by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
input: es_out_source: directly store vlc_input_es_out

input_EsOutSourceNew() is now receiving a vlc_input_es_out instance to
initialize the next hop in the es_out_t chain, so we can use this
internally. This will allow calling the vlc_input_es_out private control
instead of the es_out_t one.

- - - - -
ad7bfa7d by Alexandre Janniaux at 2024-04-30T21:09:23+00:00
input: es_out_source: redirect to private operations when available

Setup compatibility path to redirect to vlc_input_es_out private control
instead of using the es_out_t private control when its available.

- - - - -
37026079 by Alexandre

[vlc-commits] [Git][videolan/vlc][master] qml: set `reuseItems` property declaratively in KeyNavigableListView

2024-04-30 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
b96588cc by Fatih Uzunoglu at 2024-04-30T08:54:58+00:00
qml: set `reuseItems` property declaratively in KeyNavigableListView

- - - - -


1 changed file:

- modules/gui/qt/widgets/qml/KeyNavigableListView.qml


Changes:

=
modules/gui/qt/widgets/qml/KeyNavigableListView.qml
=
@@ -83,6 +83,8 @@ ListView {
 
 boundsBehavior: Flickable.StopAtBounds
 
+reuseItems: true
+
 section.property: ""
 section.criteria: ViewSection.FullString
 section.delegate: sectionHeading
@@ -91,13 +93,6 @@ ListView {
 
 // Events
 
-Component.onCompleted: {
-if (typeof root.reuseItems === "boolean") {
-// Qt 5.15 feature, on by default here:
-root.reuseItems = true
-}
-}
-
 // NOTE: We always want a valid 'currentIndex' by default.
 onCountChanged: if (count && currentIndex === -1) currentIndex = 0
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/b96588ccc935e5a6cd9c2c7fd07d1beec7825f7e

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/b96588ccc935e5a6cd9c2c7fd07d1beec7825f7e
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qt: fix URL deserialization in VLCAcessImageProvider

2024-04-30 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
82db96fa by Pierre Lamot at 2024-04-30T06:15:02+00:00
qt: fix URL deserialization in VLCAcessImageProvider

characters as `?` or `` remained encoded and were causing access issue for
artwork from services discoveries such as jamendo

- - - - -


1 changed file:

- modules/gui/qt/util/vlcaccess_image_provider.cpp


Changes:

=
modules/gui/qt/util/vlcaccess_image_provider.cpp
=
@@ -158,7 +158,7 @@ QQuickImageResponse* 
VLCAccessImageProvider::requestImageResponse(const QString&
 if (!query.hasQueryItem(PATH_KEY))
 return nullptr;
 
-QString vlcurl = query.queryItemValue(PATH_KEY, QUrl::FullyEncoded);
+QString vlcurl = query.queryItemValue(PATH_KEY, QUrl::FullyDecoded);
 return new VLCAccessImageResponse(QUrl::fromEncoded(vlcurl.toUtf8()), 
requestedSize, postProcessCb);
 }
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/82db96fad087e005a8190c90b8bf862265af7c7e

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/82db96fad087e005a8190c90b8bf862265af7c7e
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qt: ensure network models aren't as cachable too early

2024-04-30 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
2212ef87 by Pierre Lamot at 2024-04-30T05:41:15+00:00
qt: ensure network models arent as cachable too early

most network models are loaded asynchronously, if the cache is built right after
the model initialisation, data isnt loaded yet and the first model version 
is
built on an empty list, which can lead to a transitory state where the view
assumes its not loading anymore and that no data is present

- - - - -


8 changed files:

- modules/gui/qt/Makefile.am
- modules/gui/qt/meson.build
- modules/gui/qt/network/networkdevicemodel.cpp
- modules/gui/qt/network/networkmediamodel.cpp
- modules/gui/qt/network/networksourcesmodel.cpp
- modules/gui/qt/network/servicesdiscoverymodel.cpp
- modules/gui/qt/network/standardpathmodel.cpp
- + modules/gui/qt/util/locallistbasemodel.hpp


Changes:

=
modules/gui/qt/Makefile.am
=
@@ -308,6 +308,7 @@ libqt_plugin_la_SOURCES = \
util/listcache.hxx util/listcache.hpp \
util/listcacheloader.hpp \
util/locallistcacheloader.hpp \
+   util/locallistbasemodel.hpp \
util/navigation_history.cpp util/navigation_history.hpp \
util/item_key_event_filter.cpp \
util/item_key_event_filter.hpp \


=
modules/gui/qt/meson.build
=
@@ -129,6 +129,7 @@ moc_headers = files(
 'util/keyhelper.hpp',
 'util/listcache.hpp',
 'util/locallistcacheloader.hpp',
+'util/locallistbasemodel.hpp',
 'util/navigation_history.hpp',
 'util/item_key_event_filter.hpp',
 'util/effects_image_provider.hpp',
@@ -692,4 +693,3 @@ if qt6_dep.found()
 'dependencies': [qt6_dep, qt_extra_deps],
 }
 endif
-


=
modules/gui/qt/network/networkdevicemodel.cpp
=
@@ -28,8 +28,7 @@
 #include "playlist/playlist_controller.hpp"
 
 #include "util/shared_input_item.hpp"
-#include "util/base_model_p.hpp"
-#include "util/locallistcacheloader.hpp"
+#include "util/locallistbasemodel.hpp"
 
 namespace
 {
@@ -158,17 +157,16 @@ bool ListCache::compareItems(const 
NetworkDeviceItemPtr& a
 // NetworkDeviceModelPrivate
 
 class NetworkDeviceModelPrivate
-: public BaseModelPrivateT
-, public LocalListCacheLoader::ModelSource
+: public LocalListBaseModelPrivate
 {
 Q_DECLARE_PUBLIC(NetworkDeviceModel)
 public:
 NetworkDeviceModelPrivate(NetworkDeviceModel * pub)
-: BaseModelPrivateT(pub)
+: LocalListBaseModelPrivate(pub)
 , m_items(0, NetworkDeviceItemHash{}, NetworkDeviceItemEqual{})
 {}
 
-NetworkDeviceModelLoader::ItemCompare getSortFunction() const
+NetworkDeviceModelLoader::ItemCompare getSortFunction() const override
 {
 if (m_sortCriteria == "mrl")
 {
@@ -186,13 +184,6 @@ public:
 }
 }
 
-std::unique_ptr> createLoader() 
const override
-{
-return std::make_unique(
-this, m_searchPattern,
-getSortFunction());
-}
-
 bool initializeModel() override
 {
 Q_Q(NetworkDeviceModel);
@@ -240,6 +231,11 @@ public:
 return false;
 m_listeners.push_back( std::move( l ) );
 }
+
+//service discovery don't notify preparse end
+m_loading = false;
+emit q->loadingChanged();
+
 return m_listeners.empty() == false;
 }
 
@@ -293,7 +289,7 @@ public:
 
 if (dataChanged)
 {
-m_modelRevision += 1;
+m_revision += 1;
 invalidateCache();
 }
 }
@@ -336,17 +332,12 @@ public:
 }
 if (dataChanged)
 {
-m_modelRevision += 1;
+m_revision += 1;
 invalidateCache();
 }
 }
 
 public: //LocalListCacheLoader::ModelSource
-size_t getModelRevision() const override
-{
-return m_modelRevision;
-}
-
 std::vector getModelData(const QString& pattern) 
const override
 {
 std::vector items;
@@ -369,7 +360,6 @@ public: //LocalListCacheLoader::ModelSource
 }
 
 public:
-size_t m_modelRevision = 0;
 NetworkDeviceItemSet m_items;
 std::vector> m_listeners;
 };


=
modules/gui/qt/network/networkmediamodel.cpp
=
@@ -21,8 +21,7 @@
 
 #include "maininterface/mainctx.hpp"
 
-#include "util/base_model_p.hpp"
-#include "util/locallistcacheloader.hpp"
+#include "util/locallistbasemodel.hpp"
 
 #include "playlist/media.hpp"
 #include "playlist/playlist_controller.hpp"
@@ -75,14 +74,13 @@ bool ListCache::compareItems(const 
NetworkMediaItemPtr& a,
 // NetworkMediaModelPrivate
 
 class NetworkMediaModelPrivate
-  

[vlc-commits] [Git][videolan/vlc][master] 2 commits: qml: fix record button text/description

2024-04-29 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
1eb85220 by Pierre Lamot at 2024-04-30T05:07:25+00:00
qml: fix record button text/description

property requirement of IconToolButton changed since 
d6b6ac32c25c561bab27c7775659cba2ac31a570

- - - - -
c1d4b32c by Pierre Lamot at 2024-04-30T05:07:25+00:00
qml: update RecordButton animation

* contentitem implementation aligns with IconToolButton
* animation fades to transparent red rather than transparent black
* animation will fade in then fade out

- - - - -


1 changed file:

- modules/gui/qt/player/qml/controlbarcontrols/RecordButton.qml


Changes:

=
modules/gui/qt/player/qml/controlbarcontrols/RecordButton.qml
=
@@ -29,34 +29,44 @@ Widgets.IconToolButton {
 
 enabled: !paintOnly && Player.isPlaying
 
-color: "red" //red means recording
-text: qsTr("record")
+color: "#" //red means recording
+text: VLCIcons.record
+description: qsTr("record")
 
 onClicked: Player.toggleRecord()
 
-contentItem: T.Label {
-anchors.centerIn: parent
+//IconToolButton already contains a color animation that would conflict
+contentItem: Widgets.IconLabel {
+text: control.text
 
-verticalAlignment: Text.AlignVCenter
-horizontalAlignment: Text.AlignHCenter
-
-text: VLCIcons.record
 color: control.color
 
-ColorAnimation on color {
-from:  "transparent"
-to: control.color
-//this is an animation and not a transisition, we explicitly want 
a long duration
-duration: 1000
+SequentialAnimation on color {
 loops: Animation.Infinite
-easing.type: Easing.InOutSine
 running: control.enabled && Player.recording
 
+ColorAnimation  {
+from:  "#"
+to: "#00FF"//use "red" transparent
+//this is an animation and not a transisition, we explicitly 
want a long duration
+duration: 1000
+easing.type: Easing.InSine
+}
+
+ColorAnimation  {
+from:"#00FF"
+to: "#"
+//this is an animation and not a transisition, we explicitly 
want a long duration
+duration: 1000
+easing.type: Easing.OutSine
+}
+
 onStopped: {
-control.contentItem.color = control.color
+color = "#"
 }
 }
-
-Accessible.ignored: true
+font: control.font
 }
+
+
 }



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/a09caaa34c18d7b69cfca7759c4a39e2d0cd4b4f...c1d4b32cb7380df649827884e31f89ee6719efb4

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/a09caaa34c18d7b69cfca7759c4a39e2d0cd4b4f...c1d4b32cb7380df649827884e31f89ee6719efb4
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qt: fix removal in NetworkDeviceModel

2024-04-29 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
a09caaa3 by Prince Gupta at 2024-04-30T04:42:12+00:00
qt: fix removal in NetworkDeviceModel

- - - - -


1 changed file:

- modules/gui/qt/network/networkdevicemodel.cpp


Changes:

=
modules/gui/qt/network/networkdevicemodel.cpp
=
@@ -303,8 +303,6 @@ public:
 bool dataChanged = false;
 for (const SharedInputItem& p_item : inputList)
 {
-auto items = m_items;
-
 auto oldItem = std::make_shared(p_item, 
mediaSource);
 NetworkDeviceItemSet::iterator it = m_items.find(oldItem);
 if (it != m_items.end())
@@ -330,7 +328,7 @@ public:
 
 if (!found)
 {
-items.erase(it);
+m_items.erase(it);
 dataChanged = true;
 }
 }



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/a09caaa34c18d7b69cfca7759c4a39e2d0cd4b4f

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/a09caaa34c18d7b69cfca7759c4a39e2d0cd4b4f
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 6 commits: qt: add missing xml version to vlc.qrc

2024-04-29 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
5e61d44e by Fatih Uzunoglu at 2024-04-29T08:48:25+00:00
qt: add missing xml version to vlc.qrc

- - - - -
5d7cbdde by Fatih Uzunoglu at 2024-04-29T08:48:25+00:00
qt: add missing xml version to windows.qrc

- - - - -
9fb4d0c0 by Fatih Uzunoglu at 2024-04-29T08:48:25+00:00
qt: add missing xml version to shaders.qrc

- - - - -
afe2207f by Fatih Uzunoglu at 2024-04-29T08:48:25+00:00
qt: fix resource issues

- Split vlc.qrc into assets.qrc and qml.qrc.
- Re-generate resource when qml files are updated.
- Initialize all resources explicitly.
- Split resource initialization in Makefile.
- Include qml files in resources, regardless if
  qmlcachegen is used or not.

- - - - -
e33592f8 by Fatih Uzunoglu at 2024-04-29T08:48:25+00:00
qt: do not use `Q_INIT_RESOURCE` in qml_test.cpp

We dont use the test with static Qt, and
Q_INIT_RESOURCE should not be necessary
with dynamically linked Qt.

- - - - -
2e086ae8 by Fatih Uzunoglu at 2024-04-29T08:48:25+00:00
extras: ci: ignore qt compiled resources coverage

Ignore qt6-assets_qrc.cpp, qt6-qml_qrc.cpp,
qt6-shaders_qrc.cpp, qt6-windows_qrc.cpp.

- - - - -


9 changed files:

- extras/ci/gitlab-ci.yml
- modules/gui/qt/Makefile.am
- + modules/gui/qt/assets.qrc
- modules/gui/qt/meson.build
- modules/gui/qt/vlc.qrc → modules/gui/qt/qml.qrc
- modules/gui/qt/qt.cpp
- modules/gui/qt/shaders/shaders.qrc
- modules/gui/qt/tests/qml_test.cpp
- modules/gui/qt/windows.qrc


Changes:

=
extras/ci/gitlab-ci.yml
=
@@ -363,10 +363,10 @@ debian-meson:
 - |
 # We split in two different commands to handle the case where
 # the coverage will be generated on different jobs later.
-# Note: qt6-vlc_qrc.cpp needs to be remove from the report since 
its
+# Note: qt6-assets_qrc.cpp, qt6-qml_qrc.cpp, qt6-shaders_qrc.cpp, 
qt6-windows_qrc.cpp need to be remove from the report since their
 # coverage should not be checked. It leads to gcovr having trouble
 # parsing the coverage otherwise.
-gcovr -r "${CI_PROJECT_DIR}/" --json 
"${CI_PROJECT_DIR}/${CI_JOB_NAME}.cov.json" -j$NCPU 
--gcov-ignore-parse-errors=negative_hits.warn_once_per_file --exclude 
build-meson/modules/gui/qt/qt6-vlc_qrc.cpp
+gcovr -r "${CI_PROJECT_DIR}/" --json 
"${CI_PROJECT_DIR}/${CI_JOB_NAME}.cov.json" -j$NCPU 
--gcov-ignore-parse-errors=negative_hits.warn_once_per_file --exclude 
build-meson/modules/gui/qt/qt6-assets_qrc.cpp --exclude 
build-meson/modules/gui/qt/qt6-qml_qrc.cpp --exclude 
build-meson/modules/gui/qt/shaders/qt6-shaders_qrc.cpp --exclude 
build-meson/modules/gui/qt/qt6-windows_qrc.cpp
 
 - mkdir html-coverage
 - >


=
modules/gui/qt/Makefile.am
=
@@ -1150,15 +1150,21 @@ shaders/shaders.cpp: $(srcdir)/shaders/shaders.qrc 
$(libqt_plugin_la_SHADER:.fra
 libqt_plugin_la_SOURCES += shaders/shaders.qrc $(libqt_plugin_la_SHADER)
 BUILT_SOURCES += shaders/shaders.qrc
 
-lib_qt_plugin_la_QRC = vlc.qrc
+lib_qt_plugin_la_QRC = assets.qrc qml.qrc
 
 if HAVE_WIN32
 lib_qt_plugin_la_QRC += windows.qrc
+
+windows.cpp: $(libqt_plugin_la_RES)
+windows.cpp: windows.qrc
+   $(AM_V_GEN)$(RCC) --name windows -o $@ $<
+
+nodist_libqt_plugin_la_SOURCES += windows.cpp
 endif
 
 EXTRA_DIST += $(lib_qt_plugin_la_QRC) $(libqt_plugin_la_RES) 
$(libqt_plugin_la_SHADER)
 
-nodist_libqt_plugin_la_SOURCES += resources.cpp shaders/shaders.cpp
+nodist_libqt_plugin_la_SOURCES += assets.cpp qml.cpp shaders/shaders.cpp
 endif
 
 if ENABLE_VLM
@@ -1171,36 +1177,34 @@ nodist_libqt_plugin_la_SOURCES += qmlcache_loader.cpp
 libqt_plugin_la_SOURCES += $(libqt_plugin_la_QML)
 
 .qml.cpp:
-   $(AM_V_GEN)$(QMLCACHEGEN) --resource=$(srcdir)/vlc.qrc -o $@ $<
+   $(AM_V_GEN)$(QMLCACHEGEN) --resource=$(srcdir)/qml.qrc -o $@ $<
 
 .js.cpp:
-   $(AM_V_GEN)$(QMLCACHEGEN) --resource=$(srcdir)/vlc.qrc -o $@ $<
+   $(AM_V_GEN)$(QMLCACHEGEN) --resource=$(srcdir)/qml.qrc -o $@ $<
 
 .mjs.cpp:
-   $(AM_V_GEN)$(QMLCACHEGEN) --resource=$(srcdir)/vlc.qrc -o $@ $<
-
-qml_cache.qrc: vlc.qrc
-   $(AM_V_GEN)$(QMLCACHEGEN) --filter-resource-file -o $@ $<
-
-QRCS_EXCEPT_VLC_QRC = $(filter-out vlc.qrc, $(lib_qt_plugin_la_QRC))
-QRCS_EXCEPT_VLC_QRC += qml_cache.qrc
-
-resources.cpp: $(QRCS_EXCEPT_VLC_QRC) $(libqt_plugin_la_RES)
-   $(AM_V_GEN)$(RCC) --name qml_cache -o $@ $(filter %.qrc, $^)
+   $(AM_V_GEN)$(QMLCACHEGEN) --resource=$(srcdir)/qml.qrc -o $@ $<
 
 #output name matters here
-qmlcache_loader.cpp: vlc.qrc qml_cache.qrc $(libqt_plugin_la_QML)
-   $(AM_V_GEN)$(QMLCACHEGEN) --resource-file-mapping=$<=qml_cache.qrc $< 
-o $@
+qmlcache_loader.cpp: $(libqt_plugin_la_QML)
+qmlcache_loader.cpp: qml.qrc
+   $(AM_V_G

[vlc-commits] [Git][videolan/vlc][master] avcodec/chroma: map VLC_CODEC_VUYA to AV_PIX_FMT_VUYX

2024-04-28 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
60c58cee by Steve Lhomme at 2024-04-28T22:57:41+00:00
avcodec/chroma: map VLC_CODEC_VUYA to AV_PIX_FMT_VUYX

It is (at least) part of FFmpeg 6.1 and can be used as DXVA/QSV output.

- - - - -


1 changed file:

- modules/codec/avcodec/chroma.c


Changes:

=
modules/codec/avcodec/chroma.c
=
@@ -121,6 +121,10 @@ static const struct
 {VLC_CODEC_UYVY, AV_PIX_FMT_UYVY422,  COLOR_RANGE_UNDEF },
 {VLC_CODEC_YVYU, AV_PIX_FMT_YVYU422,  COLOR_RANGE_UNDEF },
 
+#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 34, 100)
+{VLC_CODEC_VUYA, AV_PIX_FMT_VUYX, COLOR_RANGE_UNDEF },
+#endif
+
 /* Packed RGB formats */
 {VLC_CODEC_RGB233, AV_PIX_FMT_RGB8,  COLOR_RANGE_UNDEF },
 {VLC_CODEC_BGR233, AV_PIX_FMT_BGR8,  COLOR_RANGE_UNDEF },



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/60c58cee7707d5ac7617b833e4c2bd2b628de6f9

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/60c58cee7707d5ac7617b833e4c2bd2b628de6f9
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 7 commits: qt: update to Qt 6.7.0

2024-04-28 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
42fa6221 by Fatih Uzunoglu at 2024-04-28T19:10:37+00:00
qt: update to Qt 6.7.0

- - - - -
8ef5c090 by Fatih Uzunoglu at 2024-04-28T19:10:37+00:00
contrib: qtbase: use the version variable for pkg check

- - - - -
2ed0758b by Fatih Uzunoglu at 2024-04-28T19:10:37+00:00
contrib: qtsvg: use the version variable for pkg check

- - - - -
fbda9ec9 by Fatih Uzunoglu at 2024-04-28T19:10:37+00:00
contrib: qtshadertools: use the version variable for pkg check

- - - - -
15a1c018 by Fatih Uzunoglu at 2024-04-28T19:10:37+00:00
contrib: qtdeclarative: use the version variable for pkg check

- - - - -
5475eab5 by Fatih Uzunoglu at 2024-04-28T19:10:37+00:00
contrib: qt5compat: use the version variable for pkg check

- - - - -
9cbc2ff2 by Fatih Uzunoglu at 2024-04-28T19:10:37+00:00
contrib: update to Qt 6.7.0

- - - - -


30 changed files:

- − 
contrib/src/qt/0001-CMake-Place-resources-into-static-libraries-not-obje.patch
- − contrib/src/qt/0001-QTypeInfo-Add-a-missing-include.patch
- contrib/src/qt/0002-Windows-Tray-Icon-Set-NOSOUND.patch → 
contrib/src/qt/0001-Windows-Tray-Icon-Set-NOSOUND.patch
- − contrib/src/qt/0002-QStringTokenizer-Add-a-missing-include.patch
- contrib/src/qt/0003-Try-to-generate-pkgconfig-pc-files-in-static-build.patch 
→ contrib/src/qt/0002-Try-to-generate-pkgconfig-pc-files-in-static-build.patch
- − contrib/src/qt/0003-CMake-Fix-a-misplaced-in-pkg-config-files.patch
- contrib/src/qt/0004-Revert-QMutex-remove-qmutex_win.cpp.patch → 
contrib/src/qt/0003-Revert-QMutex-remove-qmutex_win.cpp.patch
- contrib/src/qt/0005-Expose-QRhiImplementation-in-QRhi.patch → 
contrib/src/qt/0004-Expose-QRhiImplementation-in-QRhi.patch
- contrib/src/qt/0006-Do-not-include-D3D12MemAlloc.h-in-header-file.patch → 
contrib/src/qt/0005-Do-not-include-D3D12MemAlloc.h-in-header-file.patch
- contrib/src/qt/0007-Try-DCompositionCreateDevice3-first-if-available.patch → 
contrib/src/qt/0006-Try-DCompositionCreateDevice3-first-if-available.patch
- contrib/src/qt/0008-Try-to-satisfy-Windows-7-compatibility.patch → 
contrib/src/qt/0007-Try-to-satisfy-Windows-7-compatibility.patch
- contrib/src/qt/SHA512SUMS
- contrib/src/qt/rules.mak
- contrib/src/qt5compat/SHA512SUMS
- contrib/src/qt5compat/rules.mak
- contrib/src/qtdeclarative/0001-Fix-incorrect-library-inclusion.patch
- + contrib/src/qtdeclarative/0002-Fix-build-with-no-feature-network.patch
- contrib/src/qtdeclarative/SHA512SUMS
- contrib/src/qtdeclarative/rules.mak
- − 
contrib/src/qtshadertools/0001-Backport-a-change-to-SPIRV-Cross-to-add-a-missing-in.patch
- contrib/src/qtshadertools/SHA512SUMS
- contrib/src/qtshadertools/rules.mak
- contrib/src/qtsvg/SHA512SUMS
- contrib/src/qtsvg/rules.mak
- contrib/src/qtvlcdeps/vlcdeps.pro
- contrib/src/qtwayland/SHA512SUMS
- contrib/src/qtwayland/rules.mak
- modules/gui/qt/maininterface/compositor_dcomp.cpp
- modules/gui/qt/maininterface/interface_window_handler.cpp
- modules/gui/qt/player/player_controller_p.hpp


The diff was not included because it is too large.


View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/7e8511d2a5bb323e4cd25666b638a4cb1c1b887b...9cbc2ff25e53d1027f1e1f48041cf965699c5a32

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/7e8511d2a5bb323e4cd25666b638a4cb1c1b887b...9cbc2ff25e53d1027f1e1f48041cf965699c5a32
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 12 commits: qml: rename MLModel as MLBaseModel on QML side

2024-04-28 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
a45e28b3 by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: rename MLModel as MLBaseModel on QML side

So C++ and QML naming matches

- - - - -
8f13fb46 by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: register BaseModel as a Qml type

- - - - -
a489fab7 by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: pass initial value of CSDMouseStealer on creation

- - - - -
983fef0b by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: remove unused property from MusicArtistDelegate

- - - - -
d601d6a9 by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: enforce required properties

- - - - -
fe30d6bd by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: mark modelData as required in repeater using it

some views wont load properly otherwise

- - - - -
93ffb7e1 by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: remove accessing unexisting property in ButtonExt

- - - - -
dfe5d8fa by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: introduce TableRowDelegate and TableHeaderDelegate

This will serve as base classes for specialized row/header implementation, the
main purpose is to declare all property set by TableView

- - - - -
3cc71ffc by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: inherit from TableRowDelegate and TableHeaderDelegate

- - - - -
5e9df6bf by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: load manually table row and header delegate

Qml Loader is unable to pass the initial properties of an Item
use onComplete/onDestroyed to manually handle the items

- - - - -
d289e151 by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: mark properties as required in TableRowDelegate and TableHeaderDelegate

- - - - -
7e8511d2 by Pierre Lamot at 2024-04-28T16:33:03+00:00
qml: require properties in TableViewDelegate

- - - - -


30 changed files:

- modules/gui/qt/Makefile.am
- modules/gui/qt/maininterface/mainui.cpp
- modules/gui/qt/maininterface/qml/MainInterface.qml
- modules/gui/qt/maininterface/qml/MainViewLoader.qml
- modules/gui/qt/medialibrary/qml/MusicAlbumsGridExpandDelegate.qml
- modules/gui/qt/medialibrary/qml/MusicArtistDelegate.qml
- modules/gui/qt/medialibrary/qml/MusicArtistsAlbums.qml
- modules/gui/qt/medialibrary/qml/UrlListDisplay.qml
- modules/gui/qt/medialibrary/qml/VideoAll.qml
- modules/gui/qt/medialibrary/qml/VideoGridDisplay.qml
- modules/gui/qt/network/qml/BrowseDeviceView.qml
- modules/gui/qt/network/qml/BrowseDisplay.qml
- modules/gui/qt/network/qml/BrowseTreeDisplay.qml
- modules/gui/qt/network/qml/BrowseTreeHeader.qml
- modules/gui/qt/network/qml/NetworkThumbnailItem.qml
- modules/gui/qt/player/qml/ControlLayout.qml
- modules/gui/qt/player/qml/TopBar.qml
- modules/gui/qt/player/qml/TracksListPage.qml
- modules/gui/qt/player/qml/TracksPage.qml
- modules/gui/qt/util/qml/MLContextMenu.qml
- modules/gui/qt/vlc.qrc
- modules/gui/qt/widgets/qml/BannerCone.qml
- modules/gui/qt/widgets/qml/ButtonExt.qml
- modules/gui/qt/widgets/qml/CSDMouseStealer.qml
- modules/gui/qt/widgets/qml/CSDThemeButtonSet.qml
- modules/gui/qt/widgets/qml/CSDWindowButtonSet.qml
- modules/gui/qt/widgets/qml/DragItem.qml
- modules/gui/qt/widgets/qml/FadingEdgeForListView.qml
- modules/gui/qt/widgets/qml/IconToolButton.qml
- modules/gui/qt/widgets/qml/KeyNavigableTableView.qml


The diff was not included because it is too large.


View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/fd149a38383118d5cb421fc074fded3ad1c6e443...7e8511d2a5bb323e4cd25666b638a4cb1c1b887b

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/fd149a38383118d5cb421fc074fded3ad1c6e443...7e8511d2a5bb323e4cd25666b638a4cb1c1b887b
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] audio_output: don't inherit equalizer parameters if the equalizer module is not found

2024-04-28 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
fd149a38 by Steve Lhomme at 2024-04-28T16:11:37+00:00
audio_output: dont inherit equalizer parameters if the equalizer module is 
not found

- - - - -


1 changed file:

- src/audio_output/output.c


Changes:

=
src/audio_output/output.c
=
@@ -390,9 +390,10 @@ audio_output_t *aout_New (vlc_object_t *parent)
 var_Change(aout, "mix-mode", VLC_VAR_SETTEXT, _("Audio mix mode"));
 
 /* Equalizer */
-var_Create (aout, "equalizer-preamp", VLC_VAR_FLOAT | VLC_VAR_DOINHERIT);
-var_Create (aout, "equalizer-bands", VLC_VAR_STRING | VLC_VAR_DOINHERIT);
-var_Create (aout, "equalizer-preset", VLC_VAR_STRING | VLC_VAR_DOINHERIT);
+int doinherit = module_exists("equalizer") ? VLC_VAR_DOINHERIT : 0;
+var_Create (aout, "equalizer-preamp", VLC_VAR_FLOAT | doinherit);
+var_Create (aout, "equalizer-bands", VLC_VAR_STRING | doinherit);
+var_Create (aout, "equalizer-preset", VLC_VAR_STRING | doinherit);
 
 owner->bitexact = var_InheritBool (aout, "audio-bitexact");
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/fd149a38383118d5cb421fc074fded3ad1c6e443

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/fd149a38383118d5cb421fc074fded3ad1c6e443
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 7 commits: qml: use templates as base for combobox

2024-04-28 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
e259c039 by Prince Gupta at 2024-04-28T15:29:15+00:00
qml: use templates as base for combobox

- - - - -
665d8cfd by Prince Gupta at 2024-04-28T15:29:15+00:00
qml: use IconLabel for indicator in ComboBox

- - - - -
ff6de187 by Prince Gupta at 2024-04-28T15:29:15+00:00
qml: use appropriate type for label

- - - - -
ad31b9ec by Prince Gupta at 2024-04-28T15:29:15+00:00
qml: use templated ItemDelegate

- - - - -
7cfee7ff by Prince Gupta at 2024-04-28T15:29:15+00:00
qml: use default implicitHeight

- - - - -
ca78bab0 by Prince Gupta at 2024-04-28T15:29:15+00:00
qml: update background for ComboBox

- - - - -
03fd36d7 by Prince Gupta at 2024-04-28T15:29:15+00:00
qml: fix size assignment for combobox in PlaybackSpeed

RowLayout doesnt follow width/height property of children

- - - - -


2 changed files:

- modules/gui/qt/player/qml/PlaybackSpeed.qml
- modules/gui/qt/widgets/qml/ComboBoxExt.qml


Changes:

=
modules/gui/qt/player/qml/PlaybackSpeed.qml
=
@@ -283,8 +283,8 @@ ColumnLayout {
 Widgets.ComboBoxExt {
 id: comboBox
 
-width: VLCStyle.combobox_width_normal
-height: VLCStyle.combobox_height_normal
+Layout.preferredWidth: VLCStyle.combobox_width_normal
+Layout.preferredHeight: VLCStyle.combobox_height_normal
 
 model: ListModel {}
 


=
modules/gui/qt/widgets/qml/ComboBoxExt.qml
=
@@ -16,6 +16,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, 
USA.
  */
 import QtQuick
+import QtQuick.Templates as T
 import QtQuick.Controls
 
 import org.videolan.vlc 0.1
@@ -23,11 +24,17 @@ import org.videolan.vlc 0.1
 import "qrc:///style/"
 import "qrc:///widgets/" as Widgets
 
-ComboBox {
+T.ComboBox {
 id: control
 
+implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
+implicitContentWidth + spacing + 
implicitIndicatorWidth + leftPadding + rightPadding)
+implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
+ implicitContentHeight + topPadding + 
bottomPadding,
+ implicitIndicatorHeight + topPadding + 
bottomPadding)
+
+padding: VLCStyle.margin_xxsmall
 font.pixelSize: VLCStyle.fontSize_large
-leftPadding: 5
 
 readonly property ColorContext colorContext: ColorContext {
 id: theme
@@ -46,65 +53,46 @@ ComboBox {
 Keys.priority: Keys.AfterItem
 Keys.onPressed: (event) => Navigation.defaultKeyAction(event)
 
-delegate: ItemDelegate {
+delegate: T.ItemDelegate {
 width: control.width
+height: implicitContentHeight + topPadding + bottomPadding
+padding: VLCStyle.margin_xsmall
 leftPadding: control.leftPadding
-background: Item {}
-contentItem: Text {
+contentItem: Widgets.ListLabel {
 text: control.textRole ? (Array.isArray(control.model) ? 
modelData[control.textRole] : model[control.textRole]) : modelData
 color: control.color
-font: control.font
 elide: Text.ElideRight
 verticalAlignment: Text.AlignVCenter
 }
 highlighted: control.highlightedIndex === index
 }
 
-indicator: Canvas {
-id: canvas
-x: control.width - width - control.rightPadding
+indicator: Widgets.IconLabel {
+x: control.width - width - rightPadding
 y: control.topPadding + (control.availableHeight - height) / 2
-width: 10
-height: 6
-contextType: "2d"
-
-Connections {
-target: control
-function onPressedChanged() { canvas.requestPaint() }
-}
-
-onPaint: {
-if (context === null)
-return
-
-context.reset();
-context.moveTo(0, 0);
-context.lineTo(width, 0);
-context.lineTo(width / 2, height);
-context.closePath();
-context.fillStyle = control.activeFocus ? theme.accent : 
control.color;
-context.fill();
-}
+font.pixelSize: VLCStyle.icon_normal
+font.bold: true
+text: VLCIcons.expand
+color: control.color
+verticalAlignment: Text.AlignVCenter
+horizontalAlignment: Text.AlignHCenter
 }
 
-contentItem: Text {
-leftPadding: 5
-rightPadding: control.indicator.width + control.spacing
+contentItem: Widgets.ListLabel {
+rightPadding: control.spacing + control.indicator.width
 
 text: control.displayText
-font: control.font
 color: control.color
 verticalAlignment: Text.AlignVCente

[vlc-commits] [Git][videolan/vlc][master] 2 commits: libplacebo: fix mismatching list of filter values/names

2024-04-28 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
4b3b7715 by Steve Lhomme at 2024-04-28T14:45:45+00:00
libplacebo: fix mismatching list of filter values/names

- - - - -
3f421955 by Steve Lhomme at 2024-04-28T14:45:45+00:00
srt: share the SRT key length names like the key length values

- - - - -


3 changed files:

- modules/access/srt_common.c
- modules/access/srt_common.h
- modules/video_output/libplacebo/utils.h


Changes:

=
modules/access/srt_common.c
=
@@ -23,9 +23,6 @@
 
 #include "srt_common.h"
 
-const char * const srt_key_length_names[] = { N_( "16 bytes" ), N_(
-"24 bytes" ), N_( "32 bytes" ), };
-
 typedef struct parsed_param {
 char *key;
 char *val;


=
modules/access/srt_common.h
=
@@ -60,8 +60,8 @@
 #define SRT_KEY_LENGTH_TEXT N_("Crypto key length in bytes")
 #define SRT_DEFAULT_KEY_LENGTH 16
 static const int srt_key_lengths[] = { 16, 24, 32, };
-
-extern const char * const srt_key_length_names[];
+static const char * const srt_key_length_names[] = { N_( "16 bytes" ), N_(
+"24 bytes" ), N_( "32 bytes" ), };
 
 typedef struct srt_params {
 int latency;


=
modules/video_output/libplacebo/utils.h
=
@@ -547,10 +547,6 @@ static const char * const filter_text[] = {
 "Jinc",
 "Sphinx",
 "BC spline",
-"Catmull-Rom",
-"Mitchell-Netravali",
-"Robidoux",
-"RobidouxSharp",
 "Bicubic",
 "Spline16",
 "Spline36",



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/5ce659d7218c419f01e30435f28645d090f70276...3f42195529cae2302a27ec0e6f0f8cf29658c58f

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/5ce659d7218c419f01e30435f28645d090f70276...3f42195529cae2302a27ec0e6f0f8cf29658c58f
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 10 commits: qt: fix deprecated warnings in videosurface.cpp

2024-04-28 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
96c6d767 by Fatih Uzunoglu at 2024-04-28T14:01:46+00:00
qt: fix deprecated warnings in videosurface.cpp

- - - - -
e4a5bcd7 by Fatih Uzunoglu at 2024-04-28T14:01:46+00:00
qt: fix deprecated warnings in compositor_x11_uisurface.cpp

- - - - -
706c1b03 by Fatih Uzunoglu at 2024-04-28T14:01:46+00:00
qt: fix deprecated warning in controlbar_profile_model.cpp

- - - - -
7d0fba8c by Fatih Uzunoglu at 2024-04-28T14:01:46+00:00
qt: fix deprecated warning in custom_menus.cpp

- - - - -
e5e7a3e3 by Fatih Uzunoglu at 2024-04-28T14:01:46+00:00
qt: fix deprecated warning in qml_menu_wrapper.cpp

- - - - -
ecad138f by Fatih Uzunoglu at 2024-04-28T14:01:46+00:00
qt: fix deprecated warning in systempalettethemeprovider.cpp

- - - - -
8a8cf4c8 by Fatih Uzunoglu at 2024-04-28T14:01:46+00:00
qt: fix deprecated warning in control_list_model.cpp

- - - - -
65bffbc1 by Fatih Uzunoglu at 2024-04-28T14:01:46+00:00
qt: fix deprecated warning in color_scheme_model.cpp

- - - - -
a7be331f by Fatih Uzunoglu at 2024-04-28T14:01:46+00:00
qt: fix deprecated warning in navigation_history.cpp

- - - - -
5ce659d7 by Fatih Uzunoglu at 2024-04-28T14:01:46+00:00
qt: fix deprecated warning in extended.cpp

- - - - -


10 changed files:

- modules/gui/qt/dialogs/extended/extended.cpp
- modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
- modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
- modules/gui/qt/maininterface/videosurface.cpp
- modules/gui/qt/menus/custom_menus.cpp
- modules/gui/qt/menus/qml_menu_wrapper.cpp
- modules/gui/qt/player/control_list_model.cpp
- modules/gui/qt/style/systempalettethemeprovider.cpp
- modules/gui/qt/util/color_scheme_model.cpp
- modules/gui/qt/util/navigation_history.cpp


Changes:

=
modules/gui/qt/dialogs/extended/extended.cpp
=
@@ -211,7 +211,7 @@ void ExtendedDialog::saveConfig()
  i != hashConfig->end(); ++i )
 {
 QVariant  = i.value();
-switch( static_cast(value.type()) )
+switch( static_cast(value.typeId()) )
 {
 case QMetaType::QString:
 config_PutPsz( qtu(i.key()), qtu(value.toString()) );


=
modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
=
@@ -521,7 +521,7 @@ bool ControlbarProfileModel::setData(const QModelIndex 
, const QVariant 
 switch (role)
 {
 case Qt::DisplayRole:
-if (value.canConvert(QVariant::String))
+if (value.canConvert())
 ptrProfile->setName(value.toString());
 else
 return false;


=
modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
=
@@ -288,8 +288,8 @@ bool CompositorX11UISurface::eventFilter(QObject*, QEvent 
*event)
 case QEvent::Enter:
 {
 QEnterEvent *enterEvent = static_cast(event);
-QEnterEvent mappedEvent(enterEvent->localPos(), 
enterEvent->windowPos(),
-enterEvent->screenPos());
+QEnterEvent mappedEvent(enterEvent->position(), 
enterEvent->scenePosition(),
+enterEvent->globalPosition());
 bool ret = QCoreApplication::sendEvent(m_uiWindow, );
 event->setAccepted(mappedEvent.isAccepted());
 return ret;
@@ -326,8 +326,8 @@ bool CompositorX11UISurface::eventFilter(QObject*, QEvent 
*event)
 case QEvent::MouseMove:
 {
 QMouseEvent* mouseEvent = static_cast(event);
-QMouseEvent mappedEvent(mouseEvent->type(), mouseEvent->localPos(),
-mouseEvent->localPos(), 
mouseEvent->screenPos(),
+QMouseEvent mappedEvent(mouseEvent->type(), mouseEvent->position(),
+mouseEvent->position(), 
mouseEvent->globalPosition(),
 mouseEvent->button(), mouseEvent->buttons(),
 mouseEvent->modifiers(), mouseEvent->source());
 QCoreApplication::sendEvent(m_uiWindow, );


=
modules/gui/qt/maininterface/videosurface.cpp
=
@@ -270,7 +270,7 @@ void VideoSurface::mouseReleaseEvent(QMouseEvent* event)
 
 void VideoSurface::mouseMoveEvent(QMouseEvent* event)
 {
-QPointF current_pos = event->localPos();
+QPointF current_pos = event->position();
 QQuickWindow* window = this->window();
 if (!window)
 return;
@@ -281,7 +281,7 @@ void VideoSurface::mouseMoveEvent(QMouseEvent* event)
 
 void VideoSurface::hoverMoveEvent(QHoverEvent* event)
 {
-QPointF current_pos = event->posF();
+QPointF current_pos = event->position();
 if (cur

[vlc-commits] [Git][videolan/vlc][3.0.x] 2 commits: converter_vaapi: Don't use DeriveImage with ExportSurfaceHandle

2024-04-28 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
ea946360 by David Rosca at 2024-04-28T14:01:49+00:00
converter_vaapi: Dont use DeriveImage with ExportSurfaceHandle

DeriveImage is only needed when AcquireBufferHandle is used with old libva.

(cherry picked from commit b1e5a91d616190d931b999f223c8206bc94bc6c5)

- - - - -
374ce3b5 by David Rosca at 2024-04-28T14:01:49+00:00
vaapi: chroma: Implement vaPutImage upload fallback

(cherry picked from commit ac178ac8e3132b40330c1344fe3700b38ad0b552)

- - - - -


2 changed files:

- modules/hw/vaapi/chroma.c
- modules/video_output/opengl/converter_vaapi.c


Changes:

=
modules/hw/vaapi/chroma.c
=
@@ -252,18 +252,40 @@ UploadSurface(filter_t *filter, picture_t *src)
 vlc_vaapi_PicAttachContext(dest_pic);
 picture_CopyProperties(dest_pic, src);
 
-if (vlc_vaapi_DeriveImage(VLC_OBJECT(filter), va_dpy,
-  vlc_vaapi_PicGetSurface(dest_pic), _img)
-|| vlc_vaapi_MapBuffer(VLC_OBJECT(filter), va_dpy,
-   dest_img.buf, _buf))
+if (filter->p_sys->derive_failed ||
+vlc_vaapi_DeriveImage(VLC_OBJECT(filter), va_dpy,
+  vlc_vaapi_PicGetSurface(dest_pic), _img))
+{
+if (filter->p_sys->image_fallback_failed)
+goto error;
+
+filter->p_sys->derive_failed = true;
+
+if (CreateFallbackImage(filter, dest_pic, va_dpy, _img))
+{
+filter->p_sys->image_fallback_failed = true;
+goto error;
+}
+}
+
+if (vlc_vaapi_MapBuffer(VLC_OBJECT(filter), va_dpy,
+dest_img.buf, _buf))
 goto error;
 
 FillVAImageFromPicture(_img, dest_buf, dest_pic,
src, >p_sys->cache);
 
-if (vlc_vaapi_UnmapBuffer(VLC_OBJECT(filter), va_dpy, dest_img.buf)
-|| vlc_vaapi_DestroyImage(VLC_OBJECT(filter),
-  va_dpy, dest_img.image_id))
+if (vlc_vaapi_UnmapBuffer(VLC_OBJECT(filter), va_dpy, dest_img.buf))
+goto error;
+
+if (filter->p_sys->derive_failed &&
+vaPutImage(va_dpy, vlc_vaapi_PicGetSurface(dest_pic), 
dest_img.image_id,
+   0, 0, dest_pic->format.i_width, dest_pic->format.i_height,
+   0, 0, dest_pic->format.i_width, dest_pic->format.i_height))
+goto error;
+
+if (vlc_vaapi_DestroyImage(VLC_OBJECT(filter),
+   va_dpy, dest_img.image_id))
 goto error;
 
 ret:


=
modules/video_output/opengl/converter_vaapi.c
=
@@ -72,9 +72,10 @@ struct priv
  * (GPU tiling, compression, etc...) */
 VADRMPRIMESurfaceDescriptor va_surface_descriptor;
 #else
+VAImage va_image;
 VABufferInfova_buffer_info;
 #endif
-VAImage va_image;
+unsignednum_planes;
 void *  egl_images[3];
 } last;
 };
@@ -111,7 +112,7 @@ vaegl_release_last_pic(const opengl_tex_converter_t *tc, 
struct priv *priv)
 {
 vlc_object_t *o = VLC_OBJECT(tc->gl);
 
-for (unsigned i = 0; i < priv->last.va_image.num_planes; ++i)
+for (unsigned i = 0; i < priv->last.num_planes; ++i)
 vaegl_image_destroy(tc, priv->last.egl_images[i]);
 
 #if VA_CHECK_VERSION(1, 1, 0)
@@ -119,9 +120,9 @@ vaegl_release_last_pic(const opengl_tex_converter_t *tc, 
struct priv *priv)
 close(priv->last.va_surface_descriptor.objects[i].fd);
 #else
 vlc_vaapi_ReleaseBufferHandle(o, priv->vadpy, priv->last.va_image.buf);
-#endif
 
 vlc_vaapi_DestroyImage(o, priv->vadpy, priv->last.va_image.image_id);
+#endif
 
 picture_Release(priv->last.pic);
 }
@@ -182,26 +183,35 @@ tc_vaegl_update(const opengl_tex_converter_t *tc, GLuint 
*textures,
 (void) plane_offset;
 struct priv *priv = tc->priv;
 vlc_object_t *o = VLC_OBJECT(tc->gl);
-VAImage va_image;
 #if VA_CHECK_VERSION(1, 1, 0)
 VADRMPRIMESurfaceDescriptor va_surface_descriptor;
 #else
+VAImage va_image;
 VABufferInfo va_buffer_info;
 #endif
 EGLImageKHR egl_images[3] = { };
 bool release_image = false, release_buffer_info = false;
+unsigned num_planes = 0;
 
 if (pic == priv->last.pic)
 {
-va_image = priv->last.va_image;
 #if VA_CHECK_VERSION(1, 1, 0)
 va_surface_descriptor = priv->last.va_surface_descriptor;
+#else
+va_image = priv->last.va_image;
 #endif
-for (unsigned i = 0; i < priv->last.va_image.num_planes; ++i)
+for (unsigned i = 0; i < priv->last.num_planes; ++i)
 egl_images[i] = priv->last.egl_images[i];
 }
 else

[vlc-commits] [Git][videolan/vlc][master] 2 commits: contrib: qt5compat: do not use Qt Shader Tools

2024-04-28 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
bddef6ae by Fatih Uzunoglu at 2024-04-28T06:32:14+00:00
contrib: qt5compat: do not use Qt Shader Tools

Statically linking to Qt Shader Tools seems to
increase the binary size quite a lot.

Revert the patch which introduced runtime
shader compilation to QtGraphicalEffects
so that Qt Shader Tools is not linked.

TODO: Remove Qt5Compat completely, and
use MultiEffect instead.

- - - - -
7d6abadd by Fatih Uzunoglu at 2024-04-28T06:32:14+00:00
contrib: qt5compat: do not build core5

It is not used.

- - - - -


3 changed files:

- + 
contrib/src/qt5compat/0001-Revert-Auxiliary-commit-to-revert-individual-files-f.patch
- + contrib/src/qt5compat/0002-Do-not-build-core5.patch
- contrib/src/qt5compat/rules.mak


Changes:

=
contrib/src/qt5compat/0001-Revert-Auxiliary-commit-to-revert-individual-files-f.patch
=
@@ -0,0 +1,806 @@
+From d17c8890da94ec44e8b80fa22a061765c799a293 Mon Sep 17 00:00:00 2001
+From: Fatih Uzunoglu 
+Date: Fri, 19 Apr 2024 15:59:48 +0300
+Subject: [PATCH 1/2] Revert "Auxiliary commit to revert individual files from
+ 0ba059c6dc8b7c0f6ac4a277c96b6b16e43053a2"
+
+---
+ CMakeLists.txt|   5 -
+ src/imports/graphicaleffects5/CMakeLists.txt  |  14 --
+ src/imports/graphicaleffects5/DropShadow.qml  | 175 +-
+ src/imports/graphicaleffects5/Glow.qml| 126 -
+ .../graphicaleffects5/private/CMakeLists.txt  |   9 -
+ .../graphicaleffects5/shaders_ng/compile.bat  |   6 -
+ tests/manual/graphicaleffects5/CMakeLists.txt |   9 -
+ tests/manual/graphicaleffects5/main.qml   |  47 +
+ tests/manual/graphicaleffects5/qml.qrc|   9 -
+ 9 files changed, 91 insertions(+), 309 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ac84544..ae465c1 100644
+--- a/CMakeLists.txt
 b/CMakeLists.txt
+@@ -18,9 +18,4 @@ find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG 
OPTIONAL_COMPONENTS Network Xml
+ 
+ qt_internal_project_setup()
+ 
+-# Look for the target ShaderTools package to have access to the ShaderTools 
Qt module library.
+-# This is optional. When not present, runtime shader processing will not be 
available, and
+-# only a certain set of effects will be available
+-find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS 
ShaderTools)
+-
+ qt_build_repo()
+diff --git a/src/imports/graphicaleffects5/CMakeLists.txt 
b/src/imports/graphicaleffects5/CMakeLists.txt
+index 00209ed..2889f33 100644
+--- a/src/imports/graphicaleffects5/CMakeLists.txt
 b/src/imports/graphicaleffects5/CMakeLists.txt
+@@ -6,31 +6,23 @@
+ #
+ 
+ set(qml_files
+-"Blend.qml"
+ "BrightnessContrast.qml"
+ "ColorOverlay.qml"
+ "Colorize.qml"
+ "ConicalGradient.qml"
+ "Desaturate.qml"
+-"DirectionalBlur.qml"
+ "Displace.qml"
+ "DropShadow.qml"
+ "FastBlur.qml"
+ "GammaAdjust.qml"
+-"GaussianBlur.qml"
+ "Glow.qml"
+ "HueSaturation.qml"
+-"InnerShadow.qml"
+ "LevelAdjust.qml"
+ "LinearGradient.qml"
+-"MaskedBlur.qml"
+ "OpacityMask.qml"
+-"RadialBlur.qml"
+ "RadialGradient.qml"
+ "RectangularGlow.qml"
+-"RecursiveBlur.qml"
+ "ThresholdMask.qml"
+-"ZoomBlur.qml"
+ )
+ 
+ qt_internal_add_qml_module(qtgraphicaleffectsplugin
+@@ -68,12 +60,8 @@ set(qtgraphicaleffectsshaders_resource_files
+ "shaders_ng/fastblur.frag.qsb"
+ "shaders_ng/fastblur_internal.frag.qsb"
+ "shaders_ng/fastblur_internal.vert.qsb"
+-"shaders_ng/fastinnershadow.frag.qsb"
+-"shaders_ng/fastinnershadow_level0.frag.qsb"
+ "shaders_ng/fastglow.frag.qsb"
+ "shaders_ng/gammaadjust.frag.qsb"
+-"shaders_ng/gaussianinnershadow.frag.qsb"
+-"shaders_ng/gaussianinnershadow_shadow.frag.qsb"
+ "shaders_ng/huesaturation.frag.qsb"
+ "shaders_ng/leveladjust.frag.qsb"
+ "shaders_ng/lineargradient.vert.qsb"
+@@ -84,8 +72,6 @@ set(qtgraphicaleffectsshaders_resource_files
+ "shaders_ng/radialgradient.vert.qsb"
+ "shaders_ng/radialgradient_mask.frag.qsb"
+ "shaders_ng/radialgradient_nomask.frag.qsb"
+-"shaders_ng/recursiveblur.vert.qsb"
+-"shaders_ng/recursiveblur.frag.qsb"
+ "shaders_ng/rectangularglow.frag.qsb"
+ "shaders_ng/thresholdmask.frag.qsb"
+ )
+diff --git a/src/imports/graphicaleffects5/DropShadow.qml 
b/src/imports/graphicaleffects5/DropShadow.qml
+i

[vlc-commits] [Git][videolan/vlc][master] qml: Added isSortable flag in the list view colModels

2024-04-27 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
98efe8ad by Ash V at 2024-04-27T21:33:38+00:00
qml: Added isSortable flag in the list view colModels

Implemented isSortable key/flag in the qml list view colModels for 
KeyNavigableTableView.

Fixes Issue: #28503

- - - - -


8 changed files:

- modules/gui/qt/medialibrary/qml/MusicGenres.qml
- modules/gui/qt/medialibrary/qml/PlaylistMedia.qml
- modules/gui/qt/medialibrary/qml/PlaylistMediaList.qml
- modules/gui/qt/medialibrary/qml/UrlListDisplay.qml
- modules/gui/qt/medialibrary/qml/VideoListDisplay.qml
- modules/gui/qt/network/qml/BrowseDeviceView.qml
- modules/gui/qt/network/qml/BrowseTreeDisplay.qml
- modules/gui/qt/widgets/qml/KeyNavigableTableView.qml


Changes:

=
modules/gui/qt/medialibrary/qml/MusicGenres.qml
=
@@ -238,6 +238,8 @@ MainInterface.MainViewLoader {
 
 text: qsTr("Cover"),
 
+isSortable: false,
+
 headerDelegate: tableColumns.titleHeaderDelegate,
 colDelegate: tableColumns.titleDelegate
 }
@@ -255,7 +257,9 @@ MainInterface.MainViewLoader {
 model: {
 criteria: "nb_tracks",
 
-text: qsTr("Tracks")
+text: qsTr("Tracks"),
+
+isSortable: false
 }
 }]
 


=
modules/gui/qt/medialibrary/qml/PlaylistMedia.qml
=
@@ -56,6 +56,8 @@ MainInterface.MainTableView {
 
 text: qsTr("Title"),
 
+isSortable: false,
+
 headerDelegate: table.titleHeaderDelegate,
 colDelegate   : table.titleDelegate,
 
@@ -71,6 +73,8 @@ MainInterface.MainTableView {
 
 text: qsTr("Cover"),
 
+isSortable: false,
+
 type: "image",
 
 headerDelegate: table.titleHeaderDelegate,
@@ -84,7 +88,9 @@ MainInterface.MainTableView {
 model: {
 criteria: "title",
 
-text: qsTr("Title")
+text: qsTr("Title"),
+
+isSortable: false
 }
 }, {
 size: 1,
@@ -94,6 +100,8 @@ MainInterface.MainTableView {
 
 text: qsTr("Duration"),
 
+isSortable: false,
+
 headerDelegate: table.timeHeaderDelegate,
 colDelegate   : table.timeColDelegate
 }


=
modules/gui/qt/medialibrary/qml/PlaylistMediaList.qml
=
@@ -283,6 +283,8 @@ MainInterface.MainViewLoader {
 
 text: qsTr("Cover"),
 
+isSortable: false,
+
 headerDelegate: columns.titleHeaderDelegate,
 colDelegate   : columns.titleDelegate
 }
@@ -300,7 +302,9 @@ MainInterface.MainViewLoader {
 model: {
 criteria: "count",
 
-text: qsTr("Tracks")
+text: qsTr("Tracks"),
+
+isSortable: false
 }
 }]
 


=
modules/gui/qt/medialibrary/qml/UrlListDisplay.qml
=
@@ -58,6 +58,8 @@ Widgets.KeyNavigableTableView {
 
 text: qsTr("Url"),
 
+isSortable: false,
+
 showSection: "url",
 
 headerDelegate: urlHeaderDelegate
@@ -70,6 +72,8 @@ Widgets.KeyNavigableTableView {
 
 text: qsTr("Last played date"),
 
+isSortable: false,
+
 showSection: "",
 showContextButton: true,
 


=
modules/gui/qt/medialibrary/qml/VideoListDisplay.qml
=
@@ -73,6 +73,8 @@ MainInterface.MainTableView {
 
 text: qsTr("Cover"),
 
+isSortable: false,
+
 showSection: "",
 
 placeHolder: VLCStyle.noArtVideoCover,


=
modules/gui/qt/network/qml/BrowseDeviceView.qml
=
@@ -257,6 +257,8 @@ FocusScope {
 
 text: qsTr("Cover"),
 
+isSortable: false,
+
 headerDelegate: artworkHeader,
 colDelegate: artworkColumn
 }


=
modules/gui/qt/network/qml/BrowseTreeDisplay.qml
=
@@ -242,6 +242,8 @@ MainInterface.MainViewLoader {
 
 text: qsTr("Cover"),
 
+isSortable: false,
+
 headerDelegate: thumbnailHeader,

[vlc-commits] [Git][videolan/vlc][master] macosx: Also size unknown media as video, fixing issues in video views

2024-04-27 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
7994e83b by Claudio Cambra at 2024-04-27T21:10:09+00:00
macosx: Also size unknown media as video, fixing issues in video views

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


1 changed file:

- modules/gui/macosx/library/VLCLibraryCollectionViewItem.m


Changes:

=
modules/gui/macosx/library/VLCLibraryCollectionViewItem.m
=
@@ -227,7 +227,7 @@ const CGFloat 
VLCLibraryCollectionViewItemMaximumDisplayedProgress = 0.95;
 if([actualItem isKindOfClass:[VLCMediaLibraryMediaItem class]]) {
 VLCMediaLibraryMediaItem * const mediaItem = (VLCMediaLibraryMediaItem 
*)actualItem;
 
-if (mediaItem.mediaType == VLC_ML_MEDIA_TYPE_VIDEO) {
+if (mediaItem.mediaType == VLC_ML_MEDIA_TYPE_VIDEO || 
mediaItem.mediaType == VLC_ML_MEDIA_TYPE_UNKNOWN) {
 VLCMediaLibraryTrack * const videoTrack = 
mediaItem.firstVideoTrack;
 [self showVideoSizeIfNeededForWidth:videoTrack.videoWidth
   andHeight:videoTrack.videoHeight];



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/7994e83bbdc233f8fa12a8ccfc7279edda3360ed

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/7994e83bbdc233f8fa12a8ccfc7279edda3360ed
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] extras: libtool: Use directory to add shared modules to compile emcc executables

2024-04-27 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
f449db0b by Khalid Masum at 2024-04-27T15:16:09+00:00
extras: libtool: Use directory to add shared modules to compile emcc executables

Emscripten has not implemented adding shared libraries directly
to main modules properly yet.

See: https://github.com/emscripten-core/emscripten/issues/21667

Therefore, instruct libtool to use directory instead of the shared
object file for linking, as suggested in the issue.

- - - - -


1 changed file:

- extras/tools/libtool-2.4.7-emscripten-dlinker.patch


Changes:

=
extras/tools/libtool-2.4.7-emscripten-dlinker.patch
=
@@ -1,5 +1,15 @@
+diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
+--- a/build-aux/ltmain.in
 b/build-aux/ltmain.in
+@@ -6397,6 +6397,7 @@ func_mode_link ()
+   case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+ *-*-sysv4*uw2*) add_dir=-L$dir ;;
++*-*-emscripten*) add_dir=-L$dir ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+   *-*-unixware7*) add_dir=-L$dir ;;
+ *-*-darwin* )
 diff --git a/m4/libtool.m4 b/m4/libtool.m4
-index 009155ee..797604af 100644
 --- a/m4/libtool.m4
 +++ b/m4/libtool.m4
 @@ -3081,6 +3081,21 @@ uts4*)



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/f449db0bf0d5a8816dbf9952b269e8a55a66a0c8

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/f449db0bf0d5a8816dbf9952b269e8a55a66a0c8
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 2 commits: macosx: Match subtle light and dark border colours to those defined in Asset catalog

2024-04-27 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
868c03c6 by Claudio Cambra at 2024-04-27T13:03:03+00:00
macosx: Match subtle light and dark border colours to those defined in Asset 
catalog

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
7392dba9 by Claudio Cambra at 2024-04-27T13:03:03+00:00
macosx: Update outline for audio group header colour when system theme changes

CGColor cannot respond to theme changes

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


2 changed files:

- modules/gui/macosx/extensions/NSColor+VLCAdditions.m
- modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupHeaderView.m


Changes:

=
modules/gui/macosx/extensions/NSColor+VLCAdditions.m
=
@@ -95,12 +95,12 @@
 
 + (NSColor *)VLCLightSubtleBorderColor
 {
-return [NSColor colorWithCalibratedWhite:0 alpha:0.1];
+return [NSColor colorWithCalibratedWhite:0.85 alpha:1.0];
 }
 
 + (NSColor *)VLCDarkSubtleBorderColor
 {
-return [NSColor colorWithCalibratedWhite:1 alpha:0.3];
+return [NSColor colorWithCalibratedWhite:0.3 alpha:1.0];
 }
 
 + (NSColor *)VLCSubtleBorderColor


=
modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupHeaderView.m
=
@@ -45,14 +45,43 @@ NSString * const VLCLibraryAudioGroupHeaderViewIdentifier = 
@"VLCLibraryAudioGro
 {
 if (@available(macOS 10.14, *)) {
 _playButton.bezelColor = NSColor.VLCAccentColor;
+[NSApplication.sharedApplication addObserver:self
+  forKeyPath:@"effectiveAppearance"
+ 
options:NSKeyValueObservingOptionNew
+ context:nil];
 }
 
 self.backgroundEffectView.wantsLayer = YES;
 self.backgroundEffectView.layer.cornerRadius = 
VLCLibraryUIUnits.smallSpacing;
 self.backgroundEffectView.layer.borderWidth = 1;
-self.backgroundEffectView.layer.borderColor = 
NSColor.VLCSubtleBorderColor.CGColor;
+[self updateColoredAppearance:self.effectiveAppearance];
 }
 
+- (void)observeValueForKeyPath:(NSString *)keyPath
+  ofObject:(id)object
+change:(NSDictionary *)change
+   context:(void *)context
+{
+if ([keyPath isEqualToString:@"effectiveAppearance"]) {
+NSAppearance * const effectiveAppearance = 
change[NSKeyValueChangeNewKey];
+[self updateColoredAppearance:effectiveAppearance];
+}
+}
+
+- (void)updateColoredAppearance:(NSAppearance *)appearance
+{
+NSParameterAssert(appearance);
+BOOL isDark = NO;
+if (@available(macOS 10.14, *)) {
+isDark = [appearance.name isEqualToString:NSAppearanceNameDarkAqua] || 
+ [appearance.name isEqualToString:NSAppearanceNameVibrantDark];
+}
+
+self.backgroundEffectView.layer.borderColor = isDark ?
+NSColor.VLCDarkSubtleBorderColor.CGColor : 
NSColor.VLCLightSubtleBorderColor.CGColor;
+}
+
+
 - (void)updateRepresentation
 {
 const id actualItem = 
self.representedItem.item;



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/44205b0c8400d5b7fba5cc0531a42fb12bae5a87...7392dba9c2d02271b434180ee656bb6e23c4c791

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/44205b0c8400d5b7fba5cc0531a42fb12bae5a87...7392dba9c2d02271b434180ee656bb6e23c4c791
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] macosx: Display artwork for non-media-library audios

2024-04-27 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
44205b0c by Claudio Cambra at 2024-04-27T10:38:52+00:00
macosx: Display artwork for non-media-library audios

Instead of black vout

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


1 changed file:

- modules/gui/macosx/windows/video/VLCMainVideoViewController.m


Changes:

=
modules/gui/macosx/windows/video/VLCMainVideoViewController.m
=
@@ -24,6 +24,7 @@
 
 #import "extensions/NSWindow+VLCAdditions.h"
 
+#import "library/VLCInputItem.h"
 #import "library/VLCLibraryDataTypes.h"
 #import "library/VLCLibraryUIUnits.h"
 #import "library/VLCLibraryWindow.h"
@@ -159,7 +160,13 @@
 
 VLCMediaLibraryMediaItem * const mediaItem = [VLCMediaLibraryMediaItem 
mediaItemForURL:controller.URLOfCurrentMediaItem];
 
-const BOOL decorativeViewVisible = mediaItem != nil && mediaItem.mediaType 
== VLC_ML_MEDIA_TYPE_AUDIO;
+BOOL decorativeViewVisible = NO;
+if (mediaItem != nil) {
+decorativeViewVisible = mediaItem.mediaType == VLC_ML_MEDIA_TYPE_AUDIO;
+} else {
+VLCInputItem * const inputItem = controller.currentMedia;
+decorativeViewVisible = inputItem != nil && 
controller.videoTracks.count == 0;
+}
 _audioDecorativeView.hidden = !decorativeViewVisible;
 
 if (decorativeViewVisible) {



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/44205b0c8400d5b7fba5cc0531a42fb12bae5a87

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/44205b0c8400d5b7fba5cc0531a42fb12bae5a87
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 4 commits: doc: buildsystem: document the new enabled option

2024-04-27 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
021c7cbf by Alexandre Janniaux at 2024-04-27T09:39:37+00:00
doc: buildsystem: document the new enabled option

The enabled option allows modules to be declared even though they wont
be compiled, which provides better interactions with tests.

- - - - -
814f6814 by Alexandre Janniaux at 2024-04-27T09:39:37+00:00
doc: buildsystem: document contribs usage with meson

- - - - -
c618f81f by Alexandre Janniaux at 2024-04-27T09:39:37+00:00
doc: buildsystem: fix typo

- - - - -
f50ba69f by Alexandre Janniaux at 2024-04-27T09:39:37+00:00
doc: buildsystem: document meson tests

The buildsystem provides a dedicated meson array for tests to generate
the test executables and test scenarios in a unified way while declaring
the dependencies to runtime dependencies (mainly plugins).

- - - - -


1 changed file:

- doc/standalone/buildsystem.md


Changes:

=
doc/standalone/buildsystem.md
=
@@ -88,7 +88,7 @@ vlc_modules += {
 ```
 
 @warning   Make sure to not accidentally overwrite the `vlc_modules` 
variable by using
-   and `=` instead of `+=` when appending the dictionary.
+   an `=` instead of `+=` when appending the dictionary.
 
 Currently the modules dict accepts the following keys:
 
@@ -98,6 +98,9 @@ Currently the modules dict accepts the following keys:
 @param sources
The source files for the module, use [`files()`][mref_files] to 
specify them. **Required**
 
+@param  enabled
+A boolean indicating whether the module should be built or not.
+
 @param  dependencies
The dependencies needed by the module. Only list external 
dependencies
here, not libraries that are built as part of the VLC build, 
for these
@@ -173,13 +176,12 @@ Now we can just look up the option and use that for the 
`required` argument of t
 ```meson
 # dav1d AV1 decoder
 dav1d_dep = dependency('dav1d', version: '>= 0.5.0', required: 
get_option('dav1d'))
-if dav1d_dep.found()
-vlc_modules += {
-'name' : 'dav1d',
-'sources' : files('dav1d.c'),
-'dependencies' : [dav1d_dep]
-}
-endif
+vlc_modules += {
+'name' : 'dav1d',
+'sources' : files('dav1d.c'),
+'dependencies' : [dav1d_dep],
+'enabled' : dav1d_dep.found(),
+}
 ```
 
 As the option defaults to `auto`, meson will look it up, and if its is found, 
add the module.
@@ -191,11 +193,13 @@ cases of conditional dependencies. For example suppose we 
want an option to be d
 cases when it is set to `auto`:
 
 ```meson
-if (get_option('x11')
-.disable_auto_if(host_system in ['darwin', 'windows'])
-.allowed())
-# Do something here if the X11 option is enabled
-endif
+vlc_modules += {
+'name' : 'xcb',
+'sources' : files('xcb.c'),
+'enabled' : get_option('x11') \
+.disable_auto_if(host_system in ['darwin', 'windows']) \
+.allowed(),
+}
 ```
 
 This will disable the `x11` option if it is set to auto, when on `darwin` or 
`windows`.
@@ -212,6 +216,102 @@ endif
 it would not do what you might expect, as `disable_auto_if` returns a new 
option and does not mutate the
 existing one. The returned option object is never assigned to any variable, so 
it is lost.
 
+### Adding new tests
+
+VLC tests are also meson dictionaries added to the special array named 
`vlc_tests`.
+This mechanism allows a test to reference modules that should be available when
+running the test.
+
+To add a new test, simply append to that variable:
+
+```meson
+vlc_tests += {
+'name' : 'test_src_input_thumbnail',
+'sources' : files('input/thumbnail.c'),
+'suite' : ['src', 'test_src'],
+'link_with' : [libvlc, libvlccore],
+'module_depends' : ['demux_mock', 'rawvideo']
+}
+```
+
+@warningMake sure to not accidentally overwrite the `vlc_tests` variable
+by using an `=` instead of `+=` when appending the dictionary.
+
+Currently the modules dictionary accepts the following keys:
+
+@param  name
+The name of the new VLC test, which will map to the executable name. 
**Required**
+
+@param  sources
+The source files for the new test, use [`files()`][mref_files] to 
specify them. **Required**
+
+@param  suite
+The meson test suites to which this test should be available.
+
+@param  dependencies
+   The dependencies needed by the test. Only list external 
dependencies
+   here, not libraries that are built as part of the VLC build, 
for these
+   use `link_with` instead.
+
+@param  link_with
+   The dependencies needed by the test that are part of the VLC 
build.
+For external dependencies, use `dependencies` instead.
+
+@param  include_directories
+   Additional include directories that should be used when 
compiling the test.
+   These should be specified us

[vlc-commits] [Git][videolan/vlc][master] doc: BUILD-win32: update docker images in doc

2024-04-27 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
9ad3dd74 by darshan jain at 2024-04-27T09:03:16+00:00
doc: BUILD-win32: update docker images in doc

BUILD-win32 has currently some outdated Docker Images, these should be
updated to be used further by new contributers

This MR will update with the latest images as per CI.

- - - - -


1 changed file:

- doc/BUILD-win32.md


Changes:

=
doc/BUILD-win32.md
=
@@ -107,8 +107,8 @@ source toolchain.sh
 
 * On Docker, you can use these 2 images:
 
-  * msvcrt: `registry.videolan.org/vlc-debian-llvm-msvcrt:20221011232542`
-  * ucrt:   `registry.videolan.org/vlc-debian-llvm-ucrt:20221012005047`
+  * msvcrt: `registry.videolan.org/vlc-debian-llvm-msvcrt:20240212151604`
+  * ucrt:   `registry.videolan.org/vlc-debian-llvm-ucrt:20240212151604`
 
 You can find the latest Docker images we use in 
[extras/ci/gitlab-ci.yml](/extras/ci/gitlab-ci.yml)
 
@@ -138,7 +138,7 @@ Type enter to select "all"
 ```
 
 
-* On Docker, you can use the 
`registry.videolan.org/vlc-debian-win64:20221011230137` image.
+* On Docker, you can use the 
`registry.videolan.org/vlc-debian-win64-posix:20240212151604` image.
 
 You can find the latest Docker images we use in 
[extras/ci/gitlab-ci.yml](/extras/ci/gitlab-ci.yml)
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/9ad3dd748b9b58e6afc04cb3d16ad9c6b0706ebc

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/9ad3dd748b9b58e6afc04cb3d16ad9c6b0706ebc
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] package/win32: remove the contrib target tools from the PATH

2024-04-27 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
7111e603 by Steve Lhomme at 2024-04-27T05:55:33+00:00
package/win32: remove the contrib target tools from the PATH

The cross-compiled binaries are likely not going to be usable on the host and
should not be added to the PATH. They should never be used to be consistent
between native and cross-compiled builds.

It was added in the original build script: 
5648ecad1a15a75e2d71d0fa22dd9b1797b89431.

- - - - -


1 changed file:

- extras/package/win32/build.sh


Changes:

=
extras/package/win32/build.sh
=
@@ -249,8 +249,6 @@ case $LICENSE in
 ;;
 esac
 
-export PATH="$PWD/contrib/$CONTRIB_PREFIX/bin":"$PATH"
-
 if [ "$INTERACTIVE" = "yes" ]; then
 if [ "x$SHELL" != "x" ]; then
 exec $SHELL



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/7111e603eb65b0e4c1135d7260602efd5e082564

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/7111e603eb65b0e4c1135d7260602efd5e082564
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 5 commits: macosx: Do not set nil input item as represented input item for information window

2024-04-22 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
ed30c126 by Claudio Cambra at 2024-04-22T07:08:38+00:00
macosx: Do not set nil input item as represented input item for information 
window

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
95522489 by Claudio Cambra at 2024-04-22T07:08:38+00:00
macosx: Fix information window not being shown at all when currently playing 
input item is nil, but without crashing

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
58ec5cfd by Claudio Cambra at 2024-04-22T07:08:38+00:00
macosx: Disable information window menu entry if current input item is nil

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
b0162f06 by Claudio Cambra at 2024-04-22T07:08:38+00:00
macosx: Add parentheses to representedItem in informationwindowcontroller

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -
a4afdce0 by Claudio Cambra at 2024-04-22T07:08:38+00:00
macosx: Directly disable autoenabling items in windowmenu

Signed-off-by: Claudio Cambra develo...@claudiocambra.com

- - - - -


2 changed files:

- modules/gui/macosx/menus/VLCMainMenu.m
- modules/gui/macosx/panels/VLCInformationWindowController.m


Changes:

=
modules/gui/macosx/menus/VLCMainMenu.m
=
@@ -630,21 +630,23 @@ typedef NS_ENUM(NSInteger, VLCObjectType) {
 {
 [self updateTrackHandlingMenus:aNotification];
 
-VLCInputItem *inputItem = _playerController.currentMedia;
+VLCInputItem * const inputItem = _playerController.currentMedia;
 
-if (inputItem != NULL) {
+if (inputItem != nil) {
 [self rebuildAoutMenu];
 [self rebuildVoutMenu];
-inputItem = nil;
-
 [self setRateControlsEnabled:_playerController.rateChangable];
 [self setSubtitleSizeControlsEnabled:YES];
+self.info.enabled = YES;
 } else {
 [_postprocessing setEnabled:NO];
 [self setAudioSubMenusEnabled:NO];
 [self setVideoMenuActiveVideo:NO];
 [self setRateControlsEnabled:NO];
 [self setSubtitleSizeControlsEnabled:NO];
+
+self.windowMenu.autoenablesItems = NO;
+self.info.enabled = NO;
 }
 }
 
@@ -1535,6 +1537,7 @@ typedef NS_ENUM(NSInteger, VLCObjectType) {
 _infoWindowController = [[VLCInformationWindowController alloc] init];
 _infoWindowController.mainMenuInstance = YES;
 }
+
 _infoWindowController.representedInputItem = 
_playlistController.currentlyPlayingInputItem;
 [_infoWindowController toggleWindow:sender];
 }


=
modules/gui/macosx/panels/VLCInformationWindowController.m
=
@@ -264,7 +264,7 @@ _##field##TextField.delegate = self
 
 - (void)setRepresentedInputItem:(VLCInputItem *)representedInputItem
 {
-_representedInputItems = @[representedInputItem];
+_representedInputItems = (representedInputItem == nil) ? @[] : 
@[representedInputItem];
 _artwork = [VLCLibraryImageCache 
thumbnailForInputItem:representedInputItem];
 [self updateRepresentation];
 }



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/c9afd0cfa3cbb7dca9cbdcbfdb11784e5867dd79...a4afdce02a1ba3c858e1e15033e41fcd85e3052c

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/c9afd0cfa3cbb7dca9cbdcbfdb11784e5867dd79...a4afdce02a1ba3c858e1e15033e41fcd85e3052c
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 3 commits: contrib: add the contrib native tools libexec to the PATH

2024-04-21 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
6563bc38 by Steve Lhomme at 2024-04-21T09:50:13+00:00
contrib: add the contrib native tools libexec to the PATH

Some native tools we build may be usable by other targets.

- - - - -
6140b72e by Steve Lhomme at 2024-04-21T09:50:13+00:00
contrib: qt: fix the native tools version detection

We dont care about qt-cmake, it doesnt even match our Qt version.
We want to know the tools match the version we want to build.

- - - - -
46151086 by Steve Lhomme at 2024-04-21T09:50:13+00:00
contrib: qt: only detect the native tools once

When not cross-compiling, we assume the tools match the Qt6 package.
We dont need to check again the binary as it will have no effect.

- - - - -


4 changed files:

- contrib/src/main.mak
- contrib/src/qt/rules.mak
- contrib/src/qtdeclarative/rules.mak
- contrib/src/qtshadertools/rules.mak


Changes:

=
contrib/src/main.mak
=
@@ -40,7 +40,7 @@ BUILDPREFIX := $(abspath $(BUILDPREFIX))
 BUILDBINDIR ?= $(BUILDPREFIX)/bin
 
 SYSTEM_PATH := $(abspath $(VLC_TOOLS)/bin):$(PATH)
-PATH :=$(abspath $(BUILDBINDIR)):$(SYSTEM_PATH)
+PATH :=$(abspath $(BUILDBINDIR)):$(abspath 
$(BUILDBINDIR)/../libexec):$(SYSTEM_PATH)
 export PATH
 
 ifneq ($(HOST),$(BUILD))


=
contrib/src/qt/rules.mak
=
@@ -27,8 +27,7 @@ PKGS_FOUND += qt
 endif
 ifndef HAVE_CROSS_COMPILE
 PKGS_FOUND += qt-tools
-endif
-ifeq ($(call system_tool_version, qt-cmake --version),3.22)
+else ifeq ($(call system_tool_version, moc --version),$(QTBASE_VERSION_MAJOR))
 PKGS_FOUND += qt-tools
 endif
 


=
contrib/src/qtdeclarative/rules.mak
=
@@ -24,8 +24,7 @@ PKGS_FOUND += qtdeclarative
 endif
 ifndef HAVE_CROSS_COMPILE
 PKGS_FOUND += qtdeclarative-tools
-endif
-ifeq ($(call system_tool_majmin, qml --version),$(QTDECLARATIVE_VERSION_MAJOR))
+else ifeq ($(call system_tool_majmin, qmlcachegen 
--version),$(QTDECLARATIVE_VERSION_MAJOR))
 PKGS_FOUND += qtshadertools-tools
 endif
 


=
contrib/src/qtshadertools/rules.mak
=
@@ -28,8 +28,7 @@ PKGS_FOUND += qtshadertools
 endif
 ifndef HAVE_CROSS_COMPILE
 PKGS_FOUND += qtshadertools-tools
-endif
-ifeq ($(call system_tool_majmin, qsb --version),$(QTSHADERTOOLS_VERSION_MAJOR))
+else ifeq ($(call system_tool_majmin, qsb 
--version),$(QTSHADERTOOLS_VERSION_MAJOR))
 PKGS_FOUND += qtshadertools-tools
 endif
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/c0470455a92077db5b840d5bd31f3dc45e95e7d4...461510866165c9a849b3941fcf3a82380f414c7c

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/c0470455a92077db5b840d5bd31f3dc45e95e7d4...461510866165c9a849b3941fcf3a82380f414c7c
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: Rename scrolling text.qml

2024-03-25 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
4667eaa2 by Darshan Jain at 2024-03-25T20:37:53+00:00
qml: Rename scrolling text.qml

- - - - -


9 changed files:

- modules/gui/qt/Makefile.am
- modules/gui/qt/medialibrary/qml/MusicArtistDelegate.qml
- modules/gui/qt/network/qml/BrowseDeviceView.qml
- modules/gui/qt/network/qml/NetworkThumbnailItem.qml
- modules/gui/qt/vlc.qrc
- modules/gui/qt/widgets/qml/GridItem.qml
- modules/gui/qt/widgets/qml/TableColumns.qml
- modules/gui/qt/widgets/qml/TableViewDelegate.qml
- modules/gui/qt/widgets/qml/ScrollingText.qml → 
modules/gui/qt/widgets/qml/TextAutoScroller.qml


Changes:

=
modules/gui/qt/Makefile.am
=
@@ -1080,7 +1080,7 @@ libqt_plugin_la_QML = \
widgets/qml/RoundButton.qml \
widgets/qml/ScaledImage.qml \
widgets/qml/ScanProgressBar.qml \
-   widgets/qml/ScrollingText.qml \
+widgets/qml/TextAutoScroller.qml \
widgets/qml/SearchBox.qml \
widgets/qml/SliderExt.qml \
widgets/qml/SortControl.qml \


=
modules/gui/qt/medialibrary/qml/MusicArtistDelegate.qml
=
@@ -165,7 +165,7 @@ T.ItemDelegate {
 }
 }
 
-Widgets.ScrollingText {
+Widgets.TextAutoScroller {
 label: artistName
 
 forceScroll: root.isCurrent || root._isHover


=
modules/gui/qt/network/qml/BrowseDeviceView.qml
=
@@ -328,7 +328,7 @@ FocusScope {
 Component {
 id: mrlColumn
 
-Widgets.ScrollingText {
+Widgets.TextAutoScroller {
 id: itemText
 
 property var rowModel: parent.rowModel


=
modules/gui/qt/network/qml/NetworkThumbnailItem.qml
=
@@ -149,7 +149,7 @@ Row {
 
 width: Math.max(0, parent.width - x)
 
-Widgets.ScrollingText {
+Widgets.TextAutoScroller {
 id: itemText
 
 anchors.left: parent.left


=
modules/gui/qt/vlc.qrc
=
@@ -191,7 +191,7 @@
 widgets/qml/NavigableCol.qml
 widgets/qml/NavigableRow.qml
 widgets/qml/ButtonExt.qml
-widgets/qml/ScrollingText.qml
+widgets/qml/TextAutoScroller.qml
 widgets/qml/CaptionLabel.qml
 widgets/qml/IconLabel.qml
 widgets/qml/ListLabel.qml


=
modules/gui/qt/widgets/qml/GridItem.qml
=
@@ -295,7 +295,7 @@ T.ItemDelegate {
 }
 }
 
-Widgets.ScrollingText {
+Widgets.TextAutoScroller {
 id: titleTextRect
 
 label: titleLabel


=
modules/gui/qt/widgets/qml/TableColumns.qml
=
@@ -152,7 +152,7 @@ Item {
 Layout.topMargin: VLCStyle.margin_xxsmall
 Layout.bottomMargin: VLCStyle.margin_xxsmall
 
-Widgets.ScrollingText {
+Widgets.TextAutoScroller {
 id: textRect
 
 anchors.left: parent.left


=
modules/gui/qt/widgets/qml/TableViewDelegate.qml
=
@@ -56,7 +56,7 @@ T.Control {
 signal dropExited(var drag, bool before)
 signal dropEvent(var drag, var drop, bool before)
 
-property Component defaultDelegate: Widgets.ScrollingText {
+property Component defaultDelegate: Widgets.TextAutoScroller {
 id: defaultDelId
 property var rowModel: parent.rowModel
 property var colModel: parent.colModel


=
modules/gui/qt/widgets/qml/ScrollingText.qml → 
modules/gui/qt/widgets/qml/TextAutoScroller.qml
=



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/4667eaa2a52a85193f2d9693c4533bc96754b789

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/4667eaa2a52a85193f2d9693c4533bc96754b789
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 11 commits: qt: cast QPainterPath::element to QPointF in QSGRoundedRectangularImageNode

2024-03-24 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
af677147 by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: cast QPainterPath::element to QPointF in QSGRoundedRectangularImageNode

- - - - -
8d5ea965 by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: add missing Q_MOC_INCLUDE

- - - - -
83141455 by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: do not use `setClearBeforeRendering()` in compositor_wayland

Qt docs: The color buffer is cleared by default.

- - - - -
30c2634e by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: remove org.videolan.compat module

- - - - -
ef6d533d by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: remove d3d version check in compositor_win7 for Qt 6

- - - - -
fd124355 by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: do not use `setClearBeforeRendering()` in compositor_win7

Qt docs: The color buffer is cleared by default.

- - - - -
dc64361e by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: fix nativeEventFilter() signature

- - - - -
9602401a by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: use QQuickItem::geometryChange() instead of QQuickItem::geometryChanged()

- - - - -
1488db7f by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: fix QQuickImageProvider deriving from QObject since Qt 6

- - - - -
cbd2cf1d by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: force OpenGL on Windows 7 if Qt = 6.0

QRhiD3D11 uses functionality that is expected
to be not available on Windows 7. Since RHI
fallback does not work, we force OpenGL so
that it does not crash.

- - - - -
396916a1 by Fatih Uzunoglu at 2024-03-24T20:32:07+00:00
qt: use `split()` instead of `splitRef()`, use QStringView with Qt 6 in 
ControlbarProfileModel

QStringView is available on Qt 5.12, but lacks the split() method
that is used here.

- - - - -


30 changed files:

- modules/gui/qt/Makefile.am
- modules/gui/qt/dialogs/dialogs/dialogmodel.hpp
- modules/gui/qt/dialogs/toolbar/controlbar_profile.hpp
- modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
- modules/gui/qt/dialogs/toolbar/qml/EditorDNDDelegate.qml
- modules/gui/qt/dialogs/toolbar/qml/EditorDNDView.qml
- modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
- modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.hpp
- modules/gui/qt/maininterface/compositor_wayland.cpp
- modules/gui/qt/maininterface/compositor_win7.cpp
- modules/gui/qt/maininterface/compositor_win7.hpp
- modules/gui/qt/maininterface/mainctx.hpp
- modules/gui/qt/maininterface/mainctx_win32.cpp
- modules/gui/qt/maininterface/mainctx_win32.hpp
- modules/gui/qt/maininterface/mainui.cpp
- modules/gui/qt/maininterface/qml/BannerSources.qml
- modules/gui/qt/maininterface/qml/MainDisplay.qml
- modules/gui/qt/maininterface/qml/MainInterface.qml
- modules/gui/qt/maininterface/videosurface.cpp
- modules/gui/qt/maininterface/videosurface.hpp
- modules/gui/qt/medialibrary/mlbookmarkmodel.hpp
- modules/gui/qt/menus/qml_menu_wrapper.hpp
- modules/gui/qt/network/networkdevicemodel.hpp
- modules/gui/qt/network/networkmediamodel.hpp
- modules/gui/qt/player/control_list_filter.hpp
- modules/gui/qt/player/player_controlbar_model.hpp
- modules/gui/qt/player/qml/ControlBar.qml
- modules/gui/qt/player/qml/ControlLayout.qml
- modules/gui/qt/player/qml/ControlRepeater.qml
- modules/gui/qt/player/qml/MiniPlayer.qml


The diff was not included because it is too large.


View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/c7b06f38da3c3a39a188b3f053029c8f2e441853...396916a1759b61a365d80a9195d2a4792dc9a2b7

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/c7b06f38da3c3a39a188b3f053029c8f2e441853...396916a1759b61a365d80a9195d2a4792dc9a2b7
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: extend artist list background through view display margin end

2024-03-24 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
c7b06f38 by Fatih Uzunoglu at 2024-03-24T19:58:21+00:00
qml: extend artist list background through view display margin end

- - - - -


1 changed file:

- modules/gui/qt/medialibrary/qml/MusicArtistsAlbums.qml


Changes:

=
modules/gui/qt/medialibrary/qml/MusicArtistsAlbums.qml
=
@@ -127,7 +127,7 @@ FocusScope {
 
   visible: artistModel.count > 0
   width: artistList.width
-  height: artistList.height
+  height: artistList.height + artistList.displayMarginEnd
 
   tintColor: artistList.colorContext.bg.secondary
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/c7b06f38da3c3a39a188b3f053029c8f2e441853

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/c7b06f38da3c3a39a188b3f053029c8f2e441853
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 3 commits: d3d11_scaler: mark Intel Super Resolution detection as not possible

2024-03-23 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
12511587 by Steve Lhomme at 2024-03-24T04:32:43+00:00
d3d11_scaler: mark Intel Super Resolution detection as not possible

- - - - -
6a5b788c by Steve Lhomme at 2024-03-24T04:32:43+00:00
d3d11_scaler: fix Intel Super Resolution enabling

The wrong API was used to set kIntelVpeFnScaling.

- - - - -
172ae5a6 by Steve Lhomme at 2024-03-24T04:32:43+00:00
d3d11_scaler: fix deadlock on NVIDIA detection errors

- - - - -


1 changed file:

- modules/video_output/win32/d3d11_scaler.cpp


Changes:

=
modules/video_output/win32/d3d11_scaler.cpp
=
@@ -124,14 +124,13 @@ d3d11_scaler *D3D11_UpscalerCreate(vlc_object_t *vd, 
d3d11_device_t *d3d_dev, vl
 
 hr = d3dvidctx->VideoProcessorGetStreamExtension(processor.Get(),
 0, , sizeof(available), 
);
-d3d11_device_unlock(d3d_dev);
 checked:
+d3d11_device_unlock(d3d_dev);
 canProcess = available != 0;
 }
 else if (d3d_dev->adapterDesc.VendorId == GPU_MANUFACTURER_INTEL)
 {
-// TODO refine which GPU and drivers can do it
-canProcess = true;
+canProcess = true; // detection doesn't work
 }
 #ifdef HAVE_AMF_SCALER
 else if (d3d_dev->adapterDesc.VendorId == GPU_MANUFACTURER_AMD)
@@ -553,8 +552,8 @@ int D3D11_UpscalerUpdate(vlc_object_t *vd, d3d11_scaler 
*scaleProc, d3d11_device
 
 ext.function = kIntelVpeFnScaling;
 param = upscale ? kIntelVpeScalingSuperResolution : 
kIntelVpeScalingDefault;
-hr = scaleProc->d3dvidctx->VideoProcessorSetOutputExtension(
-scaleProc->processor.Get(),
+hr = scaleProc->d3dvidctx->VideoProcessorSetStreamExtension(
+scaleProc->processor.Get(), 0,
 _INTEL_VPE_INTERFACE, sizeof(ext), );
 if (FAILED(hr)) {
 msg_Err(vd, "Failed to set the Intel VPE scaling type. 
(hr=0x%lX)", hr);



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/58d43b1259270d11525265e72bc285cb928fc5d1...172ae5a6635c7d4183ad778347dd18e8ab3210ba

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/58d43b1259270d11525265e72bc285cb928fc5d1...172ae5a6635c7d4183ad778347dd18e8ab3210ba
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: fit text in toolbar editor button list view

2024-03-23 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
58d43b12 by Fatih Uzunoglu at 2024-03-23T20:24:42+00:00
qml: fit text in toolbar editor button list view

- - - - -


1 changed file:

- modules/gui/qt/dialogs/toolbar/qml/ToolbarEditorButtonList.qml


Changes:

=
modules/gui/qt/dialogs/toolbar/qml/ToolbarEditorButtonList.qml
=
@@ -196,6 +196,7 @@ GridView {
 
 color: theme.fg.secondary
 elide: Text.ElideNone
+fontSizeMode: Text.Fit
 text: 
PlayerControlbarControls.controlList[model.index].text
 wrapMode: Text.WordWrap
 horizontalAlignment: Text.AlignHCenter



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/58d43b1259270d11525265e72bc285cb928fc5d1

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/58d43b1259270d11525265e72bc285cb928fc5d1
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][3.0.x] 3 commits: d3d11_scaler: mark Intel Super Resolution detection as not possible

2024-03-23 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC


Commits:
49a3e1f3 by Steve Lhomme at 2024-03-22T08:51:39+00:00
d3d11_scaler: mark Intel Super Resolution detection as not possible

(cherry picked from commit 40ac7778b994337a0a55c8a5d507f6284933b4cf)
Signed-off-by: Steve Lhomme rob...@ycbcr.xyz

- - - - -
d625e97a by Steve Lhomme at 2024-03-22T08:51:39+00:00
d3d11_scaler: fix Intel Super Resolution enabling

The wrong API was used to set kIntelVpeFnScaling.

(cherry picked from commit 6d8d4e0ff7a34705c0fff4ee0d5f3a409b991dce)
Signed-off-by: Steve Lhomme rob...@ycbcr.xyz

- - - - -
6142a908 by Steve Lhomme at 2024-03-22T08:51:39+00:00
d3d11_scaler: fix deadlock on NVIDIA detection errors

(cherry picked from commit b7fa0712fbaa2bf4f00994ffeefc565d59533dee)
Signed-off-by: Steve Lhomme rob...@ycbcr.xyz

- - - - -


1 changed file:

- modules/video_output/win32/d3d11_scaler.cpp


Changes:

=
modules/video_output/win32/d3d11_scaler.cpp
=
@@ -124,14 +124,13 @@ d3d11_scaler *D3D11_UpscalerCreate(vlc_object_t *vd, 
d3d11_device_t *d3d_dev, vl
 
 hr = d3dvidctx->VideoProcessorGetStreamExtension(processor.Get(),
 0, , sizeof(available), 
);
-d3d11_device_unlock(d3d_dev);
 checked:
+d3d11_device_unlock(d3d_dev);
 canProcess = available != 0;
 }
 else if (d3d_dev->adapterDesc.VendorId == GPU_MANUFACTURER_INTEL)
 {
-// TODO refine which GPU and drivers can do it
-canProcess = true;
+canProcess = true; // detection doesn't work
 }
 #ifdef HAVE_AMF_SCALER
 else if (d3d_dev->adapterDesc.VendorId == GPU_MANUFACTURER_AMD)
@@ -554,8 +553,8 @@ int D3D11_UpscalerUpdate(vlc_object_t *vd, d3d11_scaler 
*scaleProc, d3d11_device
 
 ext.function = kIntelVpeFnScaling;
 param = upscale ? kIntelVpeScalingSuperResolution : 
kIntelVpeScalingDefault;
-hr = scaleProc->d3dvidctx->VideoProcessorSetOutputExtension(
-scaleProc->processor.Get(),
+hr = scaleProc->d3dvidctx->VideoProcessorSetStreamExtension(
+scaleProc->processor.Get(), 0,
 _INTEL_VPE_INTERFACE, sizeof(ext), );
 if (FAILED(hr)) {
 msg_Err(vd, "Failed to set the Intel VPE scaling type. 
(hr=0x%lX)", hr);



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/020d1d443dcdb00348442580a87f7e53b918130f...6142a908b86676170f75cc131126e60bc8fcd14f

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/020d1d443dcdb00348442580a87f7e53b918130f...6142a908b86676170f75cc131126e60bc8fcd14f
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 3 commits: qt: rename variable

2024-03-23 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
5f1e80b1 by Prince Gupta at 2024-03-23T14:35:07+00:00
qt: rename variable

- - - - -
69a44986 by Prince Gupta at 2024-03-23T14:35:07+00:00
qt: add currentIndex property to PlaylistController

- - - - -
4cd7e935 by Prince Gupta at 2024-03-23T14:35:07+00:00
qml: add option to jump to playing in Playlist

- - - - -


5 changed files:

- modules/gui/qt/menus/qml_menu_wrapper.cpp
- modules/gui/qt/menus/qml_menu_wrapper.hpp
- modules/gui/qt/playlist/playlist_controller.cpp
- modules/gui/qt/playlist/playlist_controller.hpp
- modules/gui/qt/playlist/qml/PlaylistListView.qml


Changes:

=
modules/gui/qt/menus/qml_menu_wrapper.cpp
=
@@ -848,7 +848,7 @@ PlaylistContextMenu::PlaylistContextMenu(QObject* parent)
 : QObject(parent)
 {}
 
-void PlaylistContextMenu::popup(int currentIndex, QPoint pos )
+void PlaylistContextMenu::popup(int selectedIndex, QPoint pos )
 {
 if (!m_controler || !m_model || !m_selectionModel)
 return;
@@ -860,20 +860,26 @@ void PlaylistContextMenu::popup(int currentIndex, QPoint 
pos )
 for (const int modelIndex : m_selectionModel->selectedIndexesFlat())
 selectedUrlList.push_back(m_model->itemAt(modelIndex).getUrl());
 
-PlaylistItem currentItem;
-if (currentIndex >= 0)
-currentItem = m_model->itemAt(currentIndex);
+PlaylistItem selectedItem;
+if (selectedIndex >= 0)
+selectedItem = m_model->itemAt(selectedIndex);
 
-if (currentItem)
+if (selectedItem)
 {
 action = m_menu->addAction( qtr("Play") );
-connect(action, ::triggered, [this, currentIndex]( ) {
-m_controler->goTo(currentIndex, true);
+connect(action, ::triggered, [this, selectedIndex]( ) {
+m_controler->goTo(selectedIndex, true);
 });
 
 m_menu->addSeparator();
 }
 
+if (m_controler->currentIndex() != -1)
+{
+action = m_menu->addAction( qtr("Jump to current playing"));
+connect(action, ::triggered, this, 
::jumpToCurrentPlaying);
+}
+
 if (m_selectionModel->hasSelection()) {
 action = m_menu->addAction( qtr("Stream") );
 connect(action, ::triggered, [selectedUrlList]( ) {
@@ -888,19 +894,19 @@ void PlaylistContextMenu::popup(int currentIndex, QPoint 
pos )
 m_menu->addSeparator();
 }
 
-if (currentItem) {
+if (selectedItem) {
 action = m_menu->addAction( qtr("Information") );
 action->setIcon(QIcon(":/menu/info.svg"));
-connect(action, ::triggered, [currentItem]( ) {
-DialogsProvider::getInstance()->mediaInfoDialog(currentItem);
+connect(action, ::triggered, [selectedItem]( ) {
+DialogsProvider::getInstance()->mediaInfoDialog(selectedItem);
 });
 
 m_menu->addSeparator();
 
 action = m_menu->addAction( qtr("Show Containing Directory...") );
 action->setIcon(QIcon(":/menu/folder.svg"));
-connect(action, ::triggered, [this, currentItem]( ) {
-m_controler->explore(currentItem);
+connect(action, ::triggered, [this, selectedItem]( ) {
+m_controler->explore(selectedItem);
 });
 
 m_menu->addSeparator();


=
modules/gui/qt/menus/qml_menu_wrapper.hpp
=
@@ -378,6 +378,9 @@ class PlaylistContextMenu : public QObject {
 public:
 PlaylistContextMenu(QObject* parent = nullptr);
 
+signals:
+void jumpToCurrentPlaying();
+
 public slots:
 void popup(int currentIndex, QPoint pos );
 private:


=
modules/gui/qt/playlist/playlist_controller.cpp
=
@@ -554,6 +554,12 @@ void PlaylistController::explore(const PlaylistItem& pItem)
 }
 }
 
+int PlaylistController::currentIndex() const
+{
+Q_D(const PlaylistController);
+return d->m_currentIndex;
+}
+
 void PlaylistController::play()
 {
 Q_D(PlaylistController);


=
modules/gui/qt/playlist/playlist_controller.hpp
=
@@ -105,6 +105,7 @@ public:
 Q_PROPERTY(SortKey sortKey READ getSortKey WRITE setSortKey NOTIFY 
sortKeyChanged FINAL)
 Q_PROPERTY(SortOrder sortOrder READ getSortOrder WRITE setSortOrder NOTIFY 
sortOrderChanged FINAL)
 Q_PROPERTY(MediaStopAction mediaStopAction READ getMediaStopAction WRITE 
setMediaStopAction NOTIFY mediaStopActionChanged FINAL)
+Q_PROPERTY(int currentIndex READ currentIndex NOTIFY currentIndexChanged 
FINAL)
 
 
 public:
@@ -162,6 +163,7 @@ public slots:
 
 bool isEmpty() const;
 int count() const;
+int currentIndex() const;
 
 Sor

[vlc-commits] [Git][videolan/vlc][master] 3 commits: qml: correct invalid reference in Player

2024-03-23 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
2c075976 by Fatih Uzunoglu at 2024-03-23T14:08:29+00:00
qml: correct invalid reference in Player

- - - - -
8ed07cf0 by Fatih Uzunoglu at 2024-03-23T14:08:29+00:00
qml: do not import player directory in NavigationBoxButton

importing player directory as Player
conflicts with the Player provided
by org.videolan.vlc module.

- - - - -
3d8fa03b by Fatih Uzunoglu at 2024-03-23T14:08:29+00:00
qml: use IconToolButton in NavigationBoxButton

IconControlButton is no more.

- - - - -


2 changed files:

- modules/gui/qt/player/qml/Player.qml
- modules/gui/qt/player/qml/controlbarcontrols/NavigationBoxButton.qml


Changes:

=
modules/gui/qt/player/qml/Player.qml
=
@@ -714,7 +714,7 @@ FocusScope {
 || navBox.hovered || !rootPlayer.hasEmbededVideo)
 
 x: rootPlayer.x + VLCStyle.margin_normal + 
VLCStyle.applicationHorizontalMargin
-y: controlBarView.y - navBox.height - VLCStyle.margin_normal
+y: controlBar.y - navBox.height - VLCStyle.margin_normal
 
 dragXMin: 0
 dragXMax: rootPlayer.width - navBox.width


=
modules/gui/qt/player/qml/controlbarcontrols/NavigationBoxButton.qml
=
@@ -19,15 +19,14 @@
 import QtQuick 2.12
 
 import "qrc:///widgets/" as Widgets
-import "qrc:///player/" as Player
 import "qrc:///style/"
 
 import org.videolan.vlc 0.1
 
-Widgets.IconControlButton {
+Widgets.IconToolButton {
 visible: Player.isInteractive
-iconText: VLCIcons.ic_fluent_arrow_move
-text: I18n.qtr("Navigation Buttons")
+text: VLCIcons.ic_fluent_arrow_move
+description: I18n.qtr("Navigation Buttons")
 
 onClicked: MainCtx.navBoxToggled()
 }



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/2b68d45d034a98ef84300d4d728578c8ca18497a...3d8fa03b17d45769ca866adb97598ee977cff467

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/2b68d45d034a98ef84300d4d728578c8ca18497a...3d8fa03b17d45769ca866adb97598ee977cff467
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: fix context menu not opening in playlist delegate

2024-03-23 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
2b68d45d by Fatih Uzunoglu at 2024-03-23T11:52:25+00:00
qml: fix context menu not opening in playlist delegate

Regression since d34c08723d0edc3448704214280d7b8e97e7849b,
and `this` here is not necessary. It is not clear why it has
been used before.

- - - - -


1 changed file:

- modules/gui/qt/playlist/qml/PlaylistDelegate.qml


Changes:

=
modules/gui/qt/playlist/qml/PlaylistDelegate.qml
=
@@ -254,7 +254,7 @@ T.ItemDelegate {
 }
 
 if (contextMenu && mouse.button === Qt.RightButton)
-contextMenu.popup(index, this.mapToGlobal(mouse.x, mouse.y))
+contextMenu.popup(index, mapToGlobal(mouse.x, mouse.y))
 }
 
 onDoubleClicked: (mouse) => {



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/2b68d45d034a98ef84300d4d728578c8ca18497a

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/2b68d45d034a98ef84300d4d728578c8ca18497a
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 2 commits: qml: do not show mini player when ui is scaled

2024-03-23 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
9f933942 by Fatih Uzunoglu at 2024-03-23T11:23:19+00:00
qml: do not show mini player when ui is scaled

- - - - -
4ef63e2a by Fatih Uzunoglu at 2024-03-23T11:23:19+00:00
qml: simplify logic in MiniPlayer.qml

- - - - -


1 changed file:

- modules/gui/qt/player/qml/MiniPlayer.qml


Changes:

=
modules/gui/qt/player/qml/MiniPlayer.qml
=
@@ -25,17 +25,9 @@ import "qrc:///style/"
 ControlBar {
 id: root
 
-// Binding evaluation order:
-// state -> implicitHeight OR visible -> anchors.bottomMargin
-// Care must be taken to not cause binding loops.
-visible: {
-if (state === "inViewport")
-return true
-else if ((anchors.bottomMargin + implicitHeight) > Number.EPSILON)
-return true
-else
-return false
-}
+visible: animation.running || (state === "inViewport")
+
+anchors.bottomMargin: (state === "outViewport") ? -_delayedImplicitHeight 
: 0
 
 state: (Player.playingState === Player.PLAYING_STATE_STOPPED) ? 
"outViewport"
   : 
"inViewport"
@@ -51,27 +43,34 @@ ControlBar {
 
 identifier: PlayerControlbarModel.Miniplayer
 
-Component.onCompleted: {
-// Enable the behavior only when everything is resolved:
-Qt.callLater(() => { behavior.enabled = true })
-}
+property real _delayedImplicitHeight
 
-BindingCompat on anchors.bottomMargin {
-id: binding
+onImplicitHeightChanged: {
+if (!animation.running) {
+// Animation should not be based on the implicit height change
+// but rather the visibility state:
+behavior.enabled = false
+Qt.callLater(() => { behavior.enabled = true })
+}
+}
 
+BindingCompat on _delayedImplicitHeight {
 // eliminate intermediate adjustments until implicit height is 
calculated fully
 // we can not delay on component load because we do not want twitching
 // NOTE: The delay here can be removed, as long as a direct height is 
set
 //   for the whole control instead of implicit height.
 delayed: behavior.enabled
-
-value: (root.state === "outViewport") ? -root.implicitHeight : 0
+value: root.implicitHeight
 }
 
 Behavior on anchors.bottomMargin {
 id: behavior
 enabled: false
-NumberAnimation { easing.type: Easing.InOutSine; duration: 
VLCStyle.duration_long; }
+NumberAnimation {
+id: animation
+easing.type: Easing.InOutSine
+duration: VLCStyle.duration_long
+}
 }
 }
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/3e45f73735fce77b4ac2e9804151a1669461cabe...4ef63e2aca61cb20db56ee8a200751e08335f9dc

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/3e45f73735fce77b4ac2e9804151a1669461cabe...4ef63e2aca61cb20db56ee8a200751e08335f9dc
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qml: remove spacing in music artist list

2024-03-23 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
3e45f737 by Fatih Uzunoglu at 2024-03-23T10:40:25+00:00
qml: remove spacing in music artist list

- - - - -


1 changed file:

- modules/gui/qt/medialibrary/qml/MusicArtistsAlbums.qml


Changes:

=
modules/gui/qt/medialibrary/qml/MusicArtistsAlbums.qml
=
@@ -144,7 +144,6 @@ FocusScope {
 Widgets.KeyNavigableListView {
 id: artistList
 
-spacing: 4
 model: artistModel
 selectionModel: root.selectionModel
 currentIndex: -1



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/3e45f73735fce77b4ac2e9804151a1669461cabe

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/3e45f73735fce77b4ac2e9804151a1669461cabe
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 3 commits: qt: rearrange variables in RoundImage

2024-03-23 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
58a7aec1 by Prince Gupta at 2024-03-23T09:13:35+00:00
qt: rearrange variables in RoundImage

reduces padding

- - - - -
cc922574 by Prince Gupta at 2024-03-23T09:13:35+00:00
qt: fix possible infinite loading in RoundImage

correctly handle error for custom generators

- - - - -
dafc146c by Prince Gupta at 2024-03-23T09:13:35+00:00
qt: fix leak of network resources from RoundImage

also add documentation to address ambiguity in object ownership

- - - - -


2 changed files:

- modules/gui/qt/widgets/native/roundimage.cpp
- modules/gui/qt/widgets/native/roundimage.hpp


Changes:

=
modules/gui/qt/widgets/native/roundimage.cpp
=
@@ -104,7 +104,15 @@ namespace
 class ImageReader : public AsyncTask
 {
 public:
-// requestedSize is only taken as hint, the Image is resized with 
PreserveAspectCrop
+/**
+ * @brief ImageReader
+ * @param device i/o source to read from, ImageReader doesn't take 
owner ship of the device
+ *   parent must make sure availability of device through 
out the lifetime of this instance
+ *
+ * @param requestedSize only taken as hint, the Image is resized with 
PreserveAspectCrop
+ *
+ * @param radius
+ */
 ImageReader(QIODevice *device, QSize requestedSize, const qreal radius)
 : device {device}
 , requestedSize {requestedSize}
@@ -182,11 +190,19 @@ namespace
 class NetworkImageResponse : public QQuickImageResponse
 {
 public:
+/**
+ * @brief NetworkImageResponse
+ * @param reply - Network reply to read from, NetworkImageResponse 
takes ownership of this object
+ * @param requestedSize - passed to ImageReader class
+ * @param radius - passed to ImageReader class
+ */
 NetworkImageResponse(QNetworkReply *reply, QSize requestedSize, const 
qreal radius)
 : reply {reply}
 , requestedSize {requestedSize}
 , radius {radius}
 {
+reply->setParent(this);
+
 QObject::connect(reply, ::finished
  , this, 
::handleNetworkReplyFinished);
 }
@@ -216,6 +232,8 @@ namespace
 {
 error = reply->errorString();
 emit finished();
+
+releaseNetworkReply();
 return;
 }
 
@@ -226,12 +244,20 @@ namespace
 error = reader->errorString();
 reader.reset();
 
+releaseNetworkReply();
+
 emit finished();
 });
 
 reader->start(*QThreadPool::globalInstance());
 }
 
+void releaseNetworkReply()
+{
+reply->deleteLater();
+reply = nullptr;
+}
+
 QNetworkReply *reply;
 QSize requestedSize;
 qreal radius;
@@ -283,7 +309,11 @@ namespace
 auto textureFactory = 
std::unique_ptr(response->textureFactory());
 auto img = !textureFactory ? QImage {} : textureFactory->image();
 if (!textureFactory || img.isNull())
+{
+// source response failed, signal to parent
+emit finished();
 return;
+}
 
 response->disconnect(this);
 response->deleteLater();


=
modules/gui/qt/widgets/native/roundimage.hpp
=
@@ -88,19 +88,17 @@ private slots:
 void onRequestCompleted(Status status, const QImage& image);
 
 private:
+Status m_status = Status::Null;
+bool m_QSGCustomGeometry = false;
+bool m_dirty = false;
+bool m_enqueuedGeneration = false;
+
 QUrl m_source;
 qreal m_radius = 0.0;
 qreal m_dpr = 1.0; // device pixel ratio
-Status m_status = Status::Null;
-
-bool m_QSGCustomGeometry = false;
 
 QImage m_roundImage;
-bool m_dirty = false;
-
 std::shared_ptr m_activeImageResponse;
-
-bool m_enqueuedGeneration = false;
 };
 
 #endif



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/44879313bab5b7208b12cb4968cf03a6f521e531...dafc146cf89f9d32c8b49905a409a6ccb2d73428

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/44879313bab5b7208b12cb4968cf03a6f521e531...dafc146cf89f9d32c8b49905a409a6ccb2d73428
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qt: CSDWindowButton: import org.videolan.vlc 0.1 library for rendering MainCtx

2024-03-19 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
296dac62 by darshan jain at 2024-03-19T13:38:21+00:00
qt: CSDWindowButton: import org.videolan.vlc 0.1 library for rendering MainCtx

We have to import missing org.videolan.vlc 0.1 library to access 
MainCtx
used in MainCtx.osName, MainCtx.Windows, and 
MainCtx.Version to
get Segoe Font icons according to Windows version.

Earlier, it is generating a qt warning: MainCtx is not defined
By this commit this gets resolved.

Fixes: #28341
Related Merge Request: !4984

- - - - -


1 changed file:

- modules/gui/qt/widgets/qml/CSDWindowButton.qml


Changes:

=
modules/gui/qt/widgets/qml/CSDWindowButton.qml
=
@@ -20,6 +20,8 @@ import QtQuick.Controls 2.12
 import QtQuick.Templates 2.12 as T
 import QtQuick.Layouts 1.12
 
+import org.videolan.vlc 0.1
+
 import "."
 import "qrc:///style/"
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/296dac62beb47fc41490686ebd0bff7a03ae3431

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/296dac62beb47fc41490686ebd0bff7a03ae3431
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] qt: flickable_scroll_handler: fix uninitialized variables

2024-03-19 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
b5afd73c by Alexandre Janniaux at 2024-03-19T09:44:16+00:00
qt: flickable_scroll_handler: fix uninitialized variables

setScaleFactor(1.0) was called from the constructor, but then it would
call qFuzzyCompare() with the current scale factor which was not
initialized.

==2600289== Thread 10 vlc-qt:
==2600289== Conditional jump or move depends on uninitialised value(s)
==2600289==at 0xE8E56F1: qFuzzyCompare (qglobal.h:904)
==2600289==by 0xE8E56F1: ??? (flickable_scroll_handler.cpp:253)
==2600289==by 0xE8E67EB: ??? (flickable_scroll_handler.cpp:36)
==2600289==by 0xE1F5B76: QQmlElement (qqmlprivate.h:139)
==2600289==by 0xE1F5B76: ??? (qqmlprivate.h:166)
==2600289==by 0x104BE4AA: QQmlType::create(QObject**, void**, unsigned 
long) const (in /usr/lib/libQt5Qml.so.5.15.12)
==2600289==by 0x10502AE2: QQmlObjectCreator::createInstance(int, 
QObject*, bool) (in /usr/lib/libQt5Qml.so.5.15.12)
==2600289==by 0x105030AE: QQmlObjectCreator::create(int, QObject*, 
QQmlInstantiationInterrupt*, int) (in /usr/lib/libQt5Qml.so.5.15.12)
==2600289==by 0x10502A04: QQmlObjectCreator::createInstance(int, 
QObject*, bool) (in /usr/lib/libQt5Qml.so.5.15.12)
==2600289==by 0x10503B4C: 
QQmlObjectCreator::setPropertyBinding(QQmlPropertyData const*, 
QV4::CompiledData::Binding const*) (in /usr/lib/libQt5Qml.so.5.15.12)
==2600289==by 0x105050BF: QQmlObjectCreator::setupBindings(bool) (in 
/usr/lib/libQt5Qml.so.5.15.12)
==2600289==by 0x10509185: QQmlObjectCreator::populateInstance(int, 
QObject*, QObject*, QQmlPropertyData const*) (in /usr/lib/libQt5Qml.so.5.15.12)
==2600289==by 0x105026B5: QQmlObjectCreator::createInstance(int, 
QObject*, bool) (in /usr/lib/libQt5Qml.so.5.15.12)
==2600289==by 0x105030AE: QQmlObjectCreator::create(int, QObject*, 
QQmlInstantiationInterrupt*, int) (in /usr/lib/libQt5Qml.so.5.15.12)

- - - - -


2 changed files:

- modules/gui/qt/util/flickable_scroll_handler.cpp
- modules/gui/qt/util/flickable_scroll_handler.hpp


Changes:

=
modules/gui/qt/util/flickable_scroll_handler.cpp
=
@@ -33,7 +33,7 @@ FlickableScrollHandler::FlickableScrollHandler(QObject 
*parent)
 emit effectiveScaleFactorChanged();
 });
 
-setScaleFactor(1.0);
+emit scaleFactorChanged();
 }
 
 FlickableScrollHandler::~FlickableScrollHandler()


=
modules/gui/qt/util/flickable_scroll_handler.hpp
=
@@ -74,7 +74,7 @@ private:
 
 private:
 QPointer m_target = nullptr;
-qreal m_scaleFactor;
+qreal m_scaleFactor = 1.;
 qreal m_effectiveScaleFactor;
 bool m_enabled = true;
 bool m_fallbackScroll = false;



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/b5afd73c86dc665c1becf92ea4bd2a520bc6458e

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/b5afd73c86dc665c1becf92ea4bd2a520bc6458e
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 10 commits: vlc_tick: include vlc_common to get VLC_API

2024-03-17 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
e6f6390b by Steve Lhomme at 2024-03-17T17:05:54+00:00
vlc_tick: include vlc_common to get VLC_API

- - - - -
622450a1 by Steve Lhomme at 2024-03-17T17:05:54+00:00
d3d11_swapchain: fix RGB with alpha selection

We dont need any alpha, so any value will do. Otherwise RGB10A2 cant 
be selected.

- - - - -
f5af7cd1 by Steve Lhomme at 2024-03-17T17:05:54+00:00
direct3d11: assume VLC_CODEC_RGBA10LE use 10 bits

It cant be deduced with the current chroma description.

- - - - -
52aecbb7 by Steve Lhomme at 2024-03-17T17:05:54+00:00
direct3d11: use proper initializer for internal structure

- - - - -
c462263f by Steve Lhomme at 2024-03-17T17:05:54+00:00
direct3d11: use d3d format width/height denominator to tell if a texture needs 
padding

- - - - -
90a08835 by Steve Lhomme at 2024-03-17T17:05:54+00:00
direct3d11: use a function to select the output format

This avoids a bit of indentation and makes it clearer what the goal of the code 
block is.

- - - - -
e654267d by Steve Lhomme at 2024-03-17T17:05:54+00:00
direct3d11: add an option to select the HDR output mode

- - - - -
9fb4b706 by Steve Lhomme at 2024-03-17T17:05:54+00:00
d3d11: add a VideoProcessor to handle tone mapping

- - - - -
ccf432ff by Steve Lhomme at 2024-03-17T17:05:54+00:00
direct3d11: allow setting the quad_fmt differently than the decoder format

- - - - -
1da233f1 by Steve Lhomme at 2024-03-17T17:05:54+00:00
direct3d11: add an option to force HDR output from SDR source

- - - - -


10 changed files:

- include/vlc_tick.h
- modules/video_output/Makefile.am
- modules/video_output/win32/d3d11_shaders.h
- modules/video_output/win32/d3d11_swapchain.cpp
- + modules/video_output/win32/d3d11_tonemap.cpp
- + modules/video_output/win32/d3d11_tonemap.h
- modules/video_output/win32/direct3d11.cpp
- modules/video_output/win32/dxgi_swapchain.cpp
- modules/video_output/win32/dxgi_swapchain.h
- modules/video_output/win32/meson.build


Changes:

=
include/vlc_tick.h
=
@@ -32,6 +32,7 @@
 struct timespec;
 
 #include 
+#include 
 
 /**
  * High precision date or time interval
@@ -307,7 +308,7 @@ VLC_API vlc_tick_t date_Decrement(date_t *restrict date, 
uint32_t count);
 
 /**
  * Gets the current wallclock time as 64-bit NTP timestamp.
- * 
+ *
  * \return NTP 64-bits timestamp in host byte order
  */
 VLC_API uint64_t vlc_ntp_time( void );


=
modules/video_output/Makefile.am
=
@@ -201,6 +201,7 @@ libdirect3d11_plugin_la_SOURCES = 
video_output/win32/direct3d11.cpp \
  video_output/win32/d3d11_quad.cpp video_output/win32/d3d11_quad.h \
  video_output/win32/d3d11_scaler.cpp video_output/win32/d3d11_scaler.h \
  video_output/win32/d3d11_shaders.cpp video_output/win32/d3d11_shaders.h \
+ video_output/win32/d3d11_tonemap.cpp video_output/win32/d3d11_tonemap.h \
  video_output/win32/d3d_shaders.c video_output/win32/d3d_shaders.h \
  video_output/win32/d3d_dynamic_shader.c 
video_output/win32/d3d_dynamic_shader.h \
  video_output/win32/common.c video_output/win32/common.h


=
modules/video_output/win32/d3d11_shaders.h
=
@@ -95,4 +95,27 @@ void D3D11_ClearRenderTargets(d3d11_device_t *, const 
d3d_format_t *,
 
 void D3D11_ReleaseVertexShader(d3d11_vertex_shader_t *);
 
+enum d3d11_hdr
+{
+hdr_Auto,
+hdr_Never,
+hdr_Always,
+hdr_Fake,
+};
+
+static inline enum d3d11_hdr HdrModeFromString(vlc_logger *logger, const char 
*psz_hdr)
+{
+if (strcmp("auto", psz_hdr) == 0)
+return hdr_Auto;
+if (strcmp("never", psz_hdr) == 0)
+return hdr_Never;
+if (strcmp("always", psz_hdr) == 0)
+return hdr_Always;
+if (strcmp("generate", psz_hdr) == 0)
+return hdr_Fake;
+
+vlc_warning(logger, "unknown HDR mode %s, using auto mode", psz_hdr);
+return hdr_Auto;
+}
+
 #endif /* VLC_D3D11_SHADERS_H */


=
modules/video_output/win32/d3d11_swapchain.cpp
=
@@ -90,7 +90,7 @@ static bool UpdateSwapchain( d3d11_local_swapchain *display, 
const libvlc_video_
 // try with alpha
 newPixelFormat = FindD3D11Format( display->obj, display->d3d_dev, 0, 
DXGI_RGB_FORMAT,
 cfg->bitdepth > 8 ? 10 : 8,
-0, 0, 8,
+0, 0, 1,
 DXGI_CHROMA_CPU, 
D3D11_FORMAT_SUPPORT_DISPLAY );
 if (unlikely(newPixelFormat == NULL))
 // try YUV without alpha
@@ -114,7 +114,12 @@ static bool UpdateSwapchain( d3d11_local_swapchain 
*display, const libvlc_video_
 return false;
 }
 
-if (!DXGI_UpdateSwapChain( display->sys, dxgiadapter.Get(

[vlc-commits] [Git][videolan/vlc][master] player: don't start next medias if in stopped state

2024-03-15 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
a9036494 by Thomas Guillem at 2024-03-15T19:07:45+00:00
player: dont start next medias if in stopped state

And dont send the STOPPED state from the STOPPED state.

Fixes the following assert leading to an invalid state:
test_src_player: ../../src/player/player.c:1195: vlc_player_Start: Assertion 
`!player-input-started failed.

- - - - -


2 changed files:

- src/player/input.c
- test/src/player/player.c


Changes:

=
src/player/input.c
=
@@ -221,6 +221,7 @@ vlc_player_input_HandleState(struct vlc_player_input *input,
  && state != VLC_PLAYER_STATE_STOPPED)
 return;
 
+enum vlc_player_state last_state = input->state;
 input->state = state;
 
 /* Override the global state if the player is still playing and has a next
@@ -250,7 +251,8 @@ vlc_player_input_HandleState(struct vlc_player_input *input,
 player->eos_burst_count = 0;
 }
 
-vlc_player_WaitRetryDelay(player);
+if (player->started)
+vlc_player_WaitRetryDelay(player);
 
 /* Assign the current date after the wait */
 player->last_eos = vlc_tick_now();
@@ -258,13 +260,14 @@ vlc_player_input_HandleState(struct vlc_player_input 
*input,
 if (!player->deleting)
 {
 vlc_player_OpenNextMedia(player);
-if (player->input)
+/* It is possible to open several medias in a stopped state */
+if (player->input && player->started)
 vlc_player_input_Start(player->input);
 }
 if (!player->input)
 player->started = false;
 
-send_event = !player->started;
+send_event = !player->started && last_state != 
VLC_PLAYER_STATE_STOPPED;
 break;
 case VLC_PLAYER_STATE_STOPPING:
 input->started = false;
@@ -307,6 +310,7 @@ vlc_player_input_HandleState(struct vlc_player_input *input,
 
 if (send_event)
 {
+assert(player->global_state != input->state);
 player->global_state = input->state;
 vlc_player_SendEvent(player, on_state_changed, player->global_state);
 }


=
test/src/player/player.c
=
@@ -2025,6 +2025,34 @@ test_same_media(struct ctx *ctx)
 test_end(ctx);
 }
 
+static void
+test_media_stopped(struct ctx *ctx)
+{
+test_log("media_stopped\n");
+
+vlc_player_t *player = ctx->player;
+struct media_params params = DEFAULT_MEDIA_PARAMS(VLC_TICK_FROM_MS(10));
+
+/* This test checks for player_start() success, and doesn't care about the
+ * stopped state. */
+//params.error = true;
+
+player_set_current_mock_media(ctx, "media1", , true);
+player_set_current_mock_media(ctx, "media2", , false);
+
+{
+vec_on_current_media_changed *vec = 
>report.on_current_media_changed;
+while (vec->size != 2)
+vlc_player_CondWait(player, >wait);
+}
+player_start(ctx);
+
+wait_state(ctx, VLC_PLAYER_STATE_STARTED);
+wait_state(ctx, VLC_PLAYER_STATE_STOPPED);
+
+test_end(ctx);
+}
+
 static void
 test_set_current_media(struct ctx *ctx)
 {
@@ -3063,6 +3091,7 @@ main(void)
 test_outputs(); /* Must be the first test */
 
 test_same_media();
+test_media_stopped();
 test_set_current_media();
 test_next_media();
 test_seeks();



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/a90364941ec84b2ea59b4e1a81ae8bf8fcf4bc12

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/a90364941ec84b2ea59b4e1a81ae8bf8fcf4bc12
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] decoder: lock ModuleThread_PlaySpu()

2024-03-14 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
7a5815af by Thomas Guillem at 2024-03-14T10:20:03+00:00
decoder: lock ModuleThread_PlaySpu()

ModuleThread_PlayAudio() and ModuleThread_PlayVideo() are called with
the lock held. There is no reason to not hold it for Spu. This avoid an
useless Lock() + Unlock().

vout_PutSubpicture() will now be called with the lock held.

- - - - -


1 changed file:

- src/input/decoder.c


Changes:

=
src/input/decoder.c
=
@@ -1569,9 +1569,7 @@ static void ModuleThread_PlaySpu( vlc_input_decoder_t 
*p_owner, subpicture_t *p_
 }
 
 /* */
-vlc_fifo_Lock(p_owner->p_fifo);
 int ret = DecoderWaitUnblock(p_owner);
-vlc_fifo_Unlock(p_owner->p_fifo);
 
 if (ret != VLC_SUCCESS || p_subpic->i_start == VLC_TICK_INVALID)
 {
@@ -1602,15 +1600,10 @@ static void ModuleThread_QueueSpu( decoder_t *p_dec, 
subpicture_t *p_spu )
 if( p_spu->i_start != VLC_TICK_INVALID &&
 p_spu->i_start < p_owner->i_preroll_end &&
 ( p_spu->i_stop == VLC_TICK_INVALID || p_spu->i_stop < 
p_owner->i_preroll_end ) )
-{
-vlc_fifo_Unlock(p_owner->p_fifo);
 subpicture_Delete( p_spu );
-}
 else
-{
-vlc_fifo_Unlock(p_owner->p_fifo);
 ModuleThread_PlaySpu( p_owner, p_spu );
-}
+vlc_fifo_Unlock(p_owner->p_fifo);
 }
 
 static void DecoderThread_ProcessInput( vlc_input_decoder_t *p_owner, 
vlc_frame_t *frame );



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/7a5815afc3158d85c25d47466a05b4dd2de2133e

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/7a5815afc3158d85c25d47466a05b4dd2de2133e
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 9 commits: input: es_out: move clocks to sub-structure

2024-03-13 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
1ffb6b62 by Alexandre Janniaux at 2024-03-13T14:03:51+00:00
input: es_out: move clocks to sub-structure

- - - - -
e623cd10 by Alexandre Janniaux at 2024-03-13T14:03:51+00:00
input_clock: remove extra spacing

The header felt weird with this extra spacing to separate the type, and
the spacing wasnt even the same for every function.

- - - - -
c2afd2ef by Alexandre Janniaux at 2024-03-13T14:03:51+00:00
input_clock: early return on UpdateListener

If we dont have listener, theres nothing to update anyway, so save an
indentation level and early return at the beginning instead.

- - - - -
79ccc8a6 by Alexandre Janniaux at 2024-03-13T14:03:51+00:00
input_clock: export clock listener

Use a generic clock listener instead of the vlc_clock_t based-one so
that we can attach a different listener to the input clock, in
particular in the case of tests.

The change moves some code back to the es_out.c file, which we try to
simplify, but the creation of the clock and buffering handling as a
whole might be moved somewhere else someday.

- - - - -
adc05ec0 by Alexandre Janniaux at 2024-03-13T14:03:51+00:00
input_clock: reset cl-last on input_clock_Reset

cl-last points to the last point tracked by the clock, ensure it is set
to an invalid point like cl-ref when resetting the clock.

The assignment is not needed per se but since we were setting ref, this
allows for easier debugging and tracing.

- - - - -
87439bb1 by Alexandre Janniaux at 2024-03-13T14:03:51+00:00
input_clock: expose drift in update callback

input_clock_Update() is returning a value representing whether too much
buffer has been consumed or not, but it doesnt use any external value
to compute it.

After the update, the input_clock is running UpdateListener() to update
any code that would use the value reported by the input buffering, and
specifically the vlc_clock_t when running inside the es_out. This was
triggering a vlc_clock_Update().

vlc_clock_Update() returns the drift of the updated clock compared to
the current playback time. It wasnt used for the input clock because
this drift is always zero when the updated clock is driving the clock
bus (master clock) and the vlc_clock_t was not added as a listener
when the input clock was not driving the clock bus.

The drift value will be reported from the clock update to the input
clock. It currently has no usage except tracing, but the usage will
replace the i_late computation in the es_out.c in the end.

- - - - -
c5e72f07 by Alexandre Janniaux at 2024-03-13T14:03:51+00:00
es_out: always create an input vlc_clock_t

When the input is not selected to drive the clock bus, no vlc_clock_t
was assigned to track the drift of the input when compared to the audio
clock or other clocks, meaning that there was no way to inspect the
behaviour of the input buffering when not master.

This commit refactors the input vlc_clock_t creation to always have a
vlc_clock_t and always update it.

- - - - -
d57c3156 by Alexandre Janniaux at 2024-03-13T14:03:51+00:00
vlc_tracer: move TraceRender to clock.c

The function is specific to clock and not used anywhere else.

- - - - -
1901c5de by Alexandre Janniaux at 2024-03-13T14:03:51+00:00
clock: trace the reported drift value

Drift includes information relative to how much the given clock is
out-of-sync with the main source of time for the current playback, and
tracing its value highlight some particular behaviour regarding the
output and how the input buffering is handled.

- - - - -


5 changed files:

- include/vlc_tracer.h
- src/clock/clock.c
- src/clock/input_clock.c
- src/clock/input_clock.h
- src/input/es_out.c


Changes:

=
include/vlc_tracer.h
=
@@ -258,31 +258,6 @@ static inline void vlc_tracer_TraceStreamDTS(struct 
vlc_tracer *tracer, const ch
  VLC_TRACE_END);
 }
 
-static inline void vlc_tracer_TraceRender(struct vlc_tracer *tracer, const 
char *type,
-const char *id, vlc_tick_t now, vlc_tick_t pts)
-{
-if (now != VLC_TICK_MAX && now != VLC_TICK_INVALID)
-{
-vlc_tracer_TraceWithTs(tracer, vlc_tick_now(),
-   VLC_TRACE("type", type),
-   VLC_TRACE("id", id),
-   VLC_TRACE_TICK_NS("pts", pts),
-   VLC_TRACE_TICK_NS("render_ts", now),
-   VLC_TRACE_END);
-vlc_tracer_TraceWithTs(tracer, now,
-   VLC_TRACE("type", type),
-   VLC_TRACE("id", id),
-   VLC_TRACE_TICK_NS("render_pts", pts),
-   VLC_TRACE_END);
-
-}
-else
-vlc_tracer_Trace(tracer, VLC_TRACE("type", type),
-  

[vlc-commits] [Git][videolan/vlc][master] 5 commits: wasm: emjsfile: fix out of bound size read

2024-03-11 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
0769dfad by Alaric Senat at 2024-03-11T20:45:01+00:00
wasm: emjsfile: fix out of bound size read

The condition was flawed. This is supposed to check that the read size
does not go out of bound.

- - - - -
f9134055 by Alaric Senat at 2024-03-11T20:45:01+00:00
wasm: emjsfile: remove unused promise parameter

- - - - -
2733cbc9 by Mehdi Sabwat at 2024-03-11T20:45:01+00:00
wasm: emjsfile: fix sys leak

Avoid allocating the context too early so the ID parsing failure doesnt
leak.

- - - - -
153da806 by Mehdi Sabwat at 2024-03-11T20:45:01+00:00
wasm: emjsfile: align file size value

Align the file size value directly in the context structure to avoid
extra variable declaration.

Co-Authored-By: Alaric Senat ala...@videolabs.io

- - - - -
04381d69 by Mehdi Sabwat at 2024-03-11T20:45:01+00:00
wasm: emjsfile: fix pthread worker access

Emscripten simplified the access to the worker object.

- - - - -


1 changed file:

- modules/access/emjsfile.c


Changes:

=
modules/access/emjsfile.c
=
@@ -28,12 +28,14 @@
 #include 
 #include 
 #include 
+#include 
+
 #include 
 
 typedef struct
 {
 uint64_t offset;
-uint64_t js_file_size;
+uint64_t alignas(8) js_file_size;
 } access_sys_t;
 
 static ssize_t Read (stream_t *p_access, void *buffer, size_t size) {
@@ -44,9 +46,8 @@ static ssize_t Read (stream_t *p_access, void *buffer, size_t 
size) {
 
 if (offset >= js_file_size)
 return 0;
-if (size > offset + js_file_size) {
+if (size + offset > js_file_size)
 size = js_file_size - offset;
-}
 EM_ASM({
 const offset = $0;
 const buffer = $1;
@@ -71,8 +72,8 @@ static int get_js_file_size(stream_t *p_access, uint64_t 
*value) {
   to avoid RangeError on BigUint64 view creation,
   the start offset (value) must be a multiple of 8.
 */
-alignas(8) uint64_t file_size = 0;
-int ret = (EM_ASM_INT({
+assert(((uintptr_t)value % 8) == 0);
+return (EM_ASM_INT({
 try {
 var v = new BigUint64Array(wasmMemory.buffer, $0, 1);
 v[0] = BigInt(Module.vlcAccess[$1].worker_js_file.size);
@@ -82,9 +83,7 @@ static int get_js_file_size(stream_t *p_access, uint64_t 
*value) {
 console.error("get_js_file_size error: " + error);
 return 1;
 }
-}, _size, p_access) == 0) ? VLC_SUCCESS: VLC_EGENERIC;
-*value = file_size;
-return ret;
+}, value, p_access) == 0) ? VLC_SUCCESS: VLC_EGENERIC;
 }
 
 static int Control( stream_t *p_access, int i_query, va_list args )
@@ -157,9 +156,9 @@ EM_ASYNC_JS(int, init_js_file, (stream_t *p_access, long 
id), {
 self.addEventListener('message', handleFileResult);
 });
 let timer = undefined;
-let timeout = new Promise(function (resolve, reject) {
-timer = setTimeout(resolve, 1000, 'timeout')
-});
+let timeout = new Promise((resolve) => {
+timer = setTimeout(resolve, 1000, 'timeout');
+});
 let promises = [p, timeout];
 /* id must be unique */
 self.postMessage({ cmd: "customCmd", type: "requestFile", id: id});
@@ -208,7 +207,7 @@ static int EmFileOpen( vlc_object_t *p_this ) {
 */
 MAIN_THREAD_EM_ASM({
 const thread_id = $0;
-let w = Module.PThread.pthreads[thread_id].worker;
+let w = Module.PThread.pthreads[thread_id];
 function handleFileRequest(e) {
 const msg = e.data;
 if (msg.type === "requestFile") {
@@ -248,11 +247,6 @@ static int EmFileOpen( vlc_object_t *p_this ) {
 w.addEventListener('message', handleFileRequest);
 }, pthread_self());
 
-access_sys_t *p_sys = vlc_obj_malloc(p_this, sizeof (*p_sys));
-if (unlikely(p_sys == NULL)) {
-return VLC_ENOMEM;
-}
-
 char *endPtr;
 long id = strtol(p_access->psz_location, , 10);
 if ((endPtr == p_access->psz_location) || (*endPtr != '\0')) {
@@ -260,6 +254,10 @@ static int EmFileOpen( vlc_object_t *p_this ) {
 return VLC_EGENERIC;
 }
 
+access_sys_t *p_sys = vlc_obj_malloc(p_this, sizeof (*p_sys));
+if (unlikely(p_sys == NULL))
+return VLC_ENOMEM;
+
 /*
   Request the file from the main thread.
   If it was not selected, it will return an error.



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/652fa4e5a17d7311eec3cc3c03edb77aaf4836db...04381d694c9198c419bdb97c32e769a4cff90271

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/652fa4e5a17d7311eec3cc3c03edb77aaf4836db...04381d694c9198c419bdb97c32e769a4cff90271
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 3 commits: test: meson.build: add clock test

2024-03-10 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
ff13274d by Alexandre Janniaux at 2024-03-10T11:45:10+00:00
test: meson.build: add clock test

The test exists since 08950258ef982204319ea48af93603ffef19bd5c.

- - - - -
dd92a11c by Alexandre Janniaux at 2024-03-10T11:45:10+00:00
test: meson.build: add player monotonic test

The test exists since 5e9747b6db6973ed8af0e20512f547b6ec1900a8.

- - - - -
3ba89ea8 by Alexandre Janniaux at 2024-03-10T11:45:10+00:00
test/libvlc: meta: skip test if taglib is absent

The test depends on the Taglib module currently, in particular to supply
the artist name to the input item.

- - - - -


2 changed files:

- test/libvlc/meta.c
- test/src/meson.build


Changes:

=
test/libvlc/meta.c
=
@@ -26,7 +26,9 @@
 #include "test.h"
 #include "media_utils.h"
 
-static void test_meta (const char ** argv, int argc)
+#include 
+
+static int test_meta (const char ** argv, int argc)
 {
 libvlc_instance_t *vlc;
 libvlc_media_t *media;
@@ -37,6 +39,9 @@ static void test_meta (const char ** argv, int argc)
 vlc = libvlc_new (argc, argv);
 assert (vlc != NULL);
 
+if (!module_exists("taglib"))
+return 77;
+
 media = libvlc_media_new_path(SRCDIR "/samples/meta.mp3");
 assert( media );
 
@@ -55,6 +60,8 @@ static void test_meta (const char ** argv, int argc)
 free (artist);
 libvlc_media_release (media);
 libvlc_release (vlc);
+
+return 0;
 }
 
 
@@ -62,7 +69,5 @@ int main (void)
 {
 test_init();
 
-test_meta (test_defaults_args, test_defaults_nargs);
-
-return 0;
+return test_meta (test_defaults_args, test_defaults_nargs);
 }


=
test/src/meson.build
=
@@ -18,6 +18,16 @@ vlc_tests += {
 'suite' : ['src', 'test_src'],
 }
 
+vlc_tests += {
+'name' : 'test_src_clock_clock',
+'sources' : files(
+'clock/clock.c',
+'../../src/clock/clock.c',
+'../../src/clock/clock_internal.c'),
+'suite' : ['src', 'test_src'],
+'link_with' : [libvlc, libvlccore],
+}
+
 vlc_tests += {
 'name' : 'test_src_misc_variables',
 'sources' : files('misc/variables.c'),
@@ -79,6 +89,15 @@ vlc_tests += {
 # 'zvbi', ...],
 }
 
+vlc_tests += {
+'name' : 'test_src_player_monotonic_clock',
+'sources' : files('player/player.c'),
+'suite' : ['src', 'test_src'],
+'c_args' : ['-DTEST_CLOCK_MONOTONIC'],
+'link_with' : [libvlc, libvlccore],
+'module_depends' : vlc_plugins_targets.keys()
+}
+
 vlc_tests += {
 'name' : 'test_src_video_output',
 'sources' : files(



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/a4b5c96472b5650134e4b844898a51f1b3fc0fbe...3ba89ea810a56279d0740df470f612a81fc5abc5

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/a4b5c96472b5650134e4b844898a51f1b3fc0fbe...3ba89ea810a56279d0740df470f612a81fc5abc5
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] cvpx: add missing parameter types

2024-03-09 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
a4b5c964 by Thomas Guillem at 2024-03-10T07:23:45+00:00
cvpx: add missing parameter types

- - - - -


1 changed file:

- modules/video_chroma/cvpx.c


Changes:

=
modules/video_chroma/cvpx.c
=
@@ -518,7 +518,7 @@ chain_CVPX_Flush(filter_t *filter)
 }
 
 static vlc_fourcc_t
-GetIntermediateChroma(input_chroma, output_chroma)
+GetIntermediateChroma(vlc_fourcc_t input_chroma, vlc_fourcc_t output_chroma)
 {
 vlc_fourcc_t chromas[2] = { input_chroma, output_chroma };
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/a4b5c96472b5650134e4b844898a51f1b3fc0fbe

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/a4b5c96472b5650134e4b844898a51f1b3fc0fbe
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/vlc][master] 9 commits: player: rework media_provider.get_next handling

2024-03-09 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
67d14d92 by Thomas Guillem at 2024-03-09T21:20:40+00:00
player: rework media_provider.get_next handling

The next media can now be set anytime while the current media is
playing, via vlc_player_SetNextMedia().

Related to #28524

- - - - -
2311c60a by Thomas Guillem at 2024-03-09T21:20:40+00:00
player: also open the next media from Start

- - - - -
0a84d74c by Thomas Guillem at 2024-03-09T21:20:40+00:00
player: document SetCurrentMedia() and SetNextMedia()

- - - - -
dbf20a17 by Thomas Guillem at 2024-03-09T21:20:40+00:00
playlist: rework next_media handling

Update the next_media directly instead of invalidating it.

- - - - -
382e4dad by Thomas Guillem at 2024-03-09T21:20:40+00:00
player: unexport vlc_player_InvalidateNextMedia

- - - - -
0b221c2e by Thomas Guillem at 2024-03-09T21:20:40+00:00
test: player: add player_create_mock_media

- - - - -
87d240f7 by Thomas Guillem at 2024-03-09T21:20:40+00:00
test: player: rework set_next_mock_media

Call vlc_player_SetNextMedia() instead of vlc_player_SetCurrentMedia()
for the first media (then medias are added in a vector).
That way, the on_current_media_changed event wont be called directly,
allowing the user to finish to fill the vector or next medias.

- - - - -
b504ce71 by Thomas Guillem at 2024-03-09T21:20:40+00:00
test: player: check SetNextMedia() can be overridden

- - - - -
7b631e09 by Thomas Guillem at 2024-03-09T21:20:40+00:00
player: remove the media_provider

Move the media_provider.get_next callback to
vlc_player_cbs.request_next_media.

This callback does not need a special handling since it doesnt
wait for a result anymore.

- - - - -


17 changed files:

- include/vlc_player.h
- lib/media_player.c
- modules/misc/fingerprinter.c
- src/input/vlm.c
- src/libvlccore.sym
- src/player/input.c
- src/player/player.c
- src/player/player.h
- src/playlist/content.c
- src/playlist/control.c
- src/playlist/control.h
- src/playlist/player.c
- src/playlist/playlist.h
- test/modules/stream_out/transcode.c
- test/src/input/decoder/input_decoder.c
- test/src/player/player.c
- test/src/video_output/video_output.c


Changes:

=
include/vlc_player.h
=
@@ -87,30 +87,6 @@ enum vlc_player_lock_type
 VLC_PLAYER_LOCK_REENTRANT,
 };
 
-/**
- * Callbacks for the owner of the player.
- *
- * These callbacks are needed to control the player flow (via the
- * vlc_playlist_t as a owner for example). It can only be set when creating the
- * player via vlc_player_New().
- *
- * All callbacks are called with the player locked (cf. vlc_player_Lock()), and
- * from any thread (even the current one).
- */
-struct vlc_player_media_provider
-{
-/**
- * Called when the player requires a new media
- *
- * @note The returned media must be already held with input_item_Hold()
- *
- * @param player locked player instance
- * @param data opaque pointer set from vlc_player_New()
- * @return the next media to play, held by the callee with 
input_item_Hold()
- */
-input_item_t *(*get_next)(vlc_player_t *player, void *data);
-};
-
 /**
  * Create a new player instance
  *
@@ -122,9 +98,7 @@ struct vlc_player_media_provider
  * @return a pointer to a valid player instance or NULL in case of error
  */
 VLC_API vlc_player_t *
-vlc_player_New(vlc_object_t *parent, enum vlc_player_lock_type lock_type,
-   const struct vlc_player_media_provider *media_provider,
-   void *media_provider_data);
+vlc_player_New(vlc_object_t *parent, enum vlc_player_lock_type lock_type);
 
 /**
  * Delete a player instance
@@ -365,6 +339,9 @@ enum vlc_player_restore_playback_pos
  * blocking. If a media is currently being played, this media will be stopped
  * and the requested media will be set after.
  *
+ * @note The function will open the media, without starting it, allowing the
+ * user to send controls (like seek requests) before Starting the player.
+ *
  * @warning This function is either synchronous (if the player state is
  * STOPPED) or asynchronous. In the later case, vlc_player_GetCurrentMedia()
  * will return the old media, even after this call, and until the
@@ -377,6 +354,25 @@ enum vlc_player_restore_playback_pos
 VLC_API int
 vlc_player_SetCurrentMedia(vlc_player_t *player, input_item_t *media);
 
+/**
+ * Set the next media
+ *
+ * This function replaces the next media to be played.
+ * The user should set the next media from the
+ * vlc_player_cbs.current_media_changed callback or anytime before the current
+ * media is stopped.
+ *
+ * @note The media won't be opened directly by this function. If there is no
+ * current media, the next media will be opened from vlc_player_Start(). If
+ * there is a current playing media, the next media will be opened and played
+ * automatically.
+ *
+ * @param player locked player instance
+ * @param media next media to play (will be held

[vlc-commits] [Git][videolan/vlc][master] 2 commits: contrib: taglib: use github source for tarballs

2024-03-09 Thread Jean-Baptiste Kempf (@jbk)


Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
2d48800c by Steve Lhomme at 2024-03-09T20:43:53+00:00
contrib: taglib: use github source for tarballs

It probably has more uptime than taglib.org.
The hash is unchanged.

- - - - -
e896a2fc by Steve Lhomme at 2024-03-09T20:43:53+00:00
contrib: taglib: get utfcpp as a release tarball

It can be cached in our contrib/tarballs folder.
The hash corresponded to utfcpp 3.2.4.

- - - - -


2 changed files:

- contrib/src/taglib/SHA512SUMS
- contrib/src/taglib/rules.mak


Changes:

=
contrib/src/taglib/SHA512SUMS
=
@@ -1 +1,2 @@
 
099d02b2eab033f5702a8cb03e70752d7523c6f8c2f3eebdd0bcd939eafbdca3f2a6c82452983904b5822cfa45f2707ed866c3419508df9d43bf5c0b3a476f6c
  taglib-2.0.tar.gz
+1ce12c8158a2f3bcddec104ceacedaea4031b4c88fc0fa1f1fae8dfa8df81c846861df9d01e8f294d79b9e4ab8c51bd1289f404eed24d07abc760688fee13090
  utfcpp-3.2.5.tar.gz


=
contrib/src/taglib/rules.mak
=
@@ -1,9 +1,10 @@
 # TagLib
 
 TAGLIB_VERSION := 2.0
-TAGLIB_URL := https://taglib.org/releases/taglib-$(TAGLIB_VERSION).tar.gz
-UTFCPP_GITURL := $(GITHUB)/nemtrif/utfcpp.git
-UTFCPP_GITVERSION := df857efc5bbc2aa84012d865f7d7e9cccdc08562
+TAGLIB_URL := 
$(GITHUB)/taglib/taglib/releases/download/v$(TAGLIB_VERSION)/taglib-$(TAGLIB_VERSION).tar.gz
+
+UTFCPP_VERSION := 3.2.5
+UTFCPP_URL := 
$(GITHUB)/nemtrif/utfcpp/archive/refs/tags/v$(UTFCPP_VERSION).tar.gz
 
 PKGS += taglib
 ifeq ($(call need_pkg,"taglib >= 1.9"),)
@@ -13,12 +14,20 @@ endif
 $(TARBALLS)/taglib-$(TAGLIB_VERSION).tar.gz:
$(call download_pkg,$(TAGLIB_URL),taglib)
 
-.sum-taglib: taglib-$(TAGLIB_VERSION).tar.gz
+$(TARBALLS)/utfcpp-$(UTFCPP_VERSION).tar.gz:
+   $(call download_pkg,$(UTFCPP_URL),utfcpp)
+
+.sum-taglib: taglib-$(TAGLIB_VERSION).tar.gz utfcpp-$(UTFCPP_VERSION).tar.gz
+
+.sum-utfcpp: .sum-taglib
+   touch $@
 
 taglib: taglib-$(TAGLIB_VERSION).tar.gz .sum-taglib
$(UNPACK)
-   cd $(UNPACK_DIR)/3rdparty && git clone -n $(UTFCPP_GITURL) utfcpp
-   cd $(UNPACK_DIR)/3rdparty/utfcpp && git checkout $(UTFCPP_GITVERSION)
+   $(MOVE)
+
+taglib/3rdparty/utfcpp: utfcpp-$(UTFCPP_VERSION).tar.gz .sum-utfcpp taglib
+   $(UNPACK)
$(MOVE)
 
 TAGLIB_CONF := -DBUILD_BINDINGS=OFF
@@ -27,7 +36,7 @@ TAGLIB_CONF += -DPLATFORM_WINRT=ON
 endif
 
 
-.taglib: taglib toolchain.cmake
+.taglib: taglib taglib/3rdparty/utfcpp toolchain.cmake
$(CMAKECLEAN)
$(HOSTVARS) $(CMAKE) $(TAGLIB_CONF)
+$(CMAKEBUILD)



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/1d9f62a8d79c5d89b619763f62ff0bac68d64ed3...e896a2fc5525407df7db7035e38990ba398a9e1b

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/1d9f62a8d79c5d89b619763f62ff0bac68d64ed3...e896a2fc5525407df7db7035e38990ba398a9e1b
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


  1   2   3   4   5   6   7   8   9   10   >