[vlc-commits] [Git][videolan/vlc][master] contrib: mingw64: update d3d12
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: d08e446a by Fatih Uzunoglu at 2024-06-03T12:31:40+00:00 contrib: mingw64: update d3d12 Qt 6.7 requires[1] __ID3D12Device2_INTERFACE_DEFINED__ for d3d12 abstraction which comes with MinGW64 v12. [1] qrhid3d12_p.h @ L32: // ID3D12Device2 and ID3D12GraphicsCommandList1 and types and enums introduced // with those are hard requirements now. These should be declared in any // moderately recent d3d12.h, but if it is an SDK from before Windows 10 // version 1703 then these types could be missing. In the absence of other // options, handle this by skipping all the code and making QRhi::create() fail // in such builds. - - - - - 1 changed file: - contrib/src/mingw64/rules.mak Changes: = contrib/src/mingw64/rules.mak = @@ -16,12 +16,9 @@ PKGS += dcomp endif # !HAVE_WINSTORE PKGS += dxva dxvahd mingw11-fixes mft10 d3d12 -ifeq ($(call mingw_at_least, 9), true) -PKGS_FOUND += d3d12 ifdef HAVE_WINSTORE PKGS_FOUND += winrt_headers endif # HAVE_WINSTORE -endif # MINGW 9 ifeq ($(call mingw_at_least, 10), true) PKGS_FOUND += dxva mft10 endif # MINGW 10 @@ -32,7 +29,7 @@ ifeq ($(call mingw_at_least, 11), true) PKGS_FOUND += dxvahd endif # MINGW 11 ifeq ($(call mingw_at_least, 12), true) -PKGS_FOUND += mingw11-fixes +PKGS_FOUND += mingw11-fixes d3d12 endif # MINGW 12 endif # !HAVE_VISUALSTUDIO View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/d08e446a0fa17b183a537b32ffef783386af79fa -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/d08e446a0fa17b183a537b32ffef783386af79fa 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: contrib: mingw64: update to version 12.0.0
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: f814f06e by Steve Lhomme at 2024-06-03T05:56:10+00:00 contrib: mingw64: update to version 12.0.0 - - - - - 81336965 by Steve Lhomme at 2024-06-03T05:56:10+00:00 contrib: mingw64: add missing header recently modified for UWP - - - - - 73c858dd by Steve Lhomme at 2024-06-03T05:56:10+00:00 vlc_fixups: remove old IN6_IS_ADDR_MULTICAST hack The proper fix has been in mingw-w64 since version 6, which is our minimum. https://github.com/mingw-w64/mingw-w64/commit/4c2df0d02ed71ae07e85f1b35ac857a148cd2b8f - - - - - 25dfe4a2 by Steve Lhomme at 2024-06-03T05:56:10+00:00 configure: always use ws2_32 and iphlpapi for Windows networking There is no reason to test connect is in some system library. And the detection fails for mingw-12 UWP. - - - - - 29 changed files: - configure.ac - − contrib/src/mingw64/0001-headers-allow-CryptAcquireContext-in-Win10-RS4-UWP-b.patch - − contrib/src/mingw64/0001-headers-enable-GetFileInformationByHandle-in-Win10-U.patch - − contrib/src/mingw64/0001-include-process-fix-bare-DllMain-_CRT_INIT-signature.patch - − contrib/src/mingw64/0002-headers-allow-CryptGenRandom-in-Win10-19H1-UWP-build.patch - − contrib/src/mingw64/0002-headers-enable-VirtualAlloc-Ex-in-Win10-UWP-builds.patch - − contrib/src/mingw64/0003-headers-allow-more-wincrypt-API-s-in-Win10-RS4-UWP-b.patch - − contrib/src/mingw64/0003-headers-enable-GetVolumePathNameW-in-Win10-UWP-build.patch - − contrib/src/mingw64/0004-headers-allow-more-wincrypt-API-s-in-Win10-19H1-UWP-.patch - − contrib/src/mingw64/0004-headers-enable-GET_MODULE_HANDLE_EX_xxx-defines-in-U.patch - − contrib/src/mingw64/0005-crt-use-wincrypt-API-from-windowsapp-in-Windows-10.patch - − contrib/src/mingw64/0005-headers-enable-CreateHardLinkW-in-Win10-19H1-UWP-bui.patch - − contrib/src/mingw64/0006-headers-enable-more-module-API-in-Win10-19H1-UWP-bui.patch - − contrib/src/mingw64/0007-crt-add-api-ms-core-registry-def-files.patch - − contrib/src/mingw64/0008-headers-enable-some-Registry-API-calls-in-Win10-19H1.patch - − contrib/src/mingw64/0009-headers-only-enable-GetFileInformationByHandle-for-1.patch - − contrib/src/mingw64/0010-headers-allow-Get-SetHandleInformation-in-Win10-19H1.patch - − contrib/src/mingw64/0011-crt-add-missing-api-ms-win-core-heap-l1-1-0.patch - − contrib/src/mingw64/0012-headers-Allow-some-Heap-API-in-Win10-19H1-UWP-builds.patch - − contrib/src/mingw64/0013-headers-enable-FindResourceW-in-Win10-19H1-UWP-build.patch - − contrib/src/mingw64/0014-headers-check-which-version-of-UWP-Windows-contains-.patch - − contrib/src/mingw64/0015-headers-enabled-LoadLibraryEx-flags-in-Win10-19H1-UW.patch - − contrib/src/mingw64/0016-headers-Allow-SetDllDirectoryW-A-API-in-Win10-19H1-U.patch - − contrib/src/mingw64/0017-headers-allow-FORMAT_MESSAGE_ALLOCATE_BUFFER-in-UWP.patch - − contrib/src/mingw64/0018-headers-allow-RtlSecureZeroMemory-in-all-targets.patch - − contrib/src/mingw64/0019-headers-use-inline-version-of-RtlSecureZeroMemory-fo.patch - contrib/src/mingw64/SHA512SUMS - contrib/src/mingw64/rules.mak - include/vlc_fixups.h Changes: = configure.ac = @@ -803,13 +803,13 @@ AC_CHECK_TYPES([max_align_t],,, dnl Checks for socket stuff VLC_SAVE_FLAGS SOCKET_LIBS="" -AC_SEARCH_LIBS(connect, [socket], [ - AS_IF([test "$ac_cv_search_connect" != "none required"], [ -SOCKET_LIBS="$ac_cv_search_connect" - ]) -], [ - AS_IF([test "${SYS}" = "mingw32"], [ -SOCKET_LIBS="-lws2_32 -liphlpapi" +AS_IF([test "${SYS}" = "mingw32"], [ + SOCKET_LIBS="-lws2_32 -liphlpapi" +],[ + AC_SEARCH_LIBS(connect, [socket], [ +AS_IF([test "$ac_cv_search_connect" != "none required"], [ + SOCKET_LIBS="$ac_cv_search_connect" +]) ]) ]) = contrib/src/mingw64/0001-headers-allow-CryptAcquireContext-in-Win10-RS4-UWP-b.patch deleted ===== @@ -1,33 +0,0 @@ -From 8c7a455ce283451a8f2cfb8ab785ec2b0b3a0f0a Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Thu, 22 Jun 2023 09:00:49 +0200 -Subject: [PATCH 1/5] headers: allow CryptAcquireContext in Win10 RS4 UWP - builds - -It's allowed by the WACK and in api-ms-win-security-cryptoapi-l1-1-0 -since the 16299/RS4 SDK. - mingw-w64-headers/include/wincrypt.h | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/mingw-w64-headers/include/wincrypt.h b/mingw-w64-headers/include/wincrypt.h -index 8c719b1c5..e60e3cd23 100644 a/mingw-w64-headers/include/wincrypt.h -+++ b/mingw-w64-headers/include/wincrypt.h -@@ -773,10 +773,12 @@ extern "C" { - #endif - #endif - --#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || defined(WINSTORECOMPAT) -+#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VER
[vlc-commits] [Git][videolan/vlc][master] qml: use `paintedWidth` and `paintedHeight` in DoubleShadow
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: fea49c45 by Fatih Uzunoglu at 2024-06-02T16:58:49+00:00 qml: use `paintedWidth` and `paintedHeight` in DoubleShadow Unless clipping is enabled, `paintedWidth` and `paintedHeight` provide more information on the actual region that the source item rendered content. These properties are provided in `QQuickImage`. However, it is not necessary that the type is `QQuickImage`. We should respect each type that provides such information. - - - - - 1 changed file: - modules/gui/qt/widgets/qml/DoubleShadow.qml Changes: = modules/gui/qt/widgets/qml/DoubleShadow.qml = @@ -32,8 +32,8 @@ ScaledImage { property real viewportWidth: rectWidth + (Math.max(Math.abs(primaryHorizontalOffset) + primaryBlurRadius, Math.abs(secondaryHorizontalOffset) + secondaryBlurRadius)) * 2 property real viewportHeight: rectHeight + (Math.max(Math.abs(primaryVerticalOffset) + primaryBlurRadius, Math.abs(secondaryVerticalOffset) + secondaryBlurRadius)) * 2 -property real rectWidth: sourceItem?.width ?? 0 -property real rectHeight: sourceItem?.height ?? 0 +property real rectWidth: sourceItem ? Math.min(sourceItem.paintedWidth ?? Number.MAX_VALUE, sourceItem.width) : 0 +property real rectHeight: sourceItem ? Math.min(sourceItem.paintedHeight ?? Number.MAX_VALUE, sourceItem.height) : 0 property real xRadius: sourceItem?.radius ?? 0 property real yRadius: sourceItem?.radius ?? 0 View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/fea49c4504c83581d4c8f38cd3e02d81c7750618 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/fea49c4504c83581d4c8f38cd3e02d81c7750618 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: do not use double precision in settings
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 05134504 by Fatih Uzunoglu at 2024-06-02T06:23:07+00:00 qt: do not use double precision in settings The docs state that: Note that INI files lose the distinction between numeric data and the strings used to encode them, so values written as numbers shall be read back as QString. The numeric value can be recovered using QString::toInt(), QString::toDouble() and related functions. Currently, double-precision numbers can not be reconstructed properly due to QStrings way of handling dp numbers. Since they are read back as QString, we should save these numbers according to the precision that QString is comfortable with, so that they are parsed properly when the application starts. - - - - - 1 changed file: - modules/gui/qt/maininterface/mainctx.cpp Changes: = modules/gui/qt/maininterface/mainctx.cpp = @@ -235,12 +235,12 @@ MainCtx::~MainCtx() settings->beginGroup("MainWindow"); settings->setValue( "pl-dock-status", b_playlistDocked ); settings->setValue( "ShowRemainingTime", m_showRemainingTime ); -settings->setValue( "interface-scale", m_intfUserScaleFactor ); +settings->setValue( "interface-scale", QString::number( m_intfUserScaleFactor ) ); /* Save playlist state */ settings->setValue( "playlist-visible", m_playlistVisible ); -settings->setValue( "playlist-width-factor", m_playlistWidthFactor); -settings->setValue( "player-playlist-width-factor", m_playerPlaylistWidthFactor); +settings->setValue( "playlist-width-factor", QString::number( m_playlistWidthFactor ) ); +settings->setValue( "player-playlist-width-factor", QString::number( m_playerPlaylistWidthFactor ) ); settings->setValue( "grid-view", m_gridView ); settings->setValue( "grouping", m_grouping ); View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/05134504b0dd59100db6327acd2ad7b06b149cb2 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/05134504b0dd59100db6327acd2ad7b06b149cb2 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: Revert "buildsystem: qt: read the qpaths as json"
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 318f9526 by Steve Lhomme at 2024-06-01T09:43:04+00:00 Revert buildsystem: qt: read the qpaths as json This reverts commit 40d21f1f0b85bf3d6b25ae93b7cb504688e4cd98. - - - - - 08b0fffa by Steve Lhomme at 2024-06-01T09:43:04+00:00 Revert configure: use qtpaths6 instead of qmake6 This reverts commit 8ce83d83ae81df05ec848907380388be6ca9ac47. - - - - - 0acc38bf by Steve Lhomme at 2024-06-01T09:43:04+00:00 buildsystem: favor QT_INSTALL_XXX to find qmlimportscanner When providing a qtconf file, the HOST parts seems to come from hardocded values in qmake. - - - - - 2 changed files: - buildsystem/check_qml_module.py - configure.ac Changes: = buildsystem/check_qml_module.py = @@ -77,12 +77,12 @@ class QmlModuleChecker: return ret -def getInstallInfo(self, qtpaths, qtconf): -qtpaths_cmd = [ qtpaths, "--query", "--query-format", "json" ] +def getInstallInfo(self, qmake, qtconf): +qmake_cmd = [ qmake, "-query" ] if qtconf: -qtpaths_cmd += [ "--qtconf", qtconf ] +qmake_cmd += [ "-qtconf", qtconf ] ret = subprocess.run( -qtpaths_cmd, +qmake_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding="utf8" ) @@ -91,22 +91,26 @@ class QmlModuleChecker: print(ret.stderr.strip()) return False -# Qt 6.6 outputs invalid json, try to fix it -qpaths_json = str(ret.stdout) -if ',\n}' in qpaths_json: -qpaths_json = qpaths_json.replace(',\n}', '\n}') -elif ',\r\n}' in qpaths_json: -qpaths_json = qpaths_json.replace(',\r\n}', '\r\n}') - -qtjson = json.loads(qpaths_json) -binpath = qtjson["QT_HOST_BINS"] -libexec = qtjson["QT_HOST_LIBEXECS"] -self.qmlpath = qtjson["QT_INSTALL_QML"] -qmlversion = qtjson["QT_VERSION"] -if qmlversion: -qtmajor = qmlversion.split(".")[0] -else: -qtmajor = "" +binpath_host = None +libexec_host = None +binpath_install = None +libexec_install = None +qtmajor = "" +for l in ret.stdout.splitlines(): +l.strip() +if l.startswith("QT_HOST_BINS:"): +binpath_host = l.split(":", 1)[1] +elif l.startswith("QT_HOST_LIBEXECS:"): +libexec_host = l.split(":", 1)[1] +elif l.startswith("QT_INSTALL_BINS:"): +binpath_install = l.split(":", 1)[1] +elif l.startswith("QT_INSTALL_LIBEXECS:"): +libexec_install = l.split(":", 1)[1] +elif l.startswith("QT_INSTALL_QML:"): +self.qmlpath = l.split(":", 1)[1] +elif l.startswith("QT_VERSION:"): +qmlversion = l.split(":", 1)[1] +qtmajor = qmlversion.split(".")[0] if qtmajor == "6": self.qt5 = False @@ -115,12 +119,21 @@ class QmlModuleChecker: print("Qml path {} not found".format(self.qmlpath)) return False -self.qmlimportscanner = findProgram(binpath, "qmlimportscanner") +self.qmlimportscanner = findProgram(binpath_install, "qmlimportscanner") if self.qmlimportscanner is not None: return True -#Qt6 may place qmlimportscanner in libexec -self.qmlimportscanner = findProgram(libexec, "qmlimportscanner") +#Qt6 may place qmlimportscanner in libexec_host +self.qmlimportscanner = findProgram(libexec_install, "qmlimportscanner") +if self.qmlimportscanner is not None: +return True + +self.qmlimportscanner = findProgram(binpath_host, "qmlimportscanner") +if self.qmlimportscanner is not None: +return True + +#Qt6 may place qmlimportscanner in libexec_host +self.qmlimportscanner = findProgram(libexec_host, "qmlimportscanner") if self.qmlimportscanner is not None: return True @@ -140,12 +153,12 @@ class KeyValue(argparse.Action): def main(): parser = argparse.ArgumentParser("check for qml runtime dependencies") parser.add_argument( -"--qtpaths", type=str, required=True, -help="native qtpaths path") +"--qmake", type=str, required=True, +help="native qmake path") parser.add_argument( "--qtconf", type=str, required=False, -help
[vlc-commits] [Git][videolan/vlc][master] 2 commits: vpx_alpha: don't lock while the decoders are flushing
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: a6d32f4f by Steve Lhomme at 2024-06-01T08:45:45+00:00 vpx_alpha: dont lock while the decoders are flushing They may call FormatUpdate (lavc) and other things that lock. We dont need a lock on the decoder as it cannot change during the lifetime of our pseudo-decoder. - - - - - b09808a6 by Steve Lhomme at 2024-06-01T08:45:45+00:00 vpx_alpha: handle bitstreams with intermittent alpha content It seems some sources set the alpha flag but dont always attach an alpha layer to each frame. Ref #28653 - - - - - 1 changed file: - modules/codec/vpx_alpha.c Changes: = modules/codec/vpx_alpha.c = @@ -45,6 +45,8 @@ typedef struct vlc_video_context *vctx; picture_t *(*pf_combine)(decoder_t *, picture_t *opaque, picture_t *alpha, vlc_video_context *); +struct VLC_VECTOR(vlc_tick_t) missing_alpha; + picture_pool_t*pool; } vpx_alpha; @@ -63,14 +65,15 @@ struct cpu_alpha_context { picture_context_t ctx; picture_t *opaque; -picture_t *alpha; +picture_t *alpha; // may be NULL if the alpha layer was missing }; static void cpu_alpha_destroy(picture_context_t *ctx) { struct cpu_alpha_context *pctx = container_of(ctx, struct cpu_alpha_context, ctx); picture_Release(pctx->opaque); -picture_Release(pctx->alpha); +if (pctx->alpha) +picture_Release(pctx->alpha); free(pctx); } @@ -82,10 +85,21 @@ static picture_context_t *cpu_alpha_copy(picture_context_t *src) return NULL; alpha_ctx->ctx = *src; alpha_ctx->opaque = picture_Hold(pctx->opaque); -alpha_ctx->alpha = picture_Hold(pctx->alpha); +alpha_ctx->alpha = alpha_ctx->alpha ? picture_Hold(pctx->alpha) : NULL; return _ctx->ctx; } +struct pic_alpha_plane +{ +plane_t p; +uint8_t buffer[]; +}; + +static void DestroyPoolPic(picture_t *pic) +{ +free(pic->p_sys); +} + static picture_t *CombinePicturesCPU(decoder_t *bdec, picture_t *opaque, picture_t *alpha, vlc_video_context *vctx) { assert(vctx == NULL); VLC_UNUSED(vctx); @@ -104,12 +118,42 @@ static picture_t *CombinePicturesCPU(decoder_t *bdec, picture_t *opaque, picture cpu_alpha_destroy, cpu_alpha_copy, NULL }; alpha_ctx->opaque = picture_Hold(opaque); -alpha_ctx->alpha = picture_Hold(alpha); +alpha_ctx->alpha = alpha ? picture_Hold(alpha) : NULL; out->context = _ctx->ctx; for (int i=0; ii_planes; i++) out->p[i] = opaque->p[i]; -out->p[opaque->i_planes] = alpha->p[0]; +if (alpha) +out->p[opaque->i_planes] = alpha->p[0]; +else +{ +// use the dummy opaque plane attached in the picture p_sys +struct pic_alpha_plane *p = out->p_sys; +if (out->p_sys == NULL) +{ +int plane_size = bdec->fmt_out.video.i_width * bdec->fmt_out.video.i_height; +p = malloc(sizeof(*p) + plane_size); +if (likely(p != NULL)) +{ +p->p.i_lines = bdec->fmt_out.video.i_height; +p->p.i_visible_lines = bdec->fmt_out.video.i_y_offset + bdec->fmt_out.video.i_visible_height; + +p->p.i_pitch = bdec->fmt_out.video.i_width; +p->p.i_visible_pitch = bdec->fmt_out.video.i_x_offset + bdec->fmt_out.video.i_visible_width; +p->p.i_pixel_pitch = 1; +p->p.p_pixels = p->buffer; +memset(p->p.p_pixels, 0xFF, plane_size); + +out->p_sys = p; +} +} +if (unlikely(p == NULL)) +{ +picture_Release(out); +return NULL; +} +out->p[opaque->i_planes] = p->p; +} return out; } @@ -127,7 +171,8 @@ static int SetupCPU(decoder_t *bdec) for (; ifmt_out.video, &(picture_resource_t){0}); +picture_resource_t res = { .pf_destroy = DestroyPoolPic }; +pics[i] = picture_NewFromResource(>fmt_out.video, ); if (pics[i] == NULL) goto error; } @@ -187,7 +232,9 @@ static int FormatUpdate( decoder_t *dec, vlc_video_context *vctx ) // not ready bdec->fmt_out.video.i_chroma = bdec->fmt_out.i_codec = dec->fmt_out.video.i_chroma; p_sys->pf_combine = CombineKeepOpaque; -goto done; +if (p_sys->missing_alpha.size == 0) +goto done; +// we need to send pictures without waiting for the alpha } } es_format_Clean(>fmt_out); @@ -255,15 +302,44 @@ done: return res; } +static bool CheckMissingAlpha(decoder_t *bdec, vlc_tick_t pts) +{ +vpx_alpha *p_sys = bdec->p_sys; +vlc_tick_t missing_pts;
[vlc-commits] [Git][videolan/vlc][master] 3 commits: macosx: Do not register VLCLibraryCollectionViewAudioGroupSupplementaryDetailView
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 65aea094 by Claudio Cambra at 2024-06-01T08:21:56+00:00 macosx: Do not register VLCLibraryCollectionViewAudioGroupSupplementaryDetailView Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - fdbfca6b by Claudio Cambra at 2024-06-01T08:21:56+00:00 macosx: Remove handling for VLCLibraryCollectionViewAudioGroupSupplementaryDetailView in VLCLibraryCollectionViewFlowLayout Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 78a76724 by Claudio Cambra at 2024-06-01T08:21:56+00:00 macosx: Remove VLCLibraryCollectionViewAudioGroupSupplementaryDetailView Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 7 changed files: - extras/package/macosx/VLC.xcodeproj/project.pbxproj - modules/gui/macosx/Makefile.am - − modules/gui/macosx/UI/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.xib - modules/gui/macosx/library/VLCLibraryCollectionViewFlowLayout.m - modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.m - − modules/gui/macosx/library/audio-library/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h - − modules/gui/macosx/library/audio-library/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m Changes: = extras/package/macosx/VLC.xcodeproj/project.pbxproj = @@ -102,7 +102,6 @@ 536283F3291146BC00640C15 /* VLCLibraryNavigationStack.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283E2291146BC00640C15 /* VLCLibraryNavigationStack.m */; }; 536283F4291146BC00640C15 /* VLCLibraryCollectionViewMediaItemSupplementaryDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283E3291146BC00640C15 /* VLCLibraryCollectionViewMediaItemSupplementaryDetailView.m */; }; 536283F5291146BC00640C15 /* VLCLibraryCollectionViewSupplementaryDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283E5291146BC00640C15 /* VLCLibraryCollectionViewSupplementaryDetailView.m */; }; - 536283F6291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283E9291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m */; }; 536283F7291146BC00640C15 /* VLCLibraryNavigationState.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283EB291146BC00640C15 /* VLCLibraryNavigationState.m */; }; 536283F8291146BC00640C15 /* VLCLibrarySongTableCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283EC291146BC00640C15 /* VLCLibrarySongTableCellView.m */; }; 536283F9291146BC00640C15 /* VLCLibraryCollectionViewFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283EE291146BC00640C15 /* VLCLibraryCollectionViewFlowLayout.m */; }; @@ -332,9 +331,7 @@ 536283E4291146BC00640C15 /* VLCLibraryNavigationState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryNavigationState.h; sourceTree = ""; }; 536283E5291146BC00640C15 /* VLCLibraryCollectionViewSupplementaryDetailView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryCollectionViewSupplementaryDetailView.m; sourceTree = ""; }; 536283E6291146BC00640C15 /* VLCLibraryCollectionViewSupplementaryDetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryCollectionViewSupplementaryDetailView.h; sourceTree = ""; }; - 536283E7291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h; sourceTree = ""; }; 536283E8291146BC00640C15 /* VLCLibraryCollectionViewAlbumSupplementaryDetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryCollectionViewAlbumSupplementaryDetailView.h; sourceTree = ""; }; - 536283E9291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m; sourceTree = ""; }; 536283EA291146BC00640C15 /* VLCLibraryCollectionViewMediaItemSupplementaryDetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryCollectionViewMediaItemSupplementaryDetailView.h; sourceTree = ""; }; 536283EB291146BC00640C15 /* VLCLibraryNavigationState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileTyp
[vlc-commits] [Git][videolan/vlc][master] VLCLibraryHomeViewController: refactor notifications
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 79ff6c37 by Alexandre Janniaux at 2024-06-01T07:07:56+00:00 VLCLibraryHomeViewController: refactor notifications NSNotificationCenter was used repeatedly with repeated allocation to the autorelease pool in order to setup the suffix addition for the notification name. This commit uses a for-loop releasing the local autorelease allocations and create the notification names on-the-fly to avoid repetition. - - - - - 1 changed file: - modules/gui/macosx/library/home-library/VLCLibraryHomeViewController.m Changes: = modules/gui/macosx/library/home-library/VLCLibraryHomeViewController.m = @@ -69,64 +69,33 @@ [self setupHomeLibraryViews]; NSNotificationCenter *notificationCenter = NSNotificationCenter.defaultCenter; -[notificationCenter addObserver:self - selector:@selector(libraryModelUpdated:) - name:VLCLibraryModelVideoMediaListReset - object:nil]; -[notificationCenter addObserver:self - selector:@selector(libraryModelUpdated:) - name:VLCLibraryModelVideoMediaItemDeleted - object:nil]; -[notificationCenter addObserver:self - selector:@selector(libraryModelUpdated:) - name:VLCLibraryModelAudioMediaListReset - object:nil]; -[notificationCenter addObserver:self - selector:@selector(libraryModelUpdated:) - name:VLCLibraryModelAudioMediaItemDeleted - object:nil]; - -NSString * const videoMediaResetLongLoadStartNotification = [VLCLibraryModelVideoMediaListReset stringByAppendingString:VLCLongNotificationNameStartSuffix]; -NSString * const videoMediaResetLongLoadFinishNotification = [VLCLibraryModelVideoMediaListReset stringByAppendingString:VLCLongNotificationNameFinishSuffix]; -NSString * const audioMediaResetLongLoadStartNotification = [VLCLibraryModelAudioMediaListReset stringByAppendingString:VLCLongNotificationNameStartSuffix]; -NSString * const audioMediaResetLongLoadFinishNotification = [VLCLibraryModelAudioMediaListReset stringByAppendingString:VLCLongNotificationNameFinishSuffix]; -NSString * const videoMediaDeletedLongLoadStartNotification = [VLCLibraryModelVideoMediaItemDeleted stringByAppendingString:VLCLongNotificationNameStartSuffix]; -NSString * const videoMediaDeletedLongLoadFinishNotification = [VLCLibraryModelVideoMediaItemDeleted stringByAppendingString:VLCLongNotificationNameFinishSuffix]; -NSString * const audioMediaDeletedLongLoadStartNotification = [VLCLibraryModelAudioMediaItemDeleted stringByAppendingString:VLCLongNotificationNameStartSuffix]; -NSString * const audioMediaDeletedLongLoadFinishNotification = [VLCLibraryModelAudioMediaItemDeleted stringByAppendingString:VLCLongNotificationNameFinishSuffix]; - -[notificationCenter addObserver:self - selector:@selector(libraryModelLongLoadStarted:) - name:videoMediaResetLongLoadStartNotification - object:nil]; -[notificationCenter addObserver:self - selector:@selector(libraryModelLongLoadFinished:) - name:videoMediaResetLongLoadFinishNotification - object:nil]; -[notificationCenter addObserver:self - selector:@selector(libraryModelLongLoadStarted:) - name:audioMediaResetLongLoadStartNotification - object:nil]; -[notificationCenter addObserver:self - selector:@selector(libraryModelLongLoadFinished:) - name:audioMediaResetLongLoadFinishNotification - object:nil]; -[notificationCenter addObserver:self - selector:@selector(libraryModelLongLoadStarted:) - name:videoMediaDeletedLongLoadStartNotification - object:nil]; -[notificationCenter addObserver:self - selector:@selector(libraryModelLongLoadFinished:) - name:videoMediaDeletedLongLoadFinishNotification - object:nil]; -[notificationCenter addObserver:self - selector:@selector(libraryModelLongLoadStarted:) - name:audioMediaDeletedLongLoadStartNotification
[vlc-commits] [Git][videolan/vlc][master] 4 commits: meson: don't use -Werror=return-type
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: d684480b by Steve Lhomme at 2024-06-01T06:48:36+00:00 meson: dont use -Werror=return-type Similar to 239eafa8b1a9a8f3e9d830232e09fba4675d705a - - - - - 0c7add09 by Steve Lhomme at 2024-06-01T06:48:36+00:00 cli: mark CLI thread as never returning The thread never exits on its own. Its cancelable during net_Accept(). Ref. #28650 - - - - - 2f7dec93 by Steve Lhomme at 2024-06-01T06:48:36+00:00 posix: remove unused stdnoreturn.h Since 7ca3c3640b503af5f2315c5421f395bea89a3090 - - - - - 9183d89c by Steve Lhomme at 2024-06-01T06:48:36+00:00 android: remove unused stdnoreturn.h Since 7ca3c3640b503af5f2315c5421f395bea89a3090 - - - - - 4 changed files: - meson.build - modules/control/cli/cli.c - src/android/thread.c - src/posix/thread.c Changes: = meson.build = @@ -490,7 +490,6 @@ if get_option('extra_checks') add_project_arguments(cc.get_supported_arguments([ '-Werror=missing-field-initializers', '-Werror=format', -'-Werror=return-type', '-Werror=return-mismatch' ]), language: ['c', 'cpp']) add_project_arguments(cc.get_supported_arguments([ = modules/control/cli/cli.c = @@ -543,7 +543,7 @@ static void cli_client_delete(struct cli_client *cl) free(cl); } -static void *Run(void *data) +_Noreturn static void *Run(void *data) { intf_thread_t *intf = data; intf_sys_t *sys = intf->p_sys; = src/android/thread.c = @@ -35,7 +35,6 @@ #include #include #include -#include #include #include = src/posix/thread.c = @@ -34,7 +34,6 @@ #include "libvlc.h" #include #include -#include #include #include #include View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/c2e35afd5bbca671c12af00bb1264c5d401efbac...9183d89c55107a3a38e62a6e80c530ed4bd71fb5 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/c2e35afd5bbca671c12af00bb1264c5d401efbac...9183d89c55107a3a38e62a6e80c530ed4bd71fb5 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: Remove unnecessary debug logging causing compile warnings
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: c2e35afd by Claudio Cambra at 2024-06-01T05:25:57+00:00 macosx: Remove unnecessary debug logging causing compile warnings Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 1 changed file: - modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.m Changes: = modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.m = @@ -173,7 +173,6 @@ NSString * const VLCLibraryAudioDataSourceDisplayedCollectionChangedNotification - (void)libraryModelAudioMediaItemsReset:(NSNotification * const)aNotification { -NSLog(@"Pre aa currentParentType %i %i %i", self.currentParentType, VLCMediaLibraryParentGroupTypeAudioLibrary, VLCMediaLibraryParentGroupTypeRecentAudios); if (self.currentParentType != VLCMediaLibraryParentGroupTypeAudioLibrary && self.currentParentType != VLCMediaLibraryParentGroupTypeRecentAudios) { return; View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/c2e35afd5bbca671c12af00bb1264c5d401efbac -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/c2e35afd5bbca671c12af00bb1264c5d401efbac 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: detect Windows 11 22H2 properly in win32windoweffects module
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: aaba70b6 by Fatih Uzunoglu at 2024-06-01T05:05:40+00:00 qt: detect Windows 11 22H2 properly in win32windoweffects module Windows 11 identifies as Windows 10 (NT 10), so this comparison always yields false. As a side note, native acrylic background for Win32 windows only gained support with the Windows 11 22H2 update, thats why there is the check here. Note that according to the general conventions a transparent window must be frameless on Windows. This is currently not the case, because frameless window dont support areo snapping. So, it can be considered as a known bug if native acrylic does not work as intended. This grants a requirement of change to use frameless window, and get rid of the current workaround that simulates frameless window in mainctx_win32.cpp. If aero snapping does not work, it is Windowss problem since we are using frameless windows in every other platform. - - - - - 1 changed file: - modules/gui/qt/maininterface/win32windoweffects_module.cpp Changes: = modules/gui/qt/maininterface/win32windoweffects_module.cpp = @@ -59,7 +59,7 @@ int QtWin32WindowEffectsOpen(vlc_object_t* p_this) assert(p_this); if (QOperatingSystemVersion::current() -< QOperatingSystemVersion(QOperatingSystemVersion::Windows, 11, 0, 22621)) +< QOperatingSystemVersion(QOperatingSystemVersion::Windows, 10, 0, 22621)) return VLC_EGENERIC; const auto obj = reinterpret_cast(p_this); View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/aaba70b606ed54eb57eba7c7a66552bbd8e1e74f -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/aaba70b606ed54eb57eba7c7a66552bbd8e1e74f 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] demux: mkv: make sure the first cluster has a timestamp for an infinite Cluster
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 3a4a3dea by Steve Lhomme at 2024-06-01T04:40:07+00:00 demux: mkv: make sure the first cluster has a timestamp for an infinite Cluster We dont use the Cluster otherwise and can read at all. Ref #28653 - - - - - 1 changed file: - modules/demux/mkv/matroska_segment.cpp Changes: = modules/demux/mkv/matroska_segment.cpp = @@ -1027,7 +1027,12 @@ void matroska_segment_c::EnsureDuration() if ( b_cues && _seeker._cluster_positions.size() ) i_last_cluster_pos = *_seeker._cluster_positions.rbegin(); else if( !cluster->IsFiniteSize() ) +{ +if ( i_last_cluster_pos == cluster->GetElementPosition() ) +// make sure our first Cluster has a timestamp +ParseCluster( cluster, false, SCOPE_PARTIAL_DATA ); return; +} es.I_O().setFilePointer( i_last_cluster_pos, seek_beginning ); View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3a4a3dea5b6f40ccf646989b42a8c075b80667f0 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3a4a3dea5b6f40ccf646989b42a8c075b80667f0 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: contrib: move the tool version regex in a variable
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: d4bb07bb by Steve Lhomme at 2024-05-31T12:44:38+00:00 contrib: move the tool version regex in a variable - - - - - 93b24240 by Steve Lhomme at 2024-05-31T12:44:38+00:00 contrib: qt: only look for the native tools path for cross compilation For native compilation, native tools are built with the libraries. - - - - - 9cf2364d by Steve Lhomme at 2024-05-31T12:44:38+00:00 contrib: qt: centralize the decision to use system or contrib tools We cannot mix system tools and tools in contribs because qtpaths6 will only provide one of those. So either we build all of them, or we build none of them. - - - - - 9e089f4e by Steve Lhomme at 2024-05-31T12:44:38+00:00 contrib: qt: allow using Qt tools with different patch version - - - - - 7e46edcb by Steve Lhomme at 2024-05-31T12:44:38+00:00 CI: update Docker images with prebuilt VLC contrib tools And without ragel. - snap is left out because theres a new image coming - - - - - 5 changed files: - contrib/src/main.mak - contrib/src/qt/rules.mak - contrib/src/qtdeclarative/rules.mak - contrib/src/qtshadertools/rules.mak - extras/ci/gitlab-ci.yml Changes: = contrib/src/main.mak = @@ -266,7 +266,8 @@ PKG_CONFIG_PATH := $(PREFIX)/lib/pkgconfig:$(PREFIX)/share/pkgconfig:$(PKG_CONFI export PKG_CONFIG_PATH # Get the version of a system tool $1 and pass it through the $2 command(s) -system_tool_version = $(shell PATH="${SYSTEM_PATH}" $(1) 2>/dev/null | head -1 | sed -ne 's/[^0-9]*\([0-9]\([0-9a-zA-Z\.\-]*\)\)\(.*\)/\1/p' | $(2)) +FULL_VERSION_REGEX := 's/[^0-9]*\([0-9]\([0-9a-zA-Z\.\-]*\)\)\(.*\)/\1/p' +system_tool_version = $(shell PATH="${SYSTEM_PATH}" $(1) 2>/dev/null | head -1 | sed -ne ${FULL_VERSION_REGEX} | $(2)) # Get the major.minor version of a system tool system_tool_majmin = $(call system_tool_version, $(1), cut -d '.' -f -2) @@ -541,22 +542,41 @@ MESONCLEAN = rm -rf $(BUILD_DIR)/meson-private MESONBUILD = meson compile -C $(BUILD_DIR) $(MESON_BUILD) && meson install -C $(BUILD_DIR) # shared Qt config +ifdef HAVE_CROSS_COMPILE +QT_LIBEXECS := $(shell qmake6 -query QT_HOST_LIBEXECS) +QT_BINS := $(shell qmake6 -query QT_HOST_BINS) +else +QT_LIBEXECS := $(shell qmake6 -query QT_INSTALL_LIBEXECS):$(shell qmake6 -query QT_HOST_LIBEXECS) +QT_BINS := $(shell qmake6 -query QT_INSTALL_BINS):$(shell qmake6 -query QT_HOST_BINS) +endif + ifeq ($(call system_tool_majmin, qmake6 -query QT_VERSION),$(QTBASE_VERSION_MAJOR)) -# using system Qt native tools +ifeq ($(call system_tool_majmin, PATH="${QT_LIBEXECS}" moc --version),$(QTBASE_VERSION_MAJOR)) +ifeq ($(call system_tool_majmin, PATH="${QT_BINS}" qsb --version),$(QTBASE_VERSION_MAJOR)) +ifeq ($(call system_tool_majmin, PATH="${QT_LIBEXECS}" qmlcachegen --version),$(QTBASE_VERSION_MAJOR)) +QT_USES_SYSTEM_TOOLS = 1 +endif +endif +endif +endif + ifdef HAVE_CROSS_COMPILE +ifdef QT_USES_SYSTEM_TOOLS + # using system Qt native tools QT_HOST_PREFIX := $(shell PATH="${SYSTEM_PATH}" qmake6 -query QT_HOST_PREFIX) QT_HOST_LIBS := $(shell PATH="${SYSTEM_PATH}" qmake6 -query QT_HOST_LIBS) - QT_HOST_PATH := -DQT_HOST_PATH=$(QT_HOST_PREFIX) -DQT_HOST_PATH_CMAKE_DIR=$(QT_HOST_LIBS)/cmake -endif else -# using locally compiled Qt native tools -ifdef HAVE_CROSS_COMPILE + # using locally compiled Qt native tools QT_HOST_PREFIX := $(BUILDPREFIX) QT_HOST_LIBS := $(QT_HOST_PREFIX)/lib - QT_HOST_PATH := -DQT_HOST_PATH=$(QT_HOST_PREFIX) -DQT_HOST_PATH_CMAKE_DIR=$(QT_HOST_LIBS)/cmake endif +QT_HOST_PATH := -DQT_HOST_PATH=$(QT_HOST_PREFIX) -DQT_HOST_PATH_CMAKE_DIR=$(QT_HOST_LIBS)/cmake endif QT_CMAKE_CONFIG := -DCMAKE_TOOLCHAIN_FILE=$(PREFIX)/lib/cmake/Qt6/qt.toolchain.cmake $(QT_HOST_PATH) +ifdef QT_USES_SYSTEM_TOOLS +# We checked the versions match, assume we know what we're going +QT_CMAKE_CONFIG += -DQT_NO_PACKAGE_VERSION_CHECK=TRUE +endif ifdef GPL REQUIRE_GPL = = contrib/src/qt/rules.mak = @@ -28,7 +28,7 @@ PKGS_FOUND += qt endif ifndef HAVE_CROSS_COMPILE PKGS_FOUND += qt-tools -else ifeq ($(call system_tool_majmin, moc --version),$(QTBASE_VERSION_MAJOR)) +else ifdef QT_USES_SYSTEM_TOOLS PKGS_FOUND += qt-tools endif @@ -96,6 +96,11 @@ QTBASE_NATIVE_CONFIG := -DQT_BUILD_EXAMPLES=FALSE -DQT_BUILD_TESTS=FALSE -DFEATU -DFEATURE_texthtmlparser=OFF -DFEATURE_cssparser=OFF -DFEATURE_textodfwriter=OFF -DFEATURE_textmarkdownreader=OFF \ -DFEATURE_textmarkdownwriter=OFF -DINPUT_libb2=no -DFEATURE_harfbuzz=OFF -DFEATURE_freetype=OFF -DINPUT_opengl=no +ifdef QT_USES_SYSTEM_TOOLS +# We checked the versions match, assume we know what we're going +QTBASE_CONFIG += -DQT_NO_PACKAGE_VERSION_CHECK=TRUE +endif + .qt-tools: BUILD_DIR=$https://code.videolan.org/videolan/vlc/-/compare
[vlc-commits] [Git][videolan/vlc][master] 4 commits: fourcc: add VVC
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 18c0e3a4 by François Cartegnie at 2024-05-31T11:41:31+00:00 fourcc: add VVC - - - - - 2790be79 by François Cartegnie at 2024-05-31T11:41:31+00:00 demux: mp4: map VVC - - - - - 2932f39b by François Cartegnie at 2024-05-31T11:41:31+00:00 demux: ts: map VVC - - - - - b2a8bb1b by François Cartegnie at 2024-05-31T11:41:31+00:00 codec: avcodec: map VVC - - - - - 9 changed files: - include/vlc_fourcc.h - modules/codec/avcodec/fourcc.c - modules/codec/avcodec/video.c - modules/demux/mp4/essetup.c - modules/demux/mp4/libmp4.c - modules/demux/mp4/libmp4.h - modules/demux/mpeg/ts_psi.c - src/input/decoder.c - src/misc/fourcc_list.h Changes: = include/vlc_fourcc.h = @@ -39,6 +39,7 @@ #define VLC_CODEC_H263P VLC_FOURCC('I','L','V','R') #define VLC_CODEC_FLV1VLC_FOURCC('F','L','V','1') #define VLC_CODEC_H261VLC_FOURCC('h','2','6','1') +#define VLC_CODEC_VVC VLC_FOURCC('h','2','6','6') #define VLC_CODEC_MJPGVLC_FOURCC('M','J','P','G') #define VLC_CODEC_MJPGB VLC_FOURCC('m','j','p','b') #define VLC_CODEC_LJPGVLC_FOURCC('L','J','P','G') = modules/codec/avcodec/fourcc.c = @@ -286,6 +286,9 @@ static const struct vlc_avcodec_fourcc video_codecs[] = { VLC_CODEC_DXV, AV_CODEC_ID_DXV }, +#if LIBAVCODEC_VERSION_CHECK( 61, 03, 100 ) +{ VLC_CODEC_VVC, AV_CODEC_ID_VVC }, +#endif /* ffmpeg only: AV_CODEC_ID_BRENDER_PIX */ /* ffmpeg only: AV_CODEC_ID_Y41P */ /* ffmpeg only: AV_CODEC_ID_EXR */ = modules/codec/avcodec/video.c = @@ -481,6 +481,11 @@ static int InitVideoDecCommon( decoder_t *p_dec ) /* * Output always the frames * */ p_context->flags |= AV_CODEC_FLAG_OUTPUT_CORRUPT; +#if LIBAVCODEC_VERSION_CHECK( 61, 03, 100 ) +if( p_dec->fmt_in->i_codec == VLC_CODEC_VVC ) +p_context->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL; +#endif + i_val = var_CreateGetInteger( p_dec, "avcodec-skiploopfilter" ); if( i_val >= 4 ) p_context->skip_loop_filter = AVDISCARD_ALL; else if( i_val == 3 ) p_context->skip_loop_filter = AVDISCARD_NONKEY; = modules/demux/mp4/essetup.c = @@ -623,6 +623,19 @@ int SetupVideoES( demux_t *p_demux, const mp4_track_t *p_track, const MP4_Box_t break; } +case VLC_FOURCC( 'v', 'v', 'c', '1' ): +{ +MP4_Box_t *p_vvcC = MP4_BoxGet( p_sample, "vvcC" ); +if( p_vvcC && p_vvcC->data.p_binary && +p_vvcC->data.p_binary->i_blob > 4 ) +{ +CopyExtradata( ((uint8_t *)p_vvcC->data.p_binary->p_blob) + 4, + p_vvcC->data.p_binary->i_blob - 4, + p_fmt ); +} +break; +} + /* avc1: send avcC (h264 without annexe B, ie without start code)*/ case VLC_FOURCC( 'a', 'v', 'c', '3' ): case VLC_FOURCC( 'a', 'v', 'c', '1' ): = modules/demux/mp4/libmp4.c = @@ -5102,6 +5102,7 @@ static const struct { ATOM_av1C,MP4_ReadBox_av1C, ATOM_av01 }, { ATOM_avcC,MP4_ReadBox_avcC, ATOM_avc1 }, { ATOM_avcC,MP4_ReadBox_avcC, ATOM_avc3 }, +{ ATOM_vvcC,MP4_ReadBox_Binary, ATOM_vvc1 }, { ATOM_hvcC,MP4_ReadBox_Binary, 0 }, { ATOM_jpeC,MP4_ReadBox_Binary, 0 }, /* heif */ { ATOM_av1C,MP4_ReadBox_av1C, ATOM_ipco }, /* heif */ = modules/demux/mp4/libmp4.h = @@ -275,6 +275,8 @@ typedef int64_t stime_t; #define ATOM_av1C VLC_FOURCC( 'a', 'v', '1', 'C' ) #define ATOM_avcC VLC_FOURCC( 'a', 'v', 'c', 'C' ) #define ATOM_vpcC VLC_FOURCC( 'v', 'p', 'c', 'C' ) +#define ATOM_vvc1 VLC_FOURCC( 'v', 'v', 'c', '1' ) +#define ATOM_vvcC VLC_FOURCC( 'v', 'v', 'c', 'C' ) #define ATOM_m4ds VLC_FOURCC( 'm', '4', 'd', 's' ) #define ATOM_fiel VLC_FOURCC( 'f', 'i', 'e', 'l' ) = modules/demux/mpeg/ts_psi.c = @@ -1626,6 +1626,9 @@ static void PIDFillFormat( demux_t *p_demux, ts_stream_t *p_pes, //case 0x2E: /* MPEG-H auxiliary audio */ es_format_Change( fmt, AUDIO_ES, VLC_CODEC_MPEGH ); break; +case 0x33: /* VVC */ +es_format_Change( fmt, VIDEO_ES, VLC_CODEC_VVC ); +break; case 0x42: /* CAVS (Chinese AVS) */ es_format_Change( fmt, VIDEO_ES, VLC_CODEC_CA
[vlc-commits] [Git][videolan/vlc][master] demux: ts: tag any ES type with its language
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 941adc9e by François Cartegnie at 2024-05-31T10:11:44+00:00 demux: ts: tag any ES type with its language - - - - - 1 changed file: - modules/demux/mpeg/ts_psi.c Changes: = modules/demux/mpeg/ts_psi.c = @@ -547,8 +547,7 @@ static void SetupStandardESDescriptors( demux_t *p_demux, ts_es_t *p_es, switch( p_dr->i_tag ) { case 0x0a: -if( p_es->fmt.i_cat == AUDIO_ES ) -SetupISO639Descriptor( p_demux, p_es, p_dr ); +SetupISO639Descriptor( p_demux, p_es, p_dr ); break; case 0x0E: View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/941adc9e69ad38b6011212c3085d95f2756c9ad2 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/941adc9e69ad38b6011212c3085d95f2756c9ad2 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: factor environment setup in separate function
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: c0a25700 by Alexandre Janniaux at 2024-05-31T08:52:12+00:00 test: factor environment setup in separate function - - - - - 78c1c5c8 by Alexandre Janniaux at 2024-05-31T08:52:12+00:00 test: keystore: use test_setup for environment Using relative path for plugin path leads to the test failing to launch depending on where it is being launched from. - - - - - 8f09a0c4 by Alexandre Janniaux at 2024-05-31T08:52:12+00:00 test: meson.build: add dependency to keystore modules The memory and file keystore are always used when running the test from meson, so ensure they are built before. - - - - - 3 changed files: - test/libvlc/test.h - test/modules/keystore/test.c - test/src/meson.build Changes: = test/libvlc/test.h = @@ -63,6 +63,12 @@ static const char test_default_sample[] = "mock://"; #define test_log( ... ) printf( "testapi: " __VA_ARGS__ ); +static inline void test_setup(void) +{ +setenv("VLC_PLUGIN_PATH", TOP_BUILDDIR"/modules", 1); +setenv("VLC_LIB_PATH", TOP_BUILDDIR, 1); +} + static inline void test_init (void) { (void)test_default_sample; /* This one may not be used */ @@ -84,8 +90,7 @@ static inline void test_init (void) if (alarm_timeout != 0) alarm (alarm_timeout); -setenv( "VLC_PLUGIN_PATH", TOP_BUILDDIR"/modules", 1 ); -setenv( "VLC_LIB_PATH", TOP_BUILDDIR, 1 ); +test_setup(); } #endif /* TEST_H */ = test/modules/keystore/test.c = @@ -35,6 +35,8 @@ #undef NDEBUG #include +#include "libvlc/test.h" + /* * Build and exec all keystore tests: * $ cd vlc/build-/test @@ -297,14 +299,14 @@ test_module(const char *psz_module, bool b_test_all, bool b_persistent, int main(int i_argc, char *ppsz_argv[]) { +test_setup(); + /* If b_test_all is true, this test could pollute the developer´s keystores */ bool b_test_all = i_argc > 1 && strcmp(ppsz_argv[1], "-a") == 0; if (!b_test_all) alarm(3); -setenv("VLC_PLUGIN_PATH", "../modules", 1); - /* Create a dummy libvlc to initialize module bank, needed by module_exists */ libvlc_instance_t *p_libvlc = libvlc_new(0, NULL); assert(p_libvlc != NULL); = test/src/meson.build = @@ -147,6 +147,7 @@ vlc_tests += { 'sources' : files('misc/keystore.c'), 'suite' : ['src', 'test_src'], 'link_with' : [libvlc, libvlccore], +'module_depends' : ['memory_keystore', 'file_keystore'], } if host_system == 'darwin' View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/cfd0fbf58a12cd09fd16929c7f2072c9f2d0a30f...8f09a0c410bb8a4293f14a5339fa1644dd5b741c -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/cfd0fbf58a12cd09fd16929c7f2072c9f2d0a30f...8f09a0c410bb8a4293f14a5339fa1644dd5b741c 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: set fading edge background color directly from the background
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 36f4834b by Fatih Uzunoglu at 2024-05-30T16:59:56+00:00 qml: set fading edge background color directly from the background - - - - - cfd0fbf5 by Fatih Uzunoglu at 2024-05-30T16:59:56+00:00 qml: remove unnecessary Rectangle in player play queue background - - - - - 2 changed files: - modules/gui/qt/player/qml/Player.qml - modules/gui/qt/playlist/qml/PlaylistListView.qml Changes: = modules/gui/qt/player/qml/Player.qml = @@ -595,88 +595,85 @@ FocusScope { value: playlistVisibility.isPlaylistVisible ? "visible" : "hidden" } -component: Rectangle { +component: PL.PlaylistListView { +id: playlistView + width: Helpers.clamp(rootPlayer.width / resizeHandle.widthFactor , playlistView.minimumWidth , (rootPlayer.width + playlistView.rightPadding) / 2) - height: playlistpopup.height -color: windowTheme.bg.primary.alpha(0.8) - +useAcrylic: false +focus: true -PL.PlaylistListView { -id: playlistView +wheelEnabled: true -useAcrylic: false -focus: true - -wheelEnabled: true +rightPadding: VLCStyle.applicationHorizontalMargin +topPadding: { +if (rootPlayer._controlsUnderVideo) +return VLCStyle.margin_normal +else +// NOTE: We increase the padding accordingly to avoid overlapping the TopBar. +return topBar.reservedHeight +} -anchors.fill: parent -rightPadding: VLCStyle.applicationHorizontalMargin -topPadding: { -if (rootPlayer._controlsUnderVideo) -return VLCStyle.margin_normal -else -// NOTE: We increase the padding accordingly to avoid overlapping the TopBar. -return topBar.reservedHeight -} +background: Rectangle { +color: windowTheme.bg.primary.alpha(0.8) +} -Navigation.parentItem: rootPlayer -Navigation.upItem: topBar -Navigation.downItem: Player.isInteractive ? toggleControlBarButton : controlBar -Navigation.leftAction: closePlaylist -Navigation.cancelAction: closePlaylist - -function closePlaylist() { -playlistVisibility.togglePlaylistVisibility() -if (audioControls.visible) -audioControls.forceActiveFocus() -else -controlBar.forceActiveFocus() -} +Navigation.parentItem: rootPlayer +Navigation.upItem: topBar +Navigation.downItem: Player.isInteractive ? toggleControlBarButton : controlBar +Navigation.leftAction: closePlaylist +Navigation.cancelAction: closePlaylist + +function closePlaylist() { +playlistVisibility.togglePlaylistVisibility() +if (audioControls.visible) +audioControls.forceActiveFocus() +else +controlBar.forceActiveFocus() +} -Widgets.HorizontalResizeHandle { -id: resizeHandle +Widgets.HorizontalResizeHandle { +id: resizeHandle -property bool _inhibitMainCtxUpdate: false +property bool _inhibitMainCtxUpdate: false -parent: playlistView +parent: playlistView -anchors { -top: parent.top -bottom: parent.bottom -left: parent.left -} +anchors { +top: parent.top +bottom: parent.bottom +left: parent.left +} -atRight: false -targetWidth: playlistpopup.width -sourceWidth: rootPlayer.width +atRight: false +targetWidth: playlistpopup.width +sourceWidth: rootPlayer.width -onWidthFactorChanged: { -if (!_inhibitMainCtxUpdate) -MainCtx.playerPlaylistWidthFactor = widthFactor -} +onWidthFactorChanged: { +if (!_inhibitMainCtxUpdate) +MainCtx.playerPlaylistWidthFactor = widthFactor +} -Component.onCompleted:
[vlc-commits] [Git][videolan/vlc][master] 2 commits: configure.ac: use quotes for variable assignation
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 9533f89f by Alexandre Janniaux at 2024-05-30T16:28:53+00:00 configure.ac: use quotes for variable assignation - - - - - 5e2724f5 by Alexandre Janniaux at 2024-05-30T16:28:53+00:00 configure.ac: remove x-test checks The variable is already quoted so theres no need to x-test them. - - - - - 1 changed file: - configure.ac Changes: = configure.ac = @@ -583,7 +583,7 @@ AS_IF([test -n "${CONTRIB_DIR}"], [ PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:${CONTRIB_DIR}/share/pkgconfig:${PKG_CONFIG_PATH}" case "${build_os}" in mingw32) - export PKG_CONFIG_PATH=`cygpath -mp ${PKG_CONFIG_PATH}` + export PKG_CONFIG_PATH="$(cygpath -mp "${PKG_CONFIG_PATH}")" ;; *) export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" @@ -615,8 +615,8 @@ AC_SUBST([CONTRIB_DIR]) dnl Add extras/tools to the PATH TOOLS_DIR="${srcdir}/extras/tools/build/bin" AS_IF([test -d "${TOOLS_DIR}"], [ -TOOLS_DIR=`cd "${TOOLS_DIR}" && pwd` -export PATH="${TOOLS_DIR}":$PATH +TOOLS_DIR="$(cd "${TOOLS_DIR}" && pwd)" +export PATH="${TOOLS_DIR}:$PATH" ]) dnl @@ -1454,7 +1454,7 @@ AS_IF([test "${SYS}" = "mingw32"], [ break fi done -AS_IF([test "x${win32_path_cmd}" != "xno"],[ +AS_IF([test "${win32_path_cmd}" != "no"],[ WIN32_PATH_CMD=${win32_path_cmd} AC_MSG_RESULT([using '${win32_path_cmd}']) ],[ View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/239eafa8b1a9a8f3e9d830232e09fba4675d705a...5e2724f55ca7684b5c60020f94978968792db430 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/239eafa8b1a9a8f3e9d830232e09fba4675d705a...5e2724f55ca7684b5c60020f94978968792db430 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: configure.ac: remove color parsing on NO_COLOR=1
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: f3a959e7 by Alexandre Janniaux at 2024-05-30T12:34:36+00:00 configure.ac: remove color parsing on NO_COLOR=1 When run from an environment not supporting colors, we should remove them instead of printing the color descriptor anyway. - - - - - a18ceda2 by Alexandre Janniaux at 2024-05-30T12:34:36+00:00 extras: apple: add extra version for simulators The simulators are constrained to specific iOS and tvOS minimal version and not respecting the constraint would lead to incorrect build and linking failure. Not sure how this should really be handled yet though, maybe the build.sh script should get some parameter for that, or define the targets depending on the SDK version. - - - - - 3833584f by Alexandre Janniaux at 2024-05-30T12:34:36+00:00 modules: Makefile.am: generate list of plugins The build system is generating plugins and installing them at the PREFIX location, but it is also often used by extra build scripts using it. Those build scripts were trying to list the plugins by listing the files in the PREFIX folder, but it was often inadequately using stall plugins. By generating an up-to-date list of plugins by the build system, we can check when the plugin list have changed and which plugins should be copied to the final application. - - - - - 12c21c28 by Alexandre Janniaux at 2024-05-30T12:34:36+00:00 apple: build.sh: use absolute path Using absolute path enables the script from being called from a different folder than a subfolder of the source directory in the future. - - - - - 529a072a by Alexandre Janniaux at 2024-05-30T12:34:36+00:00 apple: build.sh: move contrib builds to vlc/contribs/ The contribs were built from contrib/contrib-xxx but installed into build/contrib/xxx-yy so removing the build folder led to the contrib being unused since every .target files from contrib/contrib-xxx would still exist. - - - - - 5a1e92d6 by Alexandre Janniaux at 2024-05-30T12:34:36+00:00 apple: build.sh: disable subdirectory restriction When building from XCode, the build folder wont be located into a sub-directory so remove the restriction. - - - - - 6866438d by Alexandre Janniaux at 2024-05-30T12:34:36+00:00 apple: build.sh: ensure flags definition are stored Ensure the flag definitions are stored in the config.status file. - - - - - 3f9b85e2 by Alexandre Janniaux at 2024-05-30T12:34:36+00:00 extras: apple: add xcodegen spec project Add an XCodeGen project spec to generate an XCode project which will be using autoconf and automake to build, as well as exposing the generated artifacts to other XCode projects. This will be generating the build artifacts inside the product build directory from XCode, so `Clean build folder` will work as expected in the editor, and use dynamic plugins to copy them towards the final application for now. This project allows testing VLC directly through the iosvlc.m test driver, without building VLCKit nor VLC for iOS or another test application, by directly using XCode to run it on the targetted platform. Exposing such project also allows debug symbols and debugguer with breakpoint support to work automatically, even when using the artifacts in another project. The xcode.sh script is added as a wrapper script to handle the specificities of XCode when calling external buildsystem, in particular the multi-arch building for archiving application and packages. The copy_plugins.sh is added as a build phase script so that application can install the plugins matching the architecture being built. It currently probably fails with cases where some plugins are not built for every architecture of a platform since I havent tested that yet. It is also quite dumb and re-do everything from scratch for now. - - - - - 5a889373 by Maxime Chapelet at 2024-05-30T12:34:36+00:00 xcodegen: generate dSYM bundles from binary copy script We have to generate dSYM bundle from the script because Xcode might already have generated them before binary lipo/copy execution. - - - - - 332b22cf by Alexandre Janniaux at 2024-05-30T12:34:36+00:00 apple: generate.sh: add a script to generate xcodeproj The script explains how to generate the xcode project and will generate a folder containing the project at the current working directory where it has been used. - - - - - 8 changed files: - configure.ac - extras/package/apple/build.conf - extras/package/apple/build.sh - + extras/package/apple/copy_plugins.sh - + extras/package/apple/generate.sh - + extras/package/apple/xcode.sh - + extras/package/apple/xcodegen.yml - modules/Makefile.am Changes: = configure.ac = @@ -4896,7 +4896,11 @@ echo "#! $SHELL rm -f .error\$\$ ERROR=0 export PATH=\"$PATH\" LANG=C +if [ "$NO_COLOR" = 1 ]; then +($MAKE V=1 \$@ 2>&1 || touch .error\$\$) +else ($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| $compile_top_srcdir/extras/buildsystem/mak
[vlc-commits] [Git][videolan/vlc][master] contrib: qt: use qmake6 instead of qtpaths6 to get pathes
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 3bb7c0e5 by Steve Lhomme at 2024-05-30T11:46:37+00:00 contrib: qt: use qmake6 instead of qtpaths6 to get pathes Apparently on ArchLinux qmake6 is in the PATH, but not qtpaths6. - - - - - 1 changed file: - contrib/src/main.mak Changes: = contrib/src/main.mak = @@ -541,11 +541,11 @@ MESONCLEAN = rm -rf $(BUILD_DIR)/meson-private MESONBUILD = meson compile -C $(BUILD_DIR) $(MESON_BUILD) && meson install -C $(BUILD_DIR) # shared Qt config -ifeq ($(call system_tool_majmin, qtpaths6 --query QT_VERSION),$(QTBASE_VERSION_MAJOR)) +ifeq ($(call system_tool_majmin, qmake6 -query QT_VERSION),$(QTBASE_VERSION_MAJOR)) # using system Qt native tools ifdef HAVE_CROSS_COMPILE - QT_HOST_PREFIX := $(shell PATH="${SYSTEM_PATH}" qtpaths6 --query QT_HOST_PREFIX) - QT_HOST_LIBS := $(shell PATH="${SYSTEM_PATH}" qtpaths6 --query QT_HOST_LIBS) + QT_HOST_PREFIX := $(shell PATH="${SYSTEM_PATH}" qmake6 -query QT_HOST_PREFIX) + QT_HOST_LIBS := $(shell PATH="${SYSTEM_PATH}" qmake6 -query QT_HOST_LIBS) QT_HOST_PATH := -DQT_HOST_PATH=$(QT_HOST_PREFIX) -DQT_HOST_PATH_CMAKE_DIR=$(QT_HOST_LIBS)/cmake endif else View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3bb7c0e5aa71a9d022668ef049543a495fcb5061 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3bb7c0e5aa71a9d022668ef049543a495fcb5061 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] wasm: build: fix vlc tools PATH setting
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 3516283b by Khalid Masum at 2024-05-30T06:50:22+00:00 wasm: build: fix vlc tools PATH setting Previously: - $PATH was set incorrectly to wasm-emscripten/bin which is supposed to be wasm-emscripten/build/bin - $PATH was updated after making the tools Hence, - The tools would be rebuilt every time build script is run. - The setting of PATH variable would do nothing anyway even if it was correct, as correct PATH is going to be set by the configure script later anyway. This patch will repurpose the line to avoid rebuilding of already built tools. - - - - - 1 changed file: - extras/package/wasm-emscripten/build.sh Changes: = extras/package/wasm-emscripten/build.sh = @@ -98,6 +98,9 @@ cd "$OLD_PWD" diagnostic "vlc sources path: " echo "$VLC_SRCPATH"; +# update PATH to include vlc tools +export PATH=$VLC_SRCPATH/extras/tools/build/bin:$PATH + diagnostic "vlc tools: bootstrap" cd "$VLC_SRCPATH"/extras/tools @@ -111,9 +114,6 @@ fi diagnostic "vlc tools: make" make -# update the PATH -export PATH=$VLC_SRCPATH/extras/tools/bin:$PATH - diagnostic "sdk tests: checking if autoconf supports emscripten" # https://code.videolan.org/-/snippets/1283 for file in /usr/share/automake-* View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3516283b1ccb642c13b506eb428517619356bbe4 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3516283b1ccb642c13b506eb428517619356bbe4 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: amf_helper: add a macro to add namespace when using C++
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 7bde5ce8 by Steve Lhomme at 2024-05-30T06:15:46+00:00 amf_helper: add a macro to add namespace when using C++ - - - - - 957db11f by Steve Lhomme at 2024-05-30T06:15:46+00:00 amf_helper: share DXGIToAMF() - - - - - d068a0a3 by Steve Lhomme at 2024-05-30T06:15:46+00:00 configure: edit comment on live555 This fixes the M4 parsing in VSCode at no cost for VLC. - - - - - 9815b7eb by Steve Lhomme at 2024-05-30T06:15:46+00:00 configure: detect AMD VQEnhancer.h - - - - - 4125ad5a by Steve Lhomme at 2024-05-30T06:15:46+00:00 video_filter: add AMD VQ Enhancer filter - - - - - 5 changed files: - configure.ac - modules/hw/amf/amf_helper.h - modules/video_filter/Makefile.am - + modules/video_filter/amf_vqenhancer.c - modules/video_output/win32/d3d11_scaler.cpp Changes: = configure.ac = @@ -2072,7 +2072,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 does 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}]) @@ -2188,7 +2188,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], [ @@ -2198,6 +2198,16 @@ 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" + ]) +]) +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/video_filter/Makefile.am = @@ -218,6 +218,18 @@ libpostproc_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(video_filterdir)' video_filter_LTLIBRARIES += $(LTLIBpostproc) EXTRA_LTLIBRARIES += libpostproc_plugin.la +if HAVE_AMF_ENHANCER +libamf_vqenhancer_plugin_la_SOURCES = video_filter/amf_vqenhancer.c \ +hw/amf/amf_helper.c hw/amf/amf_helper.h +if HAVE_WIN32 +libamf_vqenhancer_plugin_la_LIBADD = $(LIBCOM) libd3d11_common.la +if HAVE_WINSTORE +libamf_vqenhancer_plugin_la_LIBADD += -ld3d11 +endif +video_filter_LTLIBRARIES += libamf_vqenhancer_plugin.la +endif +endif + # misc libblend_plugin_la_SOURCES = video_filter/blend.cpp video_filter_LTLIBRARIES += libblend_plugin.la = modules/video_filter/amf_vqenhancer.c = @@ -0,0 +1,262 @@ +// SPDX
[vlc-commits] [Git][videolan/vlc][master] 8 commits: clock: split vlc_clock_master_update
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 09a4fec7 by Alexandre Janniaux at 2024-05-30T05:56:36+00:00 clock: split vlc_clock_master_update The function computing offset and coefficient has become quite complex, and adding new conditions to this computation leads to a lot of nesting. Co-authored-by: Thomas Guillem tho...@gllm.fr - - - - - 9f337097 by Alexandre Janniaux at 2024-05-30T05:56:36+00:00 clock: early return in vlc_clock_main_ChangePause The case where pause is set is much simpler than the other case, and there is no common code afterwards so we can just early return this case to simplify the other one. Co-authored-by: Thomas Guillem tho...@gllm.fr - - - - - 8b57bd3d by Alexandre Janniaux at 2024-05-30T05:56:36+00:00 clock: check clock_main-last instead of offset Offset could very well be 0, which is currently equal to VLC_TICK_INVALID. Checking that clock_main-last has been set instead provides a safer alternative. Co-authored-by: Thomas Guillem tho...@gllm.fr - - - - - 8963523e by Alexandre Janniaux at 2024-05-30T05:56:36+00:00 test: clock: option to disable jitter - - - - - 1872f8b2 by Alexandre Janniaux at 2024-05-30T05:56:36+00:00 test: clock: fix typos - - - - - 922b6f69 by Alexandre Janniaux at 2024-05-30T05:56:36+00:00 test: clock: convert from deterministic values Using vlc_tick_now() makes the test depend on when it is run. Instead, provide fixed values to ensure the same inputs in the test. It can be noted that using VLC_TICK_0 instead of VLC_TICK_0 + 15000ms makes the test fail though, because conversion in sent to the future. Co-authored-by: Thomas Guillem tho...@gllm.fr - - - - - 327ef6e7 by Alexandre Janniaux at 2024-05-30T05:56:36+00:00 test: clock: convert early to start the clock Before the next patches, the monotonic clock is only started after vlc_clock_ConvertToSystem is called. Co-authored-by: Thomas Guillem tho...@gllm.fr - - - - - f8466197 by Alexandre Janniaux at 2024-05-30T05:56:36+00:00 test: clock: fix infinite loop on trace When the trace is not matching one of the expected field, continue was called before the iterator was incremented, leading to infinitely calling continue. Co-authored-by: Thomas Guillem tho...@gllm.fr - - - - - 2 changed files: - src/clock/clock.c - test/src/clock/clock.c Changes: = src/clock/clock.c = @@ -2,6 +2,10 @@ * clock.c: Output modules synchronisation clock * * Copyright (C) 2018-2019 VLC authors, VideoLAN and Videolabs SAS + * Copyright (C) 2024 Videolabs + * + * Authors: Thomas Guillem + * Alexandre Janniaux * * 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 @@ -178,7 +182,7 @@ static inline void TraceRender(struct vlc_tracer *tracer, const char *type, static vlc_tick_t main_stream_to_system(vlc_clock_main_t *main_clock, vlc_tick_t ts) { -if (main_clock->offset == VLC_TICK_INVALID) +if (main_clock->last.system == VLC_TICK_INVALID) return VLC_TICK_INVALID; return ((vlc_tick_t) (ts * main_clock->coeff / main_clock->rate)) + main_clock->offset; @@ -216,93 +220,102 @@ static inline void vlc_clock_on_update(vlc_clock_t *clock, system_now, ts, drift); } -static vlc_tick_t vlc_clock_master_update(vlc_clock_t *clock, - vlc_tick_t system_now, - vlc_tick_t ts, double rate, - unsigned frame_rate, - unsigned frame_rate_base) + +static void vlc_clock_master_update_coeff( +vlc_clock_t *clock, vlc_tick_t system_now, vlc_tick_t ts, double rate) { vlc_clock_main_t *main_clock = clock->owner; +vlc_mutex_assert(_clock->lock); -if (unlikely(ts == VLC_TICK_INVALID || system_now == VLC_TICK_INVALID)) -return VLC_TICK_INVALID; - -/* If system_now is VLC_TICK_MAX, the update is forced, don't modify - * anything but only notify the new clock point. */ -if (system_now != VLC_TICK_MAX) +if (main_clock->last.system != VLC_TICK_INVALID + && ts != main_clock->last.stream) { -if (main_clock->offset != VLC_TICK_INVALID - && ts != main_clock->last.stream) +if (rate == main_clock->rate) { -if (rate == main_clock->rate) -{ -/* We have a reference so we can update coeff */ -vlc_tick_t system_diff = system_now - main_clock->last.system; -vlc_tick_t stream_diff = ts - main_clock->last.stream; +/* We have a reference so we can update coeff */ +
[vlc-commits] [Git][videolan/vlc][master] 3 commits: configure: factorize qmake makefile patching
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 883e2309 by Pierre Lamot at 2024-05-29T10:37:01+00:00 configure: factorize qmake makefile patching - - - - - 63647d8a by Pierre Lamot at 2024-05-29T10:37:01+00:00 configure: fix library path extracted from qmake - - - - - 2d97c56a by Pierre Lamot at 2024-05-29T10:37:01+00:00 configure: extract LDFLAGS from qmake - - - - - 2 changed files: - configure.ac - modules/gui/qt/Makefile.am Changes: = configure.ac = @@ -4019,29 +4019,41 @@ AS_IF([test "${enable_qt}" != "no"], [ QT_PKG_ERRORS=$(${QMAKE} ${srcdir}/modules/gui/qt/qt6.pro -o ${ac_pwd}/modules/gui/qt/qmake-qt 2>&1) ac_status=$? AS_IF([test $ac_status = 0 && test -f ${ac_pwd}/modules/gui/qt/qmake-qt],[ - echo "get_cflags:">> ${ac_pwd}/modules/gui/qt/qmake-qt - echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-qt - echo "get_libs:" >> ${ac_pwd}/modules/gui/qt/qmake-qt - echo ' echo $(LIBS) | sed -e "s@/[[^ ]]*/lib\([[^ ]]*\)\.so@-l\1@g"' >> ${ac_pwd}/modules/gui/qt/qmake-qt + echo "get_cflags:"> ${ac_pwd}/modules/gui/qt/qmake-common.mk + echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-common.mk + echo "get_libs:" >> ${ac_pwd}/modules/gui/qt/qmake-common.mk + dnl transform /foo/bar/libbaz.so arguments to -L/foo/bar -lbaz + dnl RS: each arguments (space separated) are treated as a new line + dnl FS: split fields using /[^/]* to extract the file basepath ($1) + dnl /lib.*\.so/ lines (arguments) will add -Lxxx if this is not the current path (p), then transform into a -lxxx argument + dnl other arguments are kept as-is + echo ' echo $(LIBS) | awk '\''BEGIN{FS="/[[^/]]*$$";RS=" ";ORS=" "}{if($$0 ~ /\/lib.*\.so/){ if(p != $$1){ print "-L" $$1; p=$$1}; sub(/.*\/lib/, "-l"); sub(/\.so.*/, "")}; print $$0}'\' >> ${ac_pwd}/modules/gui/qt/qmake-common.mk + echo 'get_ldflags:' >> ${ac_pwd}/modules/gui/qt/qmake-common.mk + echo ' echo $(LFLAGS)' >> ${ac_pwd}/modules/gui/qt/qmake-common.mk + + echo "include ${ac_pwd}/modules/gui/qt/qmake-common.mk" >> ${ac_pwd}/modules/gui/qt/qmake-qt + AC_MSG_RESULT([yes]) QT_LIBS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-qt get_libs) QT_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-qt get_cflags) + QT_LDFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-qt get_ldflags) AC_SUBST([QT_LIBS]) AC_SUBST([QT_CFLAGS]) + AC_SUBST([QT_LDFLAGS]) AC_MSG_CHECKING([for Qt6WaylandClient]) (${QMAKE} ${srcdir}/modules/gui/qt/wayland.pro -o ${ac_pwd}/modules/gui/qt/qmake-wayland) 2>/dev/null ac_status=$? AS_IF([test $ac_status = 0 && test -f ${ac_pwd}/modules/gui/qt/qmake-wayland],[ -echo 'get_cflags:' >> ${ac_pwd}/modules/gui/qt/qmake-wayland -echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-wayland -echo 'get_libs:' >> ${ac_pwd}/modules/gui/qt/qmake-wayland -echo ' echo $(LIBS) | sed -e "s@/[[^ ]]*/lib\([[^ ]]*\)\.so@-l\1@g"' >> ${ac_pwd}/modules/gui/qt/qmake-wayland +echo "include ${ac_pwd}/modules/gui/qt/qmake-common.mk" >> ${ac_pwd}/modules/gui/qt/qmake-wayland + AC_MSG_RESULT([yes]) QT_WAYLAND_LIBS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-wayland get_libs) QT_WAYLAND_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-wayland get_cflags) +QT_WAYLAND_LDFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-wayland get_ldflags) AC_SUBST([QT_WAYLAND_LIBS]) AC_SUBST([QT_WAYLAND_CFLAGS]) +AC_SUBST([QT_WAYLAND_LDFLAGS]) have_qt_wayland="yes" ],[ AC_MSG_RESULT([no]) @@ -4091,15 +4103,14 @@ AS_IF([test "${enable_qt}" != "no"], [ --qtconf "${with_qtconf}" \ --modules QtTest="" \ >_MESSAGE_FD ], [ -echo 'get_cflags:' >> ${ac_pwd}/modules/gui/qt/qmake-quicktest -echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-quicktest -echo 'get_libs:' >> ${ac_pwd}/modules/gui/qt/qmake-quicktest -echo ' echo $(LIBS) | sed -e "s@/[[^ ]]*/lib\([[^ ]]*\)\.so@-l\1@g"'
[vlc-commits] [Git][videolan/vlc][master] 5 commits: upnp: encode the object ID in the exposed URL
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 5d5ccbc0 by Alaric Senat at 2024-05-28T14:15:10+00:00 upnp: encode the object ID in the exposed URL Object ID is not supposed to be URI-encoded by default and can be pretty much any valid string. Since we add it to a valid encoded URL, we need to encode it to preserve the URL validity. - - - - - 0cba1475 by Alaric Senat at 2024-05-28T14:15:10+00:00 upnp: avoid double URL query start values This patch completes ac99cee9f34fa17e0595d8b31a2dd1ff723c0719. It avoids corrupting URLs with an already present query list. - - - - - bc1d58c0 by Alaric Senat at 2024-05-28T14:15:10+00:00 upnp: implement root MRL forging with std::string Switching to std::string simplifies the next patch changing the URL scheme. - - - - - 44de051a by Alaric Senat at 2024-05-28T14:15:10+00:00 upnp: enforce HTTP(S) as the only supported protocols In preparation for the next commit, explicitly refuse any protocols that are not supported by libpupnp. Its unclear if its needed and pupnp probably already perform this check, but the next commit rely heavily on the scheme matching http or https only. - - - - - 241fed31 by Alaric Senat at 2024-05-28T14:15:10+00:00 upnp: fix exposed directory URLs schemes Previous implementation generated input item directories with URLs not compliant with *RFC 3986* in an attempt to keep the original URL while triggering the UPNP directory acces properly. Heres an exemple of a previous upnp directory url: upnp://http://192.168.1.109:32469/cds?ObjectID=0 The stacking of schemes (`upnp://http://`) is problematic and leads to most of the validators failing on those generated URLs (see the referenced issue). This patch fix the issue by simply replacing the original `http://` scheme by `upnp://` instead of stacking both. To avoid any potential regression with some obscure usage forcing https, a shortcut of the directory access is introduced for https specificaly. The example above would then be fixed like that: upnp://192.168.1.109:32469/cds?ObjectID=0 Potential use-cases with https would instead generate the following: upnps://192.168.1.109:32469/cds?ObjectID=0 Refs VLCKit#728 - - - - - 2 changed files: - modules/services_discovery/upnp.cpp - modules/services_discovery/upnp.hpp Changes: = modules/services_discovery/upnp.cpp = @@ -153,6 +153,7 @@ vlc_module_begin() set_subcategory( SUBCAT_INPUT_ACCESS ) set_callbacks( Access::OpenAccess, Access::CloseAccess ) set_capability( "access", 0 ) +add_shortcut( "upnp", "upnps" ) VLC_SD_PROBE_SUBMODULE @@ -406,17 +407,31 @@ bool MediaServerList::addServer( MediaServerDesc* desc ) free( psz_playlist_option ); } } else { -char* psz_mrl; -// We might already have some options specified in the location. -char opt_delim = desc->location.find( '?' ) == std::string::npos ? '?' : '&'; -if( asprintf( _mrl, "upnp://%s%cObjectID=0", desc->location.c_str(), opt_delim ) < 0 ) +const auto loc_starts_with = [desc](const char *s) { +return desc->location.compare(0, strlen(s), s) == 0; +}; + +if ( !loc_starts_with("http://;) && !loc_starts_with("https://;) ) +{ +msg_Warn( m_sd, "Unexpected underlying protocol, the UPNP module " + "fully supports HTTP and has partial support for HTTPS" ); return false; +} + +std::string mrl = desc->location; + +// Replace the scheme to trigger the directory access. +mrl.replace( 0, 4, "upnp" ); + +// Forge a root object ID in the MRL, this is used in the dir access. +if ( desc->location.find( '?' ) == std::string::npos ) +mrl += "?ObjectID=0"; +else +mrl += "=0"; -p_input_item = input_item_NewDirectory( psz_mrl, +p_input_item = input_item_NewDirectory( mrl.c_str(), desc->friendlyName.c_str(), ITEM_NET ); -free( psz_mrl ); - if ( !p_input_item ) return false; @@ -990,8 +1005,17 @@ namespace if ( objectID == NULL || title == NULL ) return NULL; +char *encoded_id = vlc_uri_encode( objectID ); +if ( unlikely(encoded_id == NULL) ) +return NULL; + +const char opt_delim = strrchr( psz_root, '?' ) == NULL ? '?' : '&'; + char* psz_url; -if( asprintf( _url, "upnp://%s?ObjectID=%s", psz_root, objectID ) < 0 ) +const int ret = asprintf( _url, "%s%cObjectID=%s", psz_root, +
[vlc-commits] [Git][videolan/vlc][master] 13 commits: macosx: Acquire all selected row indices in audio table view delegate
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: b1bc2aff by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Acquire all selected row indices in audio table view delegate Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 16a73b76 by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Modify selection method in audio data source to accept index set Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 6b1b6404 by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Enable multiple selection for audio group selection table view Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 072d5a7a by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Fetch all selected table row indices in VLCLibraryTableView menuNeedsUpdate Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - a31d272b by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Change represented object properties in library menu controller to use arrays Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 0a93a332 by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Allow multiple selection in list-view mode audio group table views Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - e676bc85 by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Adapt VLCLibraryMenuController play method to multiple represented objects Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - a5b902b4 by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Adapt queueing in library menu controller to multiple represented objects Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 0a9b2e9c by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Adapt trashing in library menu controller to multiple represented items Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - c93b9532 by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Ensure we are only displaying local-only menu items if all represented objects are local Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 215fda1d by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Enable multiple selection on album supplementary detail view table view Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - ad7cad98 by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Enable multiple selection in VLXLibraryAlbumTableCellView tableview Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - a44480e8 by Claudio Cambra at 2024-05-28T10:49:23+00:00 macosx: Enable multiple selection in video table view Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 11 changed files: - modules/gui/macosx/UI/VLCLibraryCollectionViewAlbumSupplementaryDetailView.xib - modules/gui/macosx/UI/VLCLibraryWindow.xib - modules/gui/macosx/library/VLCLibraryCollectionViewItem.m - modules/gui/macosx/library/VLCLibraryMenuController.h - modules/gui/macosx/library/VLCLibraryMenuController.m - modules/gui/macosx/library/VLCLibraryTableView.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/VLCLibraryAudioTableViewDelegate.m - modules/gui/macosx/library/media-source/VLCMediaSourceCollectionViewItem.m Changes: = modules/gui/macosx/UI/VLCLibraryCollectionViewAlbumSupplementaryDetailView.xib = @@ -144,7 +144,7 @@ - + = modules/gui/macosx/UI/VLCLibraryWindow.xib = @@ -714,7 +714,7 @@ - + @@ -934,7 +934,7 @@ - + @@ -1028,7 +1028,7
[vlc-commits] [Git][videolan/vlc][master] demux: ts: add delta to PES over aggregation check
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 1bd12377 by François Cartegnie at 2024-05-28T10:00:12+00:00 demux: ts: add delta to PES over aggregation check Works around bogus encoders refs #28649 - - - - - 1 changed file: - modules/demux/mpeg/ts_pes.c Changes: = modules/demux/mpeg/ts_pes.c = @@ -111,7 +111,10 @@ static bool ts_pes_Push( ts_pes_parse_callback *cb, { /* too early unit start resulting from packet loss */ /* or ending on a pkt not belonging to PES (%15 packets loss) */ -i_flags |= BLOCK_FLAG_CORRUPTED; +/* But some encoders can't compute PES size right #28649 :/ */ +if( p_pes->gather.i_gathered < p_pes->gather.i_data_size || +p_pes->gather.i_gathered > p_pes->gather.i_data_size + 16 ) +i_flags |= BLOCK_FLAG_CORRUPTED; } /* Flush the pes from pid */ p_pes->gather.p_data = NULL; View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/1bd1237704119595e9f323b343f33722a9b3438c -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/1bd1237704119595e9f323b343f33722a9b3438c 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: iosvlc: fix ViewController initialization
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: f5c2e565 by Alexandre Janniaux at 2024-05-28T09:09:13+00:00 iosvlc: fix ViewController initialization With the latest available SDK, when run from the simulator, the current code was failing with the following assertion: Assertion failure in UITraitCollection *UIViewControllerMissingInitialTraitCollection(UIViewController *__strong, UIApplicationSystemVersion)(), UIViewController.m:2749 - - - - - 8c0bb3de by Alexandre Janniaux at 2024-05-28T09:09:13+00:00 iosvlc: fix libvlc_InternalPlay call libvlc_InternalPlay expects the vlccore internal libvlc object but the libvlc public one was given instead, leading to crashes. Missing from fae1ff402894c863dbd306bfd40bb1e10395ec85. - - - - - 259d38b0 by Alexandre Janniaux at 2024-05-28T09:09:13+00:00 iosvlc: remove custom plugin path The module bank will load the plugins from the correct location by default since commit 89e90672db4a10243ae802c32272da8c062bc7bb. - - - - - 1 changed file: - test/iosvlc.m Changes: = test/iosvlc.m = @@ -95,10 +95,6 @@ /* Called after application launch */ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { -/* Set VLC_PLUGIN_PATH for dynamic loading */ -NSString *pluginsDirectory = [[NSBundle mainBundle] privateFrameworksPath]; -setenv("VLC_PLUGIN_PATH", [pluginsDirectory UTF8String], 1); - /* Store startup arguments to forward them to libvlc */ NSArray *arguments = [[NSProcessInfo processInfo] arguments]; unsigned vlc_argc = [arguments count] - 1; @@ -118,7 +114,7 @@ /* Initialize main window */ window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; -window.rootViewController = [UIViewController alloc]; +window.rootViewController = [[UIViewController alloc] init]; window.backgroundColor = [UIColor whiteColor]; subview = [[UIView alloc] initWithFrame:window.bounds]; @@ -137,7 +133,7 @@ libvlc_InternalAddIntf(_libvlc->p_libvlc_int, "ios_interface,none"); /* Start parsing arguments and eventual playback */ -libvlc_InternalPlay(_libvlc); +libvlc_InternalPlay(_libvlc->p_libvlc_int); return YES; } View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/fc6b08e88a27fce1f5baa7dbf11180451b0a796b...259d38b084a8a4ebbe4f452f3cc0a77f98751738 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/fc6b08e88a27fce1f5baa7dbf11180451b0a796b...259d38b084a8a4ebbe4f452f3cc0a77f98751738 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: Align menu sliders to view title
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: fc6b08e8 by Dave Nicolson at 2024-05-28T08:47:52+00:00 macosx: Align menu sliders to view title - - - - - 1 changed file: - modules/gui/macosx/UI/MainMenu.xib Changes: = modules/gui/macosx/UI/MainMenu.xib = @@ -1018,7 +1018,7 @@ - + @@ -1077,7 +1077,7 @@ - + @@ -1149,7 +1149,7 @@ - + View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/fc6b08e88a27fce1f5baa7dbf11180451b0a796b -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/fc6b08e88a27fce1f5baa7dbf11180451b0a796b 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: contrib: qt: share the same major.minor between all contribs
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 3df869c9 by Steve Lhomme at 2024-05-28T06:21:07+00:00 contrib: qt: share the same major.minor between all contribs - - - - - 22c6fb66 by Steve Lhomme at 2024-05-28T06:21:07+00:00 contrib: qt: always pass the path to the host tools when cross compiling - - - - - 5954e06a by Steve Lhomme at 2024-05-28T06:21:07+00:00 contrib: qt: factorize the Qt CMake config - - - - - e52b9c0e by Steve Lhomme at 2024-05-28T06:21:07+00:00 contrib: qt: fix native build of qsb We dont need QT_SHADETOOLS_CONFIG. For native builds we should not use QT_HOST_LIBS and we should use QT_HOST_LIBS. - - - - - 7 changed files: - contrib/src/main.mak - contrib/src/qt/rules.mak - contrib/src/qt5compat/rules.mak - contrib/src/qtdeclarative/rules.mak - contrib/src/qtshadertools/rules.mak - contrib/src/qtsvg/rules.mak - contrib/src/qtwayland/rules.mak Changes: = contrib/src/main.mak = @@ -16,6 +16,9 @@ PKGS_ALL := $(patsubst $(SRC)/%/rules.mak,%,$(wildcard $(SRC)/*/rules.mak)) DATE := $(shell date +%Y%m%d) VPATH := $(TARBALLS) +# Default Qt version +QTBASE_VERSION_MAJOR := 6.7 + # Common download locations GNU ?= http://ftp.gnu.org/gnu SF := https://downloads.sourceforge.net/project @@ -25,7 +28,7 @@ VIDEOLAN_GIT := https://git.videolan.org/git GITHUB := https://github.com GOOGLE_CODE := https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com GNUGPG := https://www.gnupg.org/ftp/gcrypt -QT := https://download.qt.io/official_releases/qt +QT := https://download.qt.io/official_releases/qt/$(QTBASE_VERSION_MAJOR) XIPH := https://ftp.osuosl.org/pub/xiph/releases XORG := https://www.x.org/releases/individual @@ -537,6 +540,24 @@ endif MESONCLEAN = rm -rf $(BUILD_DIR)/meson-private MESONBUILD = meson compile -C $(BUILD_DIR) $(MESON_BUILD) && meson install -C $(BUILD_DIR) +# shared Qt config +ifeq ($(call system_tool_majmin, qtpaths6 --query QT_VERSION),$(QTBASE_VERSION_MAJOR)) +# using system Qt native tools +ifdef HAVE_CROSS_COMPILE + QT_HOST_PREFIX := $(shell PATH="${SYSTEM_PATH}" qtpaths6 --query QT_HOST_PREFIX) + QT_HOST_LIBS := $(shell PATH="${SYSTEM_PATH}" qtpaths6 --query QT_HOST_LIBS) + QT_HOST_PATH := -DQT_HOST_PATH=$(QT_HOST_PREFIX) -DQT_HOST_PATH_CMAKE_DIR=$(QT_HOST_LIBS)/cmake +endif +else +# using locally compiled Qt native tools +ifdef HAVE_CROSS_COMPILE + QT_HOST_PREFIX := $(BUILDPREFIX) + QT_HOST_LIBS := $(QT_HOST_PREFIX)/lib + QT_HOST_PATH := -DQT_HOST_PATH=$(QT_HOST_PREFIX) -DQT_HOST_PATH_CMAKE_DIR=$(QT_HOST_LIBS)/cmake +endif +endif +QT_CMAKE_CONFIG := -DCMAKE_TOOLCHAIN_FILE=$(PREFIX)/lib/cmake/Qt6/qt.toolchain.cmake $(QT_HOST_PATH) + ifdef GPL REQUIRE_GPL = else = contrib/src/qt/rules.mak = @@ -1,10 +1,9 @@ # qtbase -QTBASE_VERSION_MAJOR := 6.7 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 +QTBASE_URL := $(QT)/$(QTBASE_VERSION_FULL)/submodules/qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz ifdef HAVE_MACOSX #PKGS += qt @@ -85,8 +84,8 @@ QTBASE_CONFIG += -static -opensource -confirm-license -no-pkg-config -no-openssl -no-feature-syntaxhighlighter -no-feature-undoview -no-feature-splashscreen \ -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) + -nomake examples -prefix $(PREFIX) \ + -- -DCMAKE_TOOLCHAIN_FILE=$(abspath toolchain.cmake) $(QT_HOST_PATH) QTBASE_NATIVE_CONFIG := -DQT_BUILD_EXAMPLES=FALSE -DQT_BUILD_TESTS=FALSE -DFEATURE_pkg_config=OFF \ -DFEATURE_accessibility=OFF -DFEATURE_widgets=OFF -DFEATURE_printsupport=OFF -DFEATURE_androiddeployqt=OFF \ = contrib/src/qt5compat/rules.mak = @@ -1,8 +1,7 @@ # Qt5Compat -QT5COMPAT_VERSION_MAJOR := 6.7 -QT5COMPAT_VERSION := $(QT5COMPAT_VERSION_MAJOR).1 -QT5COMPAT_URL := $(QT)/$(QT5COMPAT_VERSION_MAJOR)/$(QT5COMPAT_VERSION)/submodules/qt5compat-everywhere-src-$(QT5COMPAT_VERSION).tar.xz +QT5COMPAT_VERSION := $(QTBASE_VERSION_MAJOR).1 +QT5COMPAT_URL := $(QT)/$(QT5COMPAT_VERSION)/submodules/qt5compat-everywhere-src-$(QT5COMPAT_VERSION).tar.xz DEPS_qt5compat += qtdeclarative $(DEPS_qtdeclarative) @@ -10,7 +9,7 @@ ifdef HAVE_WIN32 PKGS += qt5compat endif -ifeq ($(call need_pkg,"Qt6Core5Compat >= $(QT5COMPAT_VERSION_MAJOR)"),) +ifeq ($(call need_pkg,"Qt6Core5Compat >= $(QTBASE_VERSION_MAJOR)&quo
[vlc-commits] [Git][videolan/vlc][master] qt: remove moc files that don't generate any code
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: e424c359 by Steve Lhomme at 2024-05-27T12:30:45+00:00 qt: remove moc files that dont generate any code They can be added back later if needed. - - - - - 1 changed file: - modules/gui/qt/Makefile.am Changes: = modules/gui/qt/Makefile.am = @@ -407,13 +407,10 @@ nodist_libqt_plugin_la_SOURCES = \ maininterface/videosurface.moc.cpp \ maininterface/video_window_handler.moc.cpp \ medialibrary/medialib.moc.cpp \ - medialibrary/mlalbum.moc.cpp \ medialibrary/mlalbummodel.moc.cpp \ - medialibrary/mlalbumtrack.moc.cpp \ medialibrary/mlalbumtrackmodel.moc.cpp \ - medialibrary/mlartist.moc.cpp \ medialibrary/mlartistmodel.moc.cpp \ -medialibrary/mlbookmarkmodel.moc.cpp \ + medialibrary/mlbookmarkmodel.moc.cpp \ medialibrary/mlbasemodel.moc.cpp \ medialibrary/mlfoldersmodel.moc.cpp \ medialibrary/mlgenremodel.moc.cpp \ View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/e424c3595c6ccf24241f13e67fdfa44a6b64fcfa -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/e424c3595c6ccf24241f13e67fdfa44a6b64fcfa 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: Fix path control items by creating independent copies of folder image
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: a739e705 by Claudio Cambra at 2024-05-27T09:50:50+00:00 macosx: Fix path control items by creating independent copies of folder image Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - b6d41084 by Claudio Cambra at 2024-05-27T09:50:50+00:00 macosx: Add convenience property to input node path control item for prefix sentence of accessibility description of image Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 4577ba3e by Claudio Cambra at 2024-05-27T09:50:50+00:00 macosx: Provide debug output when no matching input item found for clicked path item Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - cd699323 by Claudio Cambra at 2024-05-27T09:50:50+00:00 macosx: Set accessibility description for input node path control items Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - b02cb3c3 by Claudio Cambra at 2024-05-27T09:50:50+00:00 macosx: Use accessibility description for input node path control items as path control item identifiers The input node path control items are readable strings but can be used as identifiers thanks to the fact the contain the path for the given input node. This is a big ugly hack but we have no other option to make input node path control items identifiable, as we receive different instances from the nspathcontrol that are not our subclass Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 4 changed files: - modules/gui/macosx/library/VLCInputNodePathControl.m - modules/gui/macosx/library/VLCInputNodePathControlItem.h - modules/gui/macosx/library/VLCInputNodePathControlItem.m - modules/gui/macosx/library/media-source/VLCMediaSourceBaseDataSource.m Changes: = modules/gui/macosx/library/VLCInputNodePathControl.m = @@ -30,16 +30,16 @@ { NSParameterAssert(inputNodePathControlItem != nil); NSParameterAssert(inputNodePathControlItem.image != nil); -NSParameterAssert(inputNodePathControlItem.image.name != nil); -NSParameterAssert(![inputNodePathControlItem.image.name isEqualToString:@""]); +NSParameterAssert(inputNodePathControlItem.image.accessibilityDescription != nil); + NSParameterAssert(![inputNodePathControlItem.image.accessibilityDescription isEqualToString:@""]); -if (_inputNodePathControlItems == nil) { +if (self.inputNodePathControlItems == nil) { _inputNodePathControlItems = [NSMutableDictionary dictionary]; } -[_inputNodePathControlItems setObject:inputNodePathControlItem forKey:inputNodePathControlItem.image.name]; +[self.inputNodePathControlItems setObject:inputNodePathControlItem forKey:inputNodePathControlItem.image.accessibilityDescription]; -NSMutableArray *pathItems = [NSMutableArray arrayWithArray:self.pathItems]; +NSMutableArray * const pathItems = [NSMutableArray arrayWithArray:self.pathItems]; [pathItems addObject:inputNodePathControlItem]; self.pathItems = pathItems; } @@ -47,49 +47,49 @@ - (void)removeLastInputNodePathControlItem { if (self.pathItems.count == 0) { -_inputNodePathControlItems = [NSMutableDictionary dictionary]; +_inputNodePathControlItems = NSMutableDictionary.dictionary; return; } -NSMutableArray *pathItems = [NSMutableArray arrayWithArray:self.pathItems]; -NSPathControlItem *lastItem = pathItems.lastObject; +NSMutableArray * const pathItems = [NSMutableArray arrayWithArray:self.pathItems]; +NSPathControlItem * const lastItem = pathItems.lastObject; [pathItems removeLastObject]; self.pathItems = pathItems; -[_inputNodePathControlItems removeObjectForKey:lastItem.image.name]; +[self.inputNodePathControlItems removeObjectForKey:lastItem.image.accessibilityDescription]; } - (void)clearInputNodePathControlItems { -_inputNodePathControlItems = [NSMutableDictionary dictionary]; +_inputNodePathControlItems = NSMutableDictionary.dictionary; self.pathItems = @[]; } - (void)clearPathControlItemsAheadOf:(NSPathControlItem *)item { -if ([item.image.name isEqualToString:@""]) { +if ([item.image.accessibilityDescription isEqualToString:@""]) { return; } -NSUInteger indexOfItem = [self.pathItems indexOfObjectPassingTest:^BOOL(NSPathControlItem *searchItem, NSUInteger idx, BOOL *stop) { -return [searchItem.image.name isEqualToString:item.image.name]; +const NSUInteger indexOfItem = [self.pathItems indexOfObjectPassingTest:^BOOL(NSPathControlItem * const searchItem, const NSUInteger idx, BOOL * const stop) { +return [searchItem.image.accessibilityDescription isEqualToString:item.image.accessibilityDescription]; }]; if (indexOfItem == NSNotFound) { return; } -NSMutableArray *pathItems = [NSMutableArray arra
[vlc-commits] [Git][videolan/vlc][master] package/macos: Change SDK capitalization
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 1d4b4e52 by Dave Nicolson at 2024-05-26T05:25:50+00:00 package/macos: Change SDK capitalization - - - - - 1 changed file: - extras/package/macosx/build.sh Changes: = extras/package/macosx/build.sh = @@ -35,7 +35,7 @@ OPTIONS: n: nightly u: unsigned stripped release archive z: zip - -k Use the specified sdk (default: $SDKROOT) + -k Use the specified SDK (default: $SDKROOT) -a Use the specified arch (default: $HOST_ARCH) -CUse the specified VLC build dir -b Enable breakpad support and send crash reports to this URL View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/1d4b4e528dcf72df44b09df9bc41869d96e44017 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/1d4b4e528dcf72df44b09df9bc41869d96e44017 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: contrib: use a specific HOSTVARS for CMake
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 4e0f9528 by Steve Lhomme at 2024-05-25T17:59:59+02:00 contrib: use a specific HOSTVARS for CMake Just like meson, some flags may be left to CMake to pick the right values for the compiler/linker. - - - - - 5110897b by Steve Lhomme at 2024-05-25T17:59:59+02:00 contrib: dvbcsa: dont build test programs - - - - - a44210f6 by Steve Lhomme at 2024-05-25T17:59:59+02:00 contrib: add C/CXX variants for AR/RANLIB Its not automatically picked from CMAKE_AR/CMAKE_RANLIB. - - - - - 232d0a2c by Steve Lhomme at 2024-05-25T17:59:59+02:00 package/win32: use the mingw-llvm ar/ranlib If a regular gcc toolchain is also in the path the gcc-ar/gcc-ranlib variants will be used. We want to use the one coming with the mingw-llvm toolchain. - - - - - bd9b8855 by Steve Lhomme at 2024-05-25T17:59:59+02:00 contrib: vulkan-header: remove unused options This options dont exist in 1.3.211. - - - - - 48abf7bd by Steve Lhomme at 2024-05-25T17:59:59+02:00 contrib: gen-meson-crossfile: provide our custom ranlib Its often paired with ar. - - - - - c0d8f871 by Steve Lhomme at 2024-05-25T17:59:59+02:00 contrib: qt: use the proper Qt configure flag for RelWithDebInfo - - - - - 30 changed files: - contrib/src/aom/rules.mak - contrib/src/chromaprint/rules.mak - contrib/src/dvbcsa/rules.mak - contrib/src/ebml/rules.mak - contrib/src/flac/rules.mak - contrib/src/fluid/rules.mak - contrib/src/fluidlite/rules.mak - contrib/src/freetype2/rules.mak - contrib/src/gen-cmake-toolchain.py - contrib/src/gen-meson-machinefile.py - contrib/src/glew/rules.mak - contrib/src/glslang/rules.mak - contrib/src/gme/rules.mak - contrib/src/jpeg/rules.mak - contrib/src/libarchive/rules.mak - contrib/src/libaribcaption/rules.mak - contrib/src/libebur128/rules.mak - contrib/src/libxml2/rules.mak - contrib/src/main.mak - contrib/src/matroska/rules.mak - contrib/src/mpcdec/rules.mak - contrib/src/mysofa/rules.mak - contrib/src/nfs/rules.mak - contrib/src/ogg/rules.mak - contrib/src/openjpeg/rules.mak - contrib/src/png/rules.mak - contrib/src/projectM/rules.mak - contrib/src/protobuf/rules.mak - contrib/src/qt/rules.mak - contrib/src/qt5compat/rules.mak The diff was not included because it is too large. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1a2dfb8b7f53c07ae1c644c5fae1d1c5da59a96f...c0d8f87113ae988c4ae4abaa08e1d4411597038a -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1a2dfb8b7f53c07ae1c644c5fae1d1c5da59a96f...c0d8f87113ae988c4ae4abaa08e1d4411597038a 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] 8 commits: contrib: jpeg: update to 3.0.3 and don't install executables
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: afac356c by Steve Lhomme at 2024-05-25T10:49:51+00:00 contrib: jpeg: update to 3.0.3 and dont install executables They make the prebuilt tarballs bigger and we never use them. - - - - - b4450a59 by Steve Lhomme at 2024-05-25T10:49:51+00:00 contrib: live555: rename global SUBDIRS variable - - - - - c548ff62 by Steve Lhomme at 2024-05-25T10:49:51+00:00 contrib: gettext: update to 0.22.5 - - - - - 5b154d9b by Steve Lhomme at 2024-05-25T10:49:51+00:00 contrib: gettext: dont build command-line tools when cross-compiling We may need a separate target for the native tools. - - - - - afff6353 by Steve Lhomme at 2024-05-25T10:49:51+00:00 contrib: gcrypt: dont build command-line tools when cross-compiling It builds faster and makes prebuilt tarballs smaller. - - - - - b5cfbf6e by Steve Lhomme at 2024-05-25T10:49:51+00:00 contrib: schroedinger: compile the same core in native and cross-compiled builds - - - - - 71eed78d by Steve Lhomme at 2024-05-25T10:49:51+00:00 contrib: orc: only build/install the library - - - - - 1a2dfb8b by Steve Lhomme at 2024-05-25T10:49:51+00:00 contrib: goom: bypass MMX checks and assume its there And no other acceleration, which we didnt use anyway. - - - - - 11 changed files: - contrib/src/gcrypt/rules.mak - contrib/src/gettext/SHA512SUMS - contrib/src/gettext/rules.mak - + contrib/src/goom/goom2k4-mmx-only.patch - contrib/src/goom/rules.mak - contrib/src/jpeg/SHA512SUMS - contrib/src/jpeg/rules.mak - contrib/src/live555/rules.mak - contrib/src/orc/rules.mak - contrib/src/schroedinger/rules.mak - + contrib/src/schroedinger/schroedinger-disable-orcc.patch Changes: = contrib/src/gcrypt/rules.mak = @@ -22,6 +22,10 @@ gcrypt: libgcrypt-$(GCRYPT_VERSION).tar.bz2 .sum-gcrypt # don't use getpid in UWP as it's not actually available $(APPLY) $(SRC)/gcrypt/gcrypt-uwp-getpid.patch +ifdef HAVE_CROSS_COMPILE + # disable cross-compiled command line tools that can't be run + sed -i.orig -e 's,^bin_PROGRAMS ,bin_PROGRAMS_disabled ,g' $(UNPACK_DIR)/src/Makefile.am +endif $(MOVE) = contrib/src/gettext/SHA512SUMS = @@ -1 +1 @@ -e2a58dde1cae3e6b79c03e7ef3d888f7577c1f4cba283b3b0f31123ceea8c33d7c9700e83de57104644de23e5f5c374868caa0e091f9c45edbbe87b98ee51c04 gettext-0.22.tar.gz +d8b22d7fba10052a2045f477f0a5b684d932513bdb3b295c22fbd9dfc2a9d8fccd9aefd90692136c62897149aa2f7d1145ce6618aa1f0be787cb88eba5bc09be gettext-0.22.5.tar.gz = contrib/src/gettext/rules.mak = @@ -1,5 +1,5 @@ # gettext -GETTEXT_VERSION := 0.22 +GETTEXT_VERSION := 0.22.5 GETTEXT_URL := $(GNU)/gettext/gettext-$(GETTEXT_VERSION).tar.gz ifndef HAVE_WINSTORE # FIXME uses sys/socket.h improperly @@ -15,6 +15,8 @@ $(TARBALLS)/gettext-$(GETTEXT_VERSION).tar.gz: .sum-gettext: gettext-$(GETTEXT_VERSION).tar.gz +GETTEXT_TOOLS_DIRS := gettext-runtime/src gettext-tools/src + gettext: gettext-$(GETTEXT_VERSION).tar.gz .sum-gettext $(UNPACK) # disable libtextstyle @@ -30,6 +32,13 @@ gettext: gettext-$(GETTEXT_VERSION).tar.gz .sum-gettext sed -i.orig -e 's,doc ,,' $(UNPACK_DIR)/gettext-runtime/Makefile.in sed -i.orig -e 's,po man m4 tests,,' $(UNPACK_DIR)/gettext-runtime/Makefile.in sed -i.orig -e 's,doc ,,' $(UNPACK_DIR)/gettext-runtime/Makefile.in +ifdef HAVE_CROSS_COMPILE + # disable cross-compiled command line tools that can't be run + sed -i.orig -e 's,install-binPROGRAMS install-exec-local,,' $(UNPACK_DIR)/gettext-tools/src/Makefile.in + for subdir in $(GETTEXT_TOOLS_DIRS); do \ + sed -i.orig -e 's,^bin_PROGRAMS = ,bin_PROGRAMS_disabled = ,g' $(UNPACK_DIR)/$$subdir/Makefile.in && \ + sed -i.orig -e 's,^noinst_PROGRAMS = ,noinst_PROGRAMS_disabled = ,g' $(UNPACK_DIR)/$$subdir/Makefile.in; done +endif $(MOVE) DEPS_gettext = iconv $(DEPS_iconv) libxml2 $(DEPS_libxml2) = contrib/src/goom/goom2k4-mmx-only.patch = @@ -0,0 +1,29 @@ +--- goom/src/mmx.h.orig2024-05-24 10:28:08.890273700 +0200 goom/src/mmx.h 2024-05-24 10:28:33.482644400 +0200 +@@ -27,6 +27,8 @@ + #ifndef _MMX_H + #define _MMX_H + ++#define HAVE_FORCE_MMX 1 ++ + #include "goom_graphic.h" + + /*Warning: at this writing, the version of GAS packaged +@@ -63,6 +65,9 @@ typedef union { + static int + mm_support(void) + { ++#ifdef HAVE_FORCE_MMX ++ return 0x1; // MMX only ++#else /* HAVE_FORCE_MMX */ + /* Returns 1 if MMX instructions are supported, + 3 if Cyrix MMX and Extended MMX instructions are supported + 5 if AMD MMX and 3DNow! instructions are supported +@@ -223,6 +228,7 @@ mm_support(void) +
[vlc-commits] [Git][videolan/vlc][master] 3 commits: configure: prioritize the system qtpaths6
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 936ccbcd by Steve Lhomme at 2024-05-25T07:27:28+00:00 configure: prioritize the system qtpaths6 For native build its important to get that one. For other builds, we pass the qtconf file anyway, it doesnt matter which one is used. Co-authored-by: Fatih Uzunoglu fuzu...@outlook.com - - - - - 391a6bb9 by Steve Lhomme at 2024-05-25T07:27:28+00:00 configure: add an option to force the qtconf used By default we use the contrib one if its there, or we let qtpaths6 decide. - - - - - 462f1852 by Steve Lhomme at 2024-05-25T07:27:28+00:00 meson: remove stray qtvlcdeps dependency - - - - - 2 changed files: - configure.ac - modules/gui/qt/meson.build Changes: = configure.ac = @@ -3973,16 +3973,24 @@ have_qt_core_private="no" have_fxc="no" AS_IF([test "${enable_qt}" != "no"], [ have_qt="yes" - AC_PATH_PROGS(QTPATHS6, [qtpaths6], qtpaths6, ["${CONTRIB_DIR}/../bin:$PATH"]) - - QT_PATHS=${QTPATHS6} - AC_MSG_CHECKING([if contribs provide target_qt.conf]) - AS_IF([test -e "${CONTRIB_DIR}/bin/target_qt.conf"], [ - QT_CONF=${CONTRIB_DIR}/bin/target_qt.conf - QT_PATHS="${QT_PATHS} --qtconf ${QT_CONF}" + AC_PATH_PROGS(QTPATHS6, [qtpaths6], qtpaths6, ["$PATH:${CONTRIB_DIR}/../bin"]) + + AC_ARG_WITH([qtconf], +AS_HELP_STRING([--with-qtconf=PATH], [location of Qt6 qt.conf file (auto)]) + ) + AS_IF([test -z "${with_qtconf}"], [ +AC_MSG_CHECKING([if contribs provide target_qt.conf]) +AS_IF([test -e "${CONTRIB_DIR}/bin/target_qt.conf"], [ + with_qtconf=${CONTRIB_DIR}/bin/target_qt.conf AC_MSG_RESULT([yes]) - ],[ +],[ AC_MSG_RESULT([no]) +]) + ]) + + QT_PATHS=${QTPATHS6} + AS_IF([test -n "${with_qtconf}"], [ +QT_PATHS="${QT_PATHS} --qtconf ${with_qtconf}" ]) QT_MINIMUM_VERSION=6.2 @@ -4000,8 +4008,8 @@ AS_IF([test "${enable_qt}" != "no"], [ QT_BIN_DIRECTORY="$(${QT_PATHS} --query QT_HOST_BINS 2>/dev/null)" QMAKE="${QT_BIN_DIRECTORY}/qmake" - AS_IF([test -n "${QT_CONF}"],[ - QMAKE="${QMAKE} -qtconf ${QT_CONF}" + AS_IF([test -n "${with_qtconf}"],[ + QMAKE="${QMAKE} -qtconf ${with_qtconf}" ]) AC_MSG_NOTICE([using ${QMAKE}]) @@ -4055,10 +4063,10 @@ AS_IF([test "${enable_qt}" != "no"], [ ]) AC_CHECK_PROGS(PYTHON3, [python3], [no]) - AC_MSG_CHECKING([if required Qt plugins are installed with ${QTPATHS6} and conf ${QT_CONF}]) + AC_MSG_CHECKING([if required Qt plugins are installed with ${QTPATHS6} and conf ${with_qtconf}]) AS_IF([test "$PYTHON3" != "no" && ${PYTHON3} ${srcdir}/buildsystem/check_qml_module.py \ --qtpaths "${QTPATHS6}" \ ---qtconf "${QT_CONF}" \ +--qtconf "${with_qtconf}" \ --modules \ QtQml.Models="" \ QtQml.WorkerScript="" \ @@ -4080,7 +4088,7 @@ AS_IF([test "${enable_qt}" != "no"], [ AS_IF([test $ac_status = 0 && test -f ${ac_pwd}/modules/gui/qt/qmake-quicktest],[ AS_IF([test "$PYTHON3" != "no" && ${PYTHON3} ${srcdir}/buildsystem/check_qml_module.py \ --qtpaths "${QTPATHS6}" \ ---qtconf "${QT_CONF}" \ +--qtconf "${with_qtconf}" \ --modules QtTest="" \ >_MESSAGE_FD ], [ echo 'get_cflags:' >> ${ac_pwd}/modules/gui/qt/qmake-quicktest = modules/gui/qt/meson.build = @@ -567,16 +567,6 @@ if qt6_dep.found() subdir('shaders') # Qt plugins -qt_static_check = ''' -#include -#ifndef QT_STATIC -#error Qt using shared libraries -#endif -''' -if cpp.compiles(qt_static_check, dependencies: qt6_dep, name: 'Qt6 compiled with static libraries') -qt_extra_deps += dependency('qtvlcdeps', required: true) -endif - if host_system == 'windows' qt_extra_deps += [ cc.find_library('dwmapi'), View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1910bdd991d0c1729599656b686758086268fb1e...462f18522399089b9dfc5e5cd4559e1518c74b4f -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1910bdd991d0c1729599656b686758086268fb1e...462f18522399089b9dfc5e5cd4559e1518c74b4f 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] configure.ac: remove aligned_alloc from darwin
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 1910bdd9 by Alexandre Janniaux at 2024-05-25T06:56:07+00:00 configure.ac: remove aligned_alloc from darwin aligned_alloc() from Darwin doesnt pass the alignment tests but is still detected since its usable. This commit always fallback on the compat version to ensure we build a version which passes the tests. - - - - - 1 changed file: - configure.ac Changes: = configure.ac = @@ -167,6 +167,7 @@ case "${host_os}" in ;; darwin*) SYS=darwin +ac_cv_func_aligned_alloc=no dnl Work around an Xcode 11 bug, fixed in Xcode 11.3.1 AX_APPEND_FLAG([-fno-stack-check], [CFLAGS]) View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/1910bdd991d0c1729599656b686758086268fb1e -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/1910bdd991d0c1729599656b686758086268fb1e 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 inverted z/w in RectFilter.frag
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: a57993ce by Fatih Uzunoglu at 2024-05-25T06:31:29+00:00 qt: fix inverted z/w in RectFilter.frag - - - - - 1 changed file: - modules/gui/qt/shaders/RectFilter.frag Changes: = modules/gui/qt/shaders/RectFilter.frag = @@ -30,8 +30,8 @@ layout(binding = 1) uniform sampler2D source; void main() { -if (((qt_TexCoord0.x >= discardRect.x && qt_TexCoord0.x <= discardRect.w) && -(qt_TexCoord0.y >= discardRect.y && qt_TexCoord0.y <= discardRect.z))) +if (((qt_TexCoord0.x >= discardRect.x && qt_TexCoord0.x <= discardRect.z) && +(qt_TexCoord0.y >= discardRect.y && qt_TexCoord0.y <= discardRect.w))) discard; highp vec4 texel = texture(source, qt_TexCoord0); View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/a57993cede06eb836d474d7db87e33cfb09f56cb -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/a57993cede06eb836d474d7db87e33cfb09f56cb 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: qml: fix coding style
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 39bb942a by Prince Gupta at 2024-05-24T13:10:37+00:00 qml: fix coding style - - - - - 1e9c0cf4 by Prince Gupta at 2024-05-24T13:10:37+00:00 qml: fix picture overlay of genre view scoping and generic name of root grid item of this view was causing invalid object access in this view fix: use direct parent as reference for size NOTE: changing the name of parent grid item also fixes this issue - - - - - 7ab0776c by Prince Gupta at 2024-05-24T13:10:37+00:00 qml: dont use generic name for delegate this causes scope resolution errors for child components - - - - - 1 changed file: - modules/gui/qt/medialibrary/qml/MusicGenres.qml Changes: = modules/gui/qt/medialibrary/qml/MusicGenres.qml = @@ -127,7 +127,7 @@ MainInterface.MainViewLoader { headerDelegate: root.header delegate: Widgets.GridItem { -id: item +id: genreGridDelegate property var model: ({}) property int index: -1 @@ -146,7 +146,7 @@ MainInterface.MainViewLoader { dragItem: genreDragItem onItemDoubleClicked: (_,_,modifier) => { root.showAlbumView(model.id, model.name, Qt.MouseFocusReason) } -onItemClicked: (_,_,modifier) => { gridView_id.leftClickOnItem(modifier, item.index) } +onItemClicked: (_,_,modifier) => { gridView_id.leftClickOnItem(modifier, genreGridDelegate.index) } onPlayClicked: { if (model.id) @@ -159,8 +159,9 @@ MainInterface.MainViewLoader { } pictureOverlay: Item { -Rectangle -{ +id: overlay + +Rectangle { anchors.fill: parent radius: VLCStyle.gridCover_radius @@ -176,17 +177,17 @@ MainInterface.MainViewLoader { //FIXME use the right xxxLabel class T.Label { - width: item.width - elide: Text.ElideRight - font.pixelSize: VLCStyle.fontSize_large - font.weight: Font.DemiBold - text: model.name || qsTr("Unknown genre") - color: "white" - horizontalAlignment: Text.AlignHCenter +width: overlay.width +elide: Text.ElideRight +font.pixelSize: VLCStyle.fontSize_large +font.weight: Font.DemiBold +text: model.name || qsTr("Unknown genre") +color: "white" +horizontalAlignment: Text.AlignHCenter } Widgets.CaptionLabel { -width: item.width +width: overlay.width text: model.nb_tracks > 1 ? qsTr("%1 Tracks").arg(model.nb_tracks) : qsTr("%1 Track").arg(model.nb_tracks) opacity: .7 color: "white" View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/d5de42f4810d33d39d89cf84ea2ecf6e6053111f...7ab0776c2a11fdf242fafb29e57344014037648b -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/d5de42f4810d33d39d89cf84ea2ecf6e6053111f...7ab0776c2a11fdf242fafb29e57344014037648b 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: VLCMediaSource: fix typo
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: b3c18144 by Alexandre Janniaux at 2024-05-24T11:38:25+00:00 VLCMediaSource: fix typo - - - - - d5de42f4 by Alexandre Janniaux at 2024-05-24T11:38:25+00:00 VLCMediaSource: check file:// for file browsing An INPUT_TYPE_DIRECTORY might not match with an MRL supported by the CoreFoundation API. The code handling the file browsing is made for local file browsing at locations that are not exposed by services discovery. Ensure file:// is the scheme used for the MRL to trigger this browsing code. This is not 100% compliant since it doesnt account for a demux but theres probably no reason to have a demux there, and no occurrence to that day. This avoid bypassing the vlc_media_source/media_tree preparsing when the source has been reported as INPUT_TYPE_DIRECTORY. - - - - - 1 changed file: - modules/gui/macosx/library/media-source/VLCMediaSource.m Changes: = modules/gui/macosx/library/media-source/VLCMediaSource.m = @@ -249,7 +249,7 @@ static const char *const myFoldersDescription = "My Folders"; - (void)preparseInputNodeWithinTree:(VLCInputNode *)inputNode { if(!inputNode) { -NSLog(@"Could not preparese input node, is null."); +NSLog(@"Could not preparse input node, is null."); return; } @@ -261,7 +261,8 @@ static const char *const myFoldersDescription = "My Folders"; return; } -if (inputNode.inputItem.inputType == ITEM_TYPE_DIRECTORY) { +if (inputNode.inputItem.inputType == ITEM_TYPE_DIRECTORY && +[inputNode.inputItem.MRL hasPrefix:@"file://"]) { input_item_node_t *vlcInputNode = inputNode.vlcInputItemNode; NSURL *dirUrl = [NSURL URLWithString:inputNode.inputItem.MRL]; View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/9f2c91e961658b08b882d6cf11a90b8b0c9ee331...d5de42f4810d33d39d89cf84ea2ecf6e6053111f -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/9f2c91e961658b08b882d6cf11a90b8b0c9ee331...d5de42f4810d33d39d89cf84ea2ecf6e6053111f 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 "qt: show quick window after the user interface is loaded successfully in compositor_dcomp"
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 661f9e5d by Fatih Uzunoglu at 2024-05-24T10:52:19+00:00 Revert qt: show quick window after the user interface is loaded successfully in compositor_dcomp This reverts commit b6da2c77cc274aa248a2b7d6489bbdcc7739827b. - - - - - 9f2c91e9 by Fatih Uzunoglu at 2024-05-24T10:52:19+00:00 qt: show quick window after the user interface is loaded successfully in compositor_dcomp - - - - - 1 changed file: - modules/gui/qt/maininterface/compositor_dcomp.cpp Changes: = modules/gui/qt/maininterface/compositor_dcomp.cpp = @@ -237,15 +237,11 @@ bool CompositorDirectComposition::makeMainInterface(MainCtx* mainCtx) connect(quickViewPtr, ::sceneGraphInitialized, , -[, , quickViewPtr]() { +[, ]() { if (!(QQuickWindow::graphicsApi() == QSGRendererInterface::Direct3D11 || QQuickWindow::graphicsApi() == QSGRendererInterface::Direct3D12)) { appropriateGraphicsApi = false; } -else -{ -quickViewPtr->show(); -} eventLoop.quit(); }, Qt::SingleShotConnection); @@ -264,6 +260,11 @@ bool CompositorDirectComposition::makeMainInterface(MainCtx* mainCtx) const bool ret = commonGUICreate(quickViewPtr, quickViewPtr, flags); +if (ret) +m_quickView->show(); +else +return false; + if (!m_quickView->isSceneGraphInitialized()) eventLoop.exec(); return (ret && appropriateGraphicsApi); View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/3a165dacebe8bdf6b7f758efd9ec927ae7b91ac7...9f2c91e961658b08b882d6cf11a90b8b0c9ee331 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/3a165dacebe8bdf6b7f758efd9ec927ae7b91ac7...9f2c91e961658b08b882d6cf11a90b8b0c9ee331 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] doc: remove obsolete --advanced option
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 3a165dac by Olaf Hering at 2024-05-24T06:06:16+00:00 doc: remove obsolete --advanced option Fixes commit 6a7a137f7b3ce19e25bedf0d2ffc4c6ef9d45121 Signed-off-by: Olaf Hering o...@aepfle.de - - - - - 1 changed file: - doc/vlc.1 Changes: = doc/vlc.1 = @@ -35,7 +35,7 @@ For a precise description of options, please use "vlc \-\-help". The complete list of .B VLC options depends on what plugins are installed because they automatically -add their own options. Please use "vlc \-\-longhelp \-\-advanced" for a +add their own options. Please use "vlc \-\-longhelp" for a complete list of available options. .SH ITEMS View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3a165dacebe8bdf6b7f758efd9ec927ae7b91ac7 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3a165dacebe8bdf6b7f758efd9ec927ae7b91ac7 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] 22 commits: configure: check disabled enable_qt at the very end
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 9dc51f66 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: check disabled enable_qt at the very end There is more than one places where qt support can be disabled. - - - - - 184c73ba by Steve Lhomme at 2024-05-23T12:08:24+00:00 Revert contrib: qtvlcdeps: use cmake to generate dependencies instead of qmake This reverts commit dea2eede25647f8a8e340898fb7d1bfb03285a41. - - - - - b5b229e6 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: get the static libraries needed by Qt6 from qmake Rather than our custom qtvlcdeps - - - - - eaa2e02b by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: dont check QML module imports with qmake We have a separate check for QML modules availability. - - - - - 8fe1862e by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: rely more on qtpaths6 to get Qt pathes We assume all Qt modules use the same version and are installed in the same prefix. qtpaths6 (or qmake6) cannot tell the difference, so its unlikely people would do that. That might be possible on a system that relies on CMake and doesnt provide qmake. - - - - - 2dd056de by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: check the Qt version reported by qtpaths - - - - - c110a85c by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: get Qt6 CFLAGS from qmake - - - - - 9fc6ea3c by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: detect private Qt6 Core using qmake Its faster than compiling a file. - - - - - cdb60a77 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: detect private Qt6 GUI using qmake Its faster than compiling a file. - - - - - 20d63bd8 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: detect private Qt6 Quick using qmake Its faster than compiling a file. - - - - - c434cc16 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: remove empty section to compile private headers - - - - - ce1e02d0 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: detect Qt6 QuickTest using qmake Rather than using pkgconfig and a python script. - - - - - e5546bc0 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: detect private Qt6 Wayland Client using qmake - - - - - 02a35d27 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: check availability of Qt modules using qmake - - - - - a6310130 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: remove unused check for static libraries - - - - - 9b415804 by Steve Lhomme at 2024-05-23T12:08:24+00:00 qt: remove unused QPNI_HEADER define Its neither used in VLC nor in Qt headers. - - - - - 38321154 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: dont expose the Qt version number qmake will provide the proper private includes to use - - - - - 4ae42ebb by Steve Lhomme at 2024-05-23T12:08:24+00:00 contrib: qtwayland: build if qt is selected on Linux Thats the same condition as qtvlcdeps. - - - - - 68957d42 by Steve Lhomme at 2024-05-23T12:08:24+00:00 contrib: qt: disable generating .pc files We dont use them anymore - - - - - f6e3ef02 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: remove write-only QT_INCLUDE_DIRECTORY - - - - - dfa427ed by Steve Lhomme at 2024-05-23T12:08:24+00:00 qt: remove unused QT5_PLUGINS_LIBS - - - - - 502824e3 by Steve Lhomme at 2024-05-23T12:08:24+00:00 configure: make Qt logs less verbose Only show the qmake command once. - - - - - 16 changed files: - configure.ac - − contrib/src/qt/0002-Try-to-generate-pkgconfig-pc-files-in-static-build.patch - contrib/src/qt/rules.mak - − contrib/src/qtvlcdeps/CMakeLists.txt - − contrib/src/qtvlcdeps/Imports.qml - − contrib/src/qtvlcdeps/qtvlcdeps.pc.in - − contrib/src/qtvlcdeps/rules.mak - contrib/src/qtwayland/rules.mak - modules/gui/qt/Makefile.am - modules/gui/qt/meson.build - + modules/gui/qt/private-core.pro - + modules/gui/qt/private-gui.pro - + modules/gui/qt/private-quick.pro - + modules/gui/qt/qt6.pro - + modules/gui/qt/quicktest.pro - + modules/gui/qt/wayland.pro Changes: = configure.ac = @@ -3971,54 +3971,79 @@ have_qt_gui_private="no" have_qt_core_private="no" have_fxc="no" AS_IF([test "${enable_qt}" != "no"], [ - dnl Note that Qt < 6.2.5 does not provide pc files! + have_qt="yes" + AC_PATH_PROGS(QTPATHS6, [qtpaths6], qtpaths6, ["${CONTRIB_DIR}/../bin:$PATH"]) + + QT_PATHS=${QTPATHS6} + AC_MSG_CHECKING([if contribs provide target_qt.conf]) + AS_IF([test -e "${CONTRIB_DIR}/bin/target_qt.conf"], [ + QT_CONF=${CONTRIB_DIR}/bin/target_qt.conf + QT_PATHS="${QT_PATHS} --qtconf ${QT_CONF}" + AC_MSG_RESULT([yes]) + ],[ + AC_MSG_RESULT([no]) + ]) + QT_MINIMUM_VERSION=6.2 - PKG_CHECK_MODULES([QT], m4_foreach([pkg], [ - Qt6Core Qt6Widgets Qt6Gui Qt6Qml Qt6QmlModels Qt6QmlWorkerScript - Qt6Quick Qt6QuickCo
[vlc-commits] [Git][videolan/vlc][master] adaptive: MovingAverage: fix template-id warning
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: f55efcc5 by Alexandre Janniaux at 2024-05-23T10:48:55+00:00 adaptive: MovingAverage: fix template-id warning In file included from ../../modules/demux/adaptive/logic/RateBasedAdaptationLogic.h:29, from ../../modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:28: ../../modules/demux/adaptive/logic/../tools/MovingAverage.hpp:32:33: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 32 | MovingAverageSumT(T i): sum(0), prev(i) { } | ^ ../../modules/demux/adaptive/logic/../tools/MovingAverage.hpp:32:33: note: remove the ‘ ’ - - - - - 1 changed file: - modules/demux/adaptive/tools/MovingAverage.hpp Changes: = modules/demux/adaptive/tools/MovingAverage.hpp = @@ -29,7 +29,7 @@ namespace adaptive class MovingAverageSum { public: -MovingAverageSum(T i): sum(0), prev(i) { } +MovingAverageSum(T i): sum(0), prev(i) { } void operator()(T n) { sum += (n > prev) ? n - prev : prev - n; prev = n; View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/f55efcc5939725f4610cd07ecb8af65ff528bc7d -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/f55efcc5939725f4610cd07ecb8af65ff528bc7d 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: asdcplib: Apply a patch to fix compilation with latest Clang
Steve Lhomme pushed to branch 3.0.x at VideoLAN / VLC Commits: ebb15e32 by Martin Storsjö at 2024-05-22T13:04:23+03:00 contrib: asdcplib: Apply a patch to fix compilation with latest Clang The asdcplib code contains a C++ template which refers to member variables that doesnt exist. Earlier, this hasnt been an issue, as the C++ template never is instantiated, but current Clang versions (the upcoming 19.x version) diagnoses such issues already before the class is instantiated, leading to compilation errors on the asdcplib code. This applies https://github.com/cinecert/asdcplib/pull/137 (which hasnt yet received any attention), fixing https://github.com/cinecert/asdcplib/issues/136. (cherry picked from commit c481befc9796ed57606d5fd7cba18449702d4cc2) - - - - - 2 changed files: - + contrib/src/asdcplib/0001-Remove-a-broken-unused-template-class.patch - contrib/src/asdcplib/rules.mak Changes: = contrib/src/asdcplib/0001-Remove-a-broken-unused-template-class.patch = @@ -0,0 +1,64 @@ +From ecbe9cac1fe74a6fcb42857f57ebd6930d6e8c62 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Mon, 6 May 2024 13:33:14 +0300 +Subject: [PATCH] Remove a broken, unused template class + +Since Clang changes +https://github.com/llvm/llvm-project/pull/84050 and +https://github.com/llvm/llvm-project/pull/90152 (upcoming in +Clang 19.x), Clang will diagnose member accesses before instantiating +C++ templates. + +Within the optional_container_property template, this causes errors +for the calls to this->Copy() and this->clear(), as there are no +corresponding methods within that template class. + +This template is unused, and these faulty calls have been present +since the class was added in 02915821cfb49cb6851086f5d991cee58328102b. + +Simply remove the unused template class, to avoid these compiler +errors. + +This fixes https://github.com/cinecert/asdcplib/issues/136. +--- + src/MXF.h | 24 + 1 file changed, 24 deletions(-) + +diff --git a/src/MXF.h b/src/MXF.h +index 8ce77e1..32422b2 100755 +--- a/src/MXF.h b/src/MXF.h +@@ -263,30 +263,6 @@ namespace ASDCP + const PropertyType& const_get() const { return m_property; } + }; + +- // wrapper object manages optional properties +- template +- class optional_container_property +- { +-PropertyType m_property; +- +- public: +-optional_container_property() {} +- optional_container_property(const PropertyType& value) : m_property(value) {} +-const optional_container_property& operator=(const PropertyType& rhs) { +- this->Copy(rhs.m_property); +- return *this; +-} +- +-bool operator==(const PropertyType& rhs) const { return this->m_property == rhs; } +-bool operator==(const optional_property& rhs) const { return this->m_property == rhs.m_property; } +-operator PropertyType&() { return this->m_property; } +-void set(const PropertyType& rhs) { this->m_property = rhs; } +-void reset(const PropertyType& rhs) { this->clear(); } +-bool empty() const { return ! this->m_property.HasValue(); } +-PropertyType& get() { return m_property; } +-const PropertyType& const_get() const { return m_property; } +- }; +- + // base class of all metadata objects + // + class InterchangeObject : public ASDCP::KLVPacket +-- +2.34.1 + = contrib/src/asdcplib/rules.mak = @@ -30,6 +30,7 @@ asdcplib: asdcplib-$(ASDCPLIB_VERSION).tar.gz .sum-asdcplib $(APPLY) $(SRC)/asdcplib/adding-pkg-config-file.patch $(APPLY) $(SRC)/asdcplib/win32-cross-compilation.patch $(APPLY) $(SRC)/asdcplib/win32-dirent.patch + $(APPLY) $(SRC)/asdcplib/0001-Remove-a-broken-unused-template-class.patch $(MOVE) DEPS_asdcplib = nettle $(DEPS_nettle) View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ebb15e320995afa9ea5620b81f8d958eb21a7289 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ebb15e320995afa9ea5620b81f8d958eb21a7289 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: avahi: use ARRAY_SIZE when suited
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 1842e661 by Alexandre Janniaux at 2024-05-23T09:44:18+00:00 avahi: use ARRAY_SIZE when suited - - - - - 73dd4d7c by Alexandre Janniaux at 2024-05-23T09:44:18+00:00 avahi: use size_t for subscripting - - - - - 4d790396 by Alexandre Janniaux at 2024-05-23T09:44:18+00:00 microdns: use ARRAY_SIZE when suited - - - - - c921bd77 by Alexandre Janniaux at 2024-05-23T09:44:18+00:00 microdns: use size_t for subscripting - - - - - 2 changed files: - modules/services_discovery/avahi.c - modules/services_discovery/microdns.c Changes: = modules/services_discovery/avahi.c = @@ -100,7 +100,6 @@ static const struct { "rtsp", "_rtsp._tcp", false }, { "chromecast", "_googlecast._tcp", true }, }; -#define NB_PROTOCOLS (sizeof(protocols) / sizeof(*protocols)) static char* get_string_list_value( AvahiStringList* txt, const char* key ) { @@ -269,7 +268,7 @@ static void resolve_callback( msg_Dbg( p_sys->parent, "service '%s' of type '%s' in domain '%s' port %i", name, type, domain, port ); -avahi_address_snprint(a, (sizeof(a)/sizeof(a[0]))-1, address); +avahi_address_snprint(a, sizeof(a)-1, address); if( protocol == AVAHI_PROTO_INET6 ) if( asprintf( _addr, "[%s]", a ) == -1 ) { @@ -279,7 +278,7 @@ static void resolve_callback( const char *psz_protocol = NULL; bool is_renderer = false; -for( unsigned int i = 0; i < NB_PROTOCOLS; i++ ) +for (size_t i = 0; i < ARRAY_SIZE(protocols); i++) { if( !strcmp(type, protocols[i].psz_service_name) ) { @@ -455,7 +454,7 @@ static int OpenCommon( discovery_sys_t *p_sys ) goto error; } -for( unsigned i = 0; i < NB_PROTOCOLS; i++ ) +for (size_t i = 0; i < ARRAY_SIZE(protocols); i++) { if( protocols[i].b_renderer != p_sys->renderer ) continue; = modules/services_discovery/microdns.c = @@ -85,14 +85,13 @@ static const struct { "rtsp", "_rtsp._tcp.local", false, 0 }, { "chromecast", "_googlecast._tcp.local", true, VLC_RENDERER_CAN_AUDIO }, }; -#define NB_PROTOCOLS (sizeof(protocols) / sizeof(*protocols)) struct discovery_sys { vlc_thread_tthread; atomic_bool stop; struct mdns_ctx * p_microdns; -const char *ppsz_service_names[NB_PROTOCOLS]; +const char *ppsz_service_names[ARRAY_SIZE(protocols)]; unsigned inti_nb_service_names; vlc_array_t items; }; @@ -314,7 +313,7 @@ parse_entries( const struct rr_entry *p_entries, bool b_renderer, { if( p_entry->type == RR_SRV ) { -for( unsigned i = 0; i < NB_PROTOCOLS; ++i ) +for (size_t i = 0; i < ARRAY_SIZE(protocols); ++i) { if( !strrcmp( p_entry->name, protocols[i].psz_service_name ) && protocols[i].b_renderer == b_renderer ) @@ -589,7 +588,7 @@ OpenCommon( vlc_object_t *p_obj, struct discovery_sys *p_sys, bool b_renderer ) vlc_array_init( _sys->items ); /* Listen to protocols that are handled by VLC */ -for( unsigned int i = 0; i < NB_PROTOCOLS; ++i ) +for (size_t i = 0; i < ARRAY_SIZE(protocols); ++i) { if( protocols[i].b_renderer == b_renderer ) p_sys->ppsz_service_names[p_sys->i_nb_service_names++] = View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ceae7711b649738f06188f906b7782258222c090...c921bd77003592fbde929ded42c86b2760cdcda1 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ceae7711b649738f06188f906b7782258222c090...c921bd77003592fbde929ded42c86b2760cdcda1 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] access: dtv: fix compilation error on enumerated type
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: ceae7711 by Alexandre Janniaux at 2024-05-23T09:09:48+00:00 access: dtv: fix compilation error on enumerated type In file included from ../../modules/access/dtv/access.c:27: ../../modules/access/dtv/access.c: In function ‘GetSingleDelivery’: ../../modules/access/dtv/access.c:922:21: error: argument 1 in call to function ‘__builtin_stdc_trailing_zeros’ has enumerated type 922 | return 1 stdc_trailing_zeros(d); | ^~~ ../../modules/access/dtv/access.c:923:1: warning: control reaches end of non-void function [-Wreturn-type] 923 | } | ^ - - - - - 1 changed file: - modules/access/dtv/access.c Changes: = modules/access/dtv/access.c = @@ -919,7 +919,7 @@ static inline dtv_delivery_t GetSingleDelivery( dtv_delivery_t d ) if( d == 0 ) return DTV_DELIVERY_NONE; else -return 1 << stdc_trailing_zeros(d); +return 1 << stdc_trailing_zeros((unsigned)d); } /** Determines which delivery system to use. */ View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ceae7711b649738f06188f906b7782258222c090 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ceae7711b649738f06188f906b7782258222c090 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: Update build triplets
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: eba4fc2a by Claudio Cambra at 2024-05-22T22:39:03+00:00 macosx: Update build triplets Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 387b47ec by Claudio Cambra at 2024-05-22T22:39:03+00:00 macosx: Add QuickLook frameworks to project.pbxproj Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 1 changed file: - extras/package/macosx/VLC.xcodeproj/project.pbxproj Changes: = extras/package/macosx/VLC.xcodeproj/project.pbxproj = @@ -111,6 +111,8 @@ 536BFD1929B181E100BD0776 /* VLCMainVideoViewOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 536BFD1829B181E100BD0776 /* VLCMainVideoViewOverlayView.m */; }; 536EFBF5295BCB8300F4CB13 /* VLCLibraryUIUnits.m in Sources */ = {isa = PBXBuildFile; fileRef = 536EFBF4295BCB8300F4CB13 /* VLCLibraryUIUnits.m */; }; 536EFC39295E521600F4CB13 /* VLCLibraryVideoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 536EFC38295E521600F4CB13 /* VLCLibraryVideoViewController.m */; }; + 5377B15C2BD12EEE00D660B8 /* QuickLookThumbnailing.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5377B15B2BD12EEE00D660B8 /* QuickLookThumbnailing.framework */; }; + 5377B15E2BD12F2900D660B8 /* QuickLook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5377B15D2BD12F2900D660B8 /* QuickLook.framework */; }; 537976BA2A4319330036827E /* VLCSettingTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 537976B82A4319330036827E /* VLCSettingTextField.m */; }; 5387FFF52A15127100A3A70A /* NSWindow+VLCAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5387FFF42A15127100A3A70A /* NSWindow+VLCAdditions.m */; }; 538A7EDA29A63EE40068AD4F /* VLCFullVideoViewWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 538A7ED929A63EE40068AD4F /* VLCFullVideoViewWindow.m */; }; @@ -354,6 +356,8 @@ 536EFC37295E521600F4CB13 /* VLCLibraryVideoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryVideoViewController.h; sourceTree = ""; }; 536EFC38295E521600F4CB13 /* VLCLibraryVideoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryVideoViewController.m; sourceTree = ""; }; 536EFC3A295F828000F4CB13 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 5377B15B2BD12EEE00D660B8 /* QuickLookThumbnailing.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickLookThumbnailing.framework; path = System/Library/PrivateFrameworks/QuickLookThumbnailing.framework; sourceTree = SDKROOT; }; + 5377B15D2BD12F2900D660B8 /* QuickLook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickLook.framework; path = System/Library/Frameworks/QuickLook.framework; sourceTree = SDKROOT; }; 537976B82A4319330036827E /* VLCSettingTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCSettingTextField.m; sourceTree = ""; }; 537976B92A4319330036827E /* VLCSettingTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCSettingTextField.h; sourceTree = ""; }; 5387FFF32A15127100A3A70A /* NSWindow+VLCAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSWindow+VLCAdditions.h"; sourceTree = ""; }; @@ -878,6 +882,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 5377B15E2BD12F2900D660B8 /* QuickLook.framework in Frameworks */, + 5377B15C2BD12EEE00D660B8 /* QuickLookThumbnailing.framework in Frameworks */, 7DB7F20B20CC082800C2CAED /* QuartzCore.framework in Frameworks */, 7DB7F20920CC07FD00C2CAED /* WebKit.framework in Frameworks */, 7DB7F20720CC07E600C2CAED /* SystemConfiguration.framework in Frameworks */, @@ -1780,7 +1786,9 @@ 7DB7F1EA20CC036C00C2CAED /* Frameworks */ = { isa = PBXGroup; children = ( + 5377B15D2BD12F2900D660B8 /* QuickLook.framework */, 7D903EAC2243928800917358 /* libvlc.dylib */, + 5377B15B2BD12EEE00D660B8 /* QuickLookThumbnailing.framework */,
[vlc-commits] [Git][videolan/vlc][master] qt: update filter rules to respect verbosity
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 9bf69cf5 by Fatih Uzunoglu at 2024-05-22T11:38:39+00:00 qt: update filter rules to respect verbosity - - - - - 1 changed file: - modules/gui/qt/qt.cpp Changes: = modules/gui/qt/qt.cpp = @@ -248,6 +248,9 @@ static void ShowDialog ( intf_thread_t *, int, int, intf_dialog_args_t * ); "to ensure the visibility of the user interface on a constrained " \ "viewport" ) +#define VERBOSE_TEXT N_( "Print Qt's important internal messages" ) +#define VERBOSE_LONGTEXT N_( "Enable Qt's all own messaging categories except the debug category." ) + static const int initial_prefs_view_list[] = { 0, 1, 2 }; static const char *const initial_prefs_view_list_texts[] = { N_("Simple"), N_("Advanced"), N_("Expert") }; @@ -418,6 +421,8 @@ vlc_module_begin () add_bool( "qt-smooth-scrolling", true, SMOOTH_SCROLLING_TEXT, SMOOTH_SCROLLING_LONGTEXT ) +add_bool( "qt-verbose", false, VERBOSE_TEXT, VERBOSE_LONGTEXT ) + add_float_with_range( "qt-safe-area", 0, 0, 100.0, SAFE_AREA_TEXT, SAFE_AREA_LONGTEXT ) cannot_unload_broken_library() @@ -729,6 +734,28 @@ static inline void registerMetaTypes() static void *Thread( void *obj ) { qt_intf_t *p_intf = (qt_intf_t *)obj; + +{ +QString filterRules; + +const int verbosity = var_InheritInteger(p_intf, "verbose"); +if (verbosity < 2) +{ +filterRules += QStringLiteral("*.debug=false\n"); +if (verbosity < 1) +filterRules += QStringLiteral("*.warning=false\n"); +} + +if (var_InheritBool(p_intf, "qt-verbose")) +{ +filterRules += QStringLiteral("*=true\n" /* Qt by default does not enable some info and error messages */ + "qt.*.debug=false\n" /* Qt's own debug messages are way too much verbose */ + "qt.widgets.painting=false\n" /* Not necessary */); +} + +QLoggingCategory::setFilterRules(filterRules); +} + char vlc_name[] = "vlc"; /* for WM_CLASS */ char *argv[3] = { nullptr }; int argc = 0; View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/9bf69cf58e043bce31ec33ef1a4764449363b217 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/9bf69cf58e043bce31ec33ef1a4764449363b217 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: asdcplib: Apply a patch to fix compilation with latest Clang
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: c481befc by Martin Storsjö at 2024-05-22T08:52:50+00:00 contrib: asdcplib: Apply a patch to fix compilation with latest Clang The asdcplib code contains a C++ template which refers to member variables that doesnt exist. Earlier, this hasnt been an issue, as the C++ template never is instantiated, but current Clang versions (the upcoming 19.x version) diagnoses such issues already before the class is instantiated, leading to compilation errors on the asdcplib code. This applies https://github.com/cinecert/asdcplib/pull/137 (which hasnt yet received any attention), fixing https://github.com/cinecert/asdcplib/issues/136. - - - - - 2 changed files: - + contrib/src/asdcplib/0001-Remove-a-broken-unused-template-class.patch - contrib/src/asdcplib/rules.mak Changes: = contrib/src/asdcplib/0001-Remove-a-broken-unused-template-class.patch = @@ -0,0 +1,64 @@ +From ecbe9cac1fe74a6fcb42857f57ebd6930d6e8c62 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Mon, 6 May 2024 13:33:14 +0300 +Subject: [PATCH] Remove a broken, unused template class + +Since Clang changes +https://github.com/llvm/llvm-project/pull/84050 and +https://github.com/llvm/llvm-project/pull/90152 (upcoming in +Clang 19.x), Clang will diagnose member accesses before instantiating +C++ templates. + +Within the optional_container_property template, this causes errors +for the calls to this->Copy() and this->clear(), as there are no +corresponding methods within that template class. + +This template is unused, and these faulty calls have been present +since the class was added in 02915821cfb49cb6851086f5d991cee58328102b. + +Simply remove the unused template class, to avoid these compiler +errors. + +This fixes https://github.com/cinecert/asdcplib/issues/136. +--- + src/MXF.h | 24 + 1 file changed, 24 deletions(-) + +diff --git a/src/MXF.h b/src/MXF.h +index 8ce77e1..32422b2 100755 +--- a/src/MXF.h b/src/MXF.h +@@ -263,30 +263,6 @@ namespace ASDCP + const PropertyType& const_get() const { return m_property; } + }; + +- // wrapper object manages optional properties +- template +- class optional_container_property +- { +-PropertyType m_property; +- +- public: +-optional_container_property() {} +- optional_container_property(const PropertyType& value) : m_property(value) {} +-const optional_container_property& operator=(const PropertyType& rhs) { +- this->Copy(rhs.m_property); +- return *this; +-} +- +-bool operator==(const PropertyType& rhs) const { return this->m_property == rhs; } +-bool operator==(const optional_property& rhs) const { return this->m_property == rhs.m_property; } +-operator PropertyType&() { return this->m_property; } +-void set(const PropertyType& rhs) { this->m_property = rhs; } +-void reset(const PropertyType& rhs) { this->clear(); } +-bool empty() const { return ! this->m_property.HasValue(); } +-PropertyType& get() { return m_property; } +-const PropertyType& const_get() const { return m_property; } +- }; +- + // base class of all metadata objects + // + class InterchangeObject : public ASDCP::KLVPacket +-- +2.34.1 + = contrib/src/asdcplib/rules.mak = @@ -39,6 +39,7 @@ asdcplib: asdcplib-$(ASDCPLIB_VERSION).tar.gz .sum-asdcplib $(APPLY) $(SRC)/asdcplib/adding-pkg-config-file.patch $(APPLY) $(SRC)/asdcplib/win32-cross-compilation.patch $(APPLY) $(SRC)/asdcplib/win32-dirent.patch + $(APPLY) $(SRC)/asdcplib/0001-Remove-a-broken-unused-template-class.patch $(MOVE) DEPS_asdcplib = nettle $(DEPS_nettle) View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/c481befc9796ed57606d5fd7cba18449702d4cc2 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/c481befc9796ed57606d5fd7cba18449702d4cc2 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] lib: media_player: add jump_time
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: e077ccd6 by Thomas Guillem at 2024-05-21T09:19:15+02:00 lib: media_player: add jump_time - - - - - 3 changed files: - include/vlc/libvlc_media_player.h - lib/libvlc.sym - lib/media_player.c Changes: = include/vlc/libvlc_media_player.h = @@ -1227,17 +1227,34 @@ LIBVLC_API libvlc_time_t libvlc_media_player_get_length( libvlc_media_player_t * LIBVLC_API libvlc_time_t libvlc_media_player_get_time( libvlc_media_player_t *p_mi ); /** - * Set the movie time (in ms). This has no effect if no media is being played. + * Set the movie time (in ms). + * + * This has no effect if no media is being played. * Not all formats and protocols support this. * * \param p_mi the Media Player - * \param b_fast prefer fast seeking or precise seeking * \param i_time the movie time (in ms). + * \param b_fast prefer fast seeking or precise seeking * \return 0 on success, -1 on error */ LIBVLC_API int libvlc_media_player_set_time( libvlc_media_player_t *p_mi, libvlc_time_t i_time, bool b_fast ); +/** + * Jump the movie time (in ms). + * + * This will trigger a precise and relative seek (from the current time). + * This has no effect if no media is being played. + * Not all formats and protocols support this. + * + * \param p_mi the Media Player + * \param i_time the movie time (in ms). + * \return 0 on success, -1 on error + * \version LibVLC 4.0.0 and later. + */ +LIBVLC_API int libvlc_media_player_jump_time( libvlc_media_player_t *p_mi, + libvlc_time_t i_time ); + /** * Get movie position as percentage between 0.0 and 1.0. * = lib/libvlc.sym = @@ -174,6 +174,7 @@ libvlc_media_player_set_rate libvlc_media_player_set_renderer libvlc_media_player_set_role libvlc_media_player_set_time +libvlc_media_player_jump_time libvlc_media_player_set_title libvlc_media_player_set_xwindow libvlc_media_player_stop_async = lib/media_player.c = @@ -1342,8 +1342,9 @@ libvlc_time_t libvlc_media_player_get_time( libvlc_media_player_t *p_mi ) return i_time; } -int libvlc_media_player_set_time( libvlc_media_player_t *p_mi, - libvlc_time_t i_time, bool b_fast ) +static int +set_time( libvlc_media_player_t *p_mi, libvlc_time_t i_time, bool b_fast, + enum vlc_player_whence whence ) { vlc_tick_t tick = vlc_tick_from_libvlc_time(i_time); @@ -1352,7 +1353,7 @@ int libvlc_media_player_set_time( libvlc_media_player_t *p_mi, enum vlc_player_seek_speed speed = b_fast ? VLC_PLAYER_SEEK_FAST : VLC_PLAYER_SEEK_PRECISE; -vlc_player_SeekByTime(player, tick, speed, VLC_PLAYER_WHENCE_ABSOLUTE); +vlc_player_SeekByTime(player, tick, speed, whence); vlc_player_Unlock(player); @@ -1360,6 +1361,18 @@ int libvlc_media_player_set_time( libvlc_media_player_t *p_mi, return 0; } +int libvlc_media_player_set_time( libvlc_media_player_t *p_mi, + libvlc_time_t i_time, bool b_fast ) +{ +return set_time( p_mi, i_time, b_fast, VLC_PLAYER_WHENCE_ABSOLUTE ); +} + +int libvlc_media_player_jump_time( libvlc_media_player_t *p_mi, + libvlc_time_t i_time ) +{ +return set_time( p_mi, i_time, false, VLC_PLAYER_WHENCE_RELATIVE ); +} + int libvlc_media_player_set_position( libvlc_media_player_t *p_mi, double position, bool b_fast ) { View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/e077ccd68df9b59949e7669b136e99bca7a0918e -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/e077ccd68df9b59949e7669b136e99bca7a0918e 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: remove focus shadow from the play button
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: b2d350d5 by Fatih Uzunoglu at 2024-05-21T05:51:40+00:00 qml: remove focus shadow from the play button - - - - - d402227b by Fatih Uzunoglu at 2024-05-21T05:51:40+00:00 qml: show rectangular borders when focused in PlayButton - - - - - 1 changed file: - modules/gui/qt/player/qml/controlbarcontrols/PlayButton.qml Changes: = modules/gui/qt/player/qml/controlbarcontrols/PlayButton.qml = @@ -69,32 +69,13 @@ T.Control { states: [ State { -name: "focused" -when: visualFocus - -PropertyChanges { -target: hoverShadow -opacity: 0.0 -} - -PropertyChanges { -target: focusShadow -opacity: 1.0 -} -}, -State { -name: "hover" +name: "hovered" when: cursorInside PropertyChanges { target: hoverShadow opacity: 1.0 } - -PropertyChanges { -target: focusShadow -opacity: 0.0 -} } ] @@ -238,7 +219,9 @@ T.Control { implicitWidth: height implicitHeight: VLCStyle.icon_medium -component DropShadowImage : Widgets.DropShadowImage { +Widgets.DropShadowImage { +id: hoverShadow + anchors.centerIn: parent visible: opacity > 0 @@ -248,10 +231,6 @@ T.Control { rectHeight: parent.height xRadius: parent.width yRadius: xRadius -} - -DropShadowImage { -id: hoverShadow blurRadius: VLCStyle.dp(9) yOffset: VLCStyle.dp(4) @@ -259,13 +238,13 @@ T.Control { color: theme.accent.alpha(0.29) } -DropShadowImage { -id: focusShadow +Widgets.AnimatedBackground { +anchors.fill: parent +anchors.margins: -border.width -blurRadius: VLCStyle.dp(14) -yOffset: VLCStyle.dp(1) +enabled: theme.initialized -color: theme.accent.alpha(1.0) +border.color: root.visualFocus ? theme.visualFocus : "transparent" } Rectangle { View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6e448e9709ad139eb074706b83ab01c7bcccbb84...d402227b9305f9c54aa639db1a6270c3ed8c3a40 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6e448e9709ad139eb074706b83ab01c7bcccbb84...d402227b9305f9c54aa639db1a6270c3ed8c3a40 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] 15 commits: qt: eliminate obsolete qt version checks in compositor_x11_renderwindow.cpp
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: d0d00d61 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version checks in compositor_x11_renderwindow.cpp - - - - - e7ccbf56 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version check in custom_menus.cpp - - - - - c3629b4e by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version check in EPGView.cpp - - - - - 8fcadd6c by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version checks in extended_panels.cpp - - - - - c1fd5834 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: remove unused function in mainui.cpp - - - - - c19ccc46 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version check in mlvideogroupsmodel.cpp - - - - - 3addd08a by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version check in navigation_attached.hpp - - - - - f3ce9e9e by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version check in roundimage.cpp - - - - - 305e1f02 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version checks in simple_preferences.cpp - - - - - f0eb0198 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version checks in vlm.cpp - - - - - 78abd6e5 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: bump minimum required qt version to 6.2.0 in qt.hpp - - - - - 9c22de18 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version check in qt.hpp - - - - - c0d03d11 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: eliminate obsolete qt version check in interface_window_handler.cpp - - - - - ce62d727 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qt: remove QT_CLIENT_SIDE_DECORATION_AVAILABLE - - - - - 6e448e97 by Fatih Uzunoglu at 2024-05-21T05:03:37+00:00 qml: remove obsolete qt version check in ArtworkInfoWidget.qml - - - - - 19 changed files: - modules/gui/qt/dialogs/epg/EPGView.cpp - modules/gui/qt/dialogs/extended/extended_panels.cpp - modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp - modules/gui/qt/dialogs/preferences/simple_preferences.cpp - modules/gui/qt/dialogs/vlm/vlm.cpp - modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp - modules/gui/qt/maininterface/interface_window_handler.cpp - modules/gui/qt/maininterface/interface_window_handler.hpp - modules/gui/qt/maininterface/mainctx.cpp - modules/gui/qt/maininterface/mainctx_win32.cpp - modules/gui/qt/maininterface/mainctx_win32.hpp - modules/gui/qt/maininterface/mainui.cpp - modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp - modules/gui/qt/menus/custom_menus.cpp - modules/gui/qt/player/qml/controlbarcontrols/ArtworkInfoWidget.qml - modules/gui/qt/qt.cpp - modules/gui/qt/qt.hpp - modules/gui/qt/widgets/native/navigation_attached.hpp - modules/gui/qt/widgets/native/roundimage.cpp Changes: = modules/gui/qt/dialogs/epg/EPGView.cpp = @@ -45,11 +45,7 @@ void EPGGraphicsScene::drawBackground( QPainter *painter, const QRectF ) /* day change */ QDateTime rectstarttime = epgView->startTime().addSecs( rect.left() ); -#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) QDateTime nextdaylimit = rectstarttime.date().startOfDay(); -#else -QDateTime nextdaylimit = QDateTime( rectstarttime.date() ); -#endif QRectF area( rect ); while( area.left() < width() ) = modules/gui/qt/dialogs/extended/extended_panels.cpp = @@ -63,13 +63,7 @@ static bool filterIsPresent( const QString , const QString ) { -QStringList list = filters.split( ':', - #if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) -Qt::SkipEmptyParts - #else -QString::SkipEmptyParts - #endif -); +QStringList list = filters.split( ':', Qt::SkipEmptyParts ); foreach( const QString , list ) { @@ -306,13 +300,7 @@ static QString ChangeFiltersString( qt_intf_t *p_intf, const char *psz_filter_ty char* psz_chain = var_GetString( p_intf, psz_filter_type ); QString const chain = QString( psz_chain ? psz_chain : "" ); -QStringList list = chain.split( ':', -#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) -Qt::SkipEmptyParts -#else -QString::SkipEmptyParts -#endif - ); +QStringList list = chain.split( ':', Qt::SkipEmptyParts ); if( b_add && std::find(list.begin(), list.end(), psz_name) == list.end() )
[vlc-commits] [Git][videolan/vlc][master] contrib: qtbase: use directwrite instead of freetype on windows
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 7c260ce9 by Fatih Uzunoglu at 2024-05-19T14:57:36+00:00 contrib: qtbase: use directwrite instead of freetype on windows DirectWrite should work better on Windows, and static linking to FreeType increases the size considerably. - - - - - 1 changed file: - contrib/src/qt/rules.mak Changes: = contrib/src/qt/rules.mak = @@ -17,9 +17,11 @@ PKGS_TOOLS += qt-tools endif PKGS_ALL += qt-tools -DEPS_qt = qt-tools freetype2 $(DEPS_freetype2) harfbuzz $(DEPS_harfbuzz) jpeg $(DEPS_jpeg) png $(DEPS_png) zlib $(DEPS_zlib) vulkan-headers $(DEPS_vulkan-headers) +DEPS_qt = qt-tools harfbuzz $(DEPS_harfbuzz) jpeg $(DEPS_jpeg) png $(DEPS_png) zlib $(DEPS_zlib) vulkan-headers $(DEPS_vulkan-headers) ifdef HAVE_WIN32 DEPS_qt += d3d12 $(DEPS_d3d12) dcomp $(DEPS_dcomp) +else +DEPS_qt += freetype2 $(DEPS_freetype2) endif ifeq ($(call need_pkg,"Qt6Core >= $(QTBASE_VERSION_MAJOR) Qt6Gui >= $(QTBASE_VERSION_MAJOR) Qt6Widgets >= $(QTBASE_VERSION_MAJOR)"),) @@ -55,6 +57,12 @@ ifeq ($(V),1) QTBASE_CONFIG += -verbose endif +ifdef HAVE_WIN32 +QTBASE_CONFIG += -no-freetype -directwrite +else +QTBASE_CONFIG += -system-freetype +endif + ifdef HAVE_CROSS_COMPILE # This is necessary to make use of qmake QTBASE_PLATFORM := -device-option CROSS_COMPILE=$(HOST)- @@ -66,7 +74,7 @@ endif 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-sql -no-feature-testlib -system-harfbuzz -system-libjpeg \ -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 \ View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/7c260ce99e870757f78cd6a2fda9212944a000ea -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/7c260ce99e870757f78cd6a2fda9212944a000ea 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: use correct root window in compositor_x11_renderwindow.cpp
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: fd10fa60 by Fatih Uzunoglu at 2024-05-19T09:16:58+00:00 qt: use correct root window in compositor_x11_renderwindow.cpp Here, the root window is supposed to be the screens root window. - - - - - 1 changed file: - modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp Changes: = modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp = @@ -383,8 +383,6 @@ bool CompositorX11RenderWindow::init() const auto nativeInterface = qGuiApp->nativeInterface(); assert(nativeInterface); xcb_connection_t* qtConn = nativeInterface->connection(); -xcb_window_t rootWindow = winId(); - QPlatformNativeInterface *native = qApp->platformNativeInterface(); if (!native) return true; @@ -396,6 +394,7 @@ bool CompositorX11RenderWindow::init() } //_GTK_FRAME_EXTENTS should be available at least on Gnome/KDE/FXCE/Enlightement +const xcb_window_t rootWindow = reinterpret_cast(native->nativeResourceForIntegration(QByteArrayLiteral("rootwindow"))); xcb_atom_t gtkExtendFrame = getInternAtom(qtConn, _GTK_FRAME_EXTENTS); if (gtkExtendFrame != XCB_ATOM_NONE && wmNetSupport(qtConn, rootWindow, gtkExtendFrame)) { View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/fd10fa60d2e3abc12b58fd3152c01b276251ee3a -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/fd10fa60d2e3abc12b58fd3152c01b276251ee3a 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: make `m_transactionPending` a property in MLPlaylistListmodel
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 64c4c817 by Fatih Uzunoglu at 2024-05-19T05:48:15+00:00 qt: make `m_transactionPending` a property in MLPlaylistListmodel - - - - - 16102d09 by Fatih Uzunoglu at 2024-05-19T05:48:15+00:00 qt: make `m_transactionPending` a property in MLPlaylistModel - - - - - 34c999e0 by Fatih Uzunoglu at 2024-05-19T05:48:15+00:00 qml: do not accept drop event in PlaylistMedia when `m_transactionPending` is set - - - - - 3bd2b082 by Fatih Uzunoglu at 2024-05-19T05:48:15+00:00 qml: do not accept drop event in PlaylistMediaList when `m_transactionPending` is set - - - - - 198eeaf9 by Fatih Uzunoglu at 2024-05-19T05:48:15+00:00 qml: introduce ProgressIndicator A convenient control, designed to be used as a progress indicator. Contains a text alongside a busy indicator, with round rectangular semi-translucent background. - - - - - c799a60e by Fatih Uzunoglu at 2024-05-19T05:48:15+00:00 qml: use ProgressIndicator in PlaylistMediaList - - - - - 743369dd by Fatih Uzunoglu at 2024-05-19T05:48:15+00:00 qml: use ProgressIndicator in PlaylistMediaDisplay - - - - - 10 changed files: - modules/gui/qt/Makefile.am - modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp - modules/gui/qt/medialibrary/mlplaylistlistmodel.hpp - modules/gui/qt/medialibrary/mlplaylistmodel.cpp - modules/gui/qt/medialibrary/mlplaylistmodel.hpp - modules/gui/qt/medialibrary/qml/PlaylistMedia.qml - modules/gui/qt/medialibrary/qml/PlaylistMediaDisplay.qml - modules/gui/qt/medialibrary/qml/PlaylistMediaList.qml - modules/gui/qt/qml.qrc - + modules/gui/qt/widgets/qml/ProgressIndicator.qml Changes: = modules/gui/qt/Makefile.am = @@ -1128,7 +1128,8 @@ libqt_plugin_la_QML = \ widgets/qml/FadingEdgeForListView.qml \ widgets/qml/PopupIconToolButton.qml \ widgets/qml/PartialEffect.qml \ -widgets/qml/ViewHeader.qml +widgets/qml/ViewHeader.qml \ +widgets/qml/ProgressIndicator.qml # Shaders: = modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp = @@ -120,7 +120,7 @@ void appendMediaIntoPlaylist(vlc_medialibrary_t* ml, int64_t playlistId, const s if (unlikely(m_transactionPending)) return; -m_transactionPending = true; +setTransactionPending(true); m_mediaLib->runOnMLThread(this, //ML thread @@ -178,7 +178,7 @@ void appendMediaIntoPlaylist(vlc_medialibrary_t* ml, int64_t playlistId, const s if (unlikely(m_transactionPending)) return false; -m_transactionPending = true; +setTransactionPending(true); std::vector itemList; for (const QVariant & id : ids) @@ -342,12 +342,26 @@ std::unique_ptr MLPlaylistListModel::createMLLoader() const / void MLPlaylistListModel::endTransaction() { -m_transactionPending = false; -if (m_resetAfterTransaction) +setTransactionPending(false); +} + +void MLPlaylistListModel::setTransactionPending(const bool value) +{ +if (m_transactionPending == value) +return; + +m_transactionPending = value; + +if (!value) { -m_resetAfterTransaction = false; -emit resetRequested(); +if (m_resetAfterTransaction) +{ +m_resetAfterTransaction = false; +emit resetRequested(); +} } + +emit transactionPendingChanged(value); } QString MLPlaylistListModel::getCover(MLPlaylist * playlist) const = modules/gui/qt/medialibrary/mlplaylistlistmodel.hpp = @@ -58,6 +58,8 @@ public: Q_PROPERTY(PlaylistType playlistType READ playlistType WRITE setPlaylistType NOTIFY playlistTypeChanged FINAL) +Q_PROPERTY(bool transactionPending READ transactionPending NOTIFY transactionPendingChanged FINAL) + public: explicit MLPlaylistListModel(QObject * parent = nullptr); @@ -72,6 +74,8 @@ public: // Interface Q_INVOKABLE MLItemId getItemId(int index) const; +bool transactionPending() const { return m_transactionPending; }; + public: // QAbstractItemModel implementation QHash roleNames() const override; @@ -91,6 +95,8 @@ private: // Functions void endTransaction(); +void setTransactionPending(bool); + private: // MLBaseModel implementation void onVlcMlEvent(const MLEvent & event) override; @@ -99,6 +105,7 @@ signals: void coverDefaultChanged(); void coverPrefixChanged (); void playlistTypeChanged(); +void transactionPendingChanged(bool); public: // Properties QSize coverSize() const; = modules/gui/qt/medialibrary/mlplaylistmodel.cpp = @@ -68,7 +68,7 @@ static const QHash criterias = QVector medias = vlc::playlist::toMediaList(items); -m_transactionPen
[vlc-commits] [Git][videolan/vlc][master] contrib: protobuf: fix protoc version detection
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: c60e8941 by Steve Lhomme at 2024-05-18T07:45:18+00:00 contrib: protobuf: fix protoc version detection - - - - - 1 changed file: - contrib/src/protobuf/rules.mak Changes: = contrib/src/protobuf/rules.mak = @@ -20,7 +20,7 @@ endif endif PKGS.tools.protoc.path = $(BUILDBINDIR)/protoc -ifeq ($(call system_tool_majmin, protoc --version),$(PROTOBUF_MAJVERSION)) +ifeq ($(call system_tool_majmin, protoc --version),$(PROTOBUF_MAJPACKAGE).$(PROTOBUF_MAJVERSION)) PKGS_FOUND += protoc endif View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/c60e89412db660e9f03f705debb2c80b1f0ed2c3 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/c60e89412db660e9f03f705debb2c80b1f0ed2c3 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 wheel scrolling in views with ExpandGridView subview
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: bddff970 by Prince Gupta at 2024-05-18T06:50:57+00:00 qml: fix wheel scrolling in views with ExpandGridView subview fixes wheel scrolling in Video view and Browse view disable interaction in ExpandView if content fits this allows correct handling of wheel scrolling by the main view - - - - - 1 changed file: - modules/gui/qt/widgets/qml/ExpandGridView.qml Changes: = modules/gui/qt/widgets/qml/ExpandGridView.qml = @@ -725,7 +725,7 @@ FocusScope { Flickable { id: flickable -flickableDirection: Flickable.VerticalFlick +flickableDirection: Flickable.AutoFlickIfNeeded boundsBehavior: Flickable.StopAtBounds View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/bddff970b71b1cd4e3b6b4adc353a19c167a05e5 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/bddff970b71b1cd4e3b6b4adc353a19c167a05e5 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: sout: fix unused parameter warning on Darwin
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: d1140d33 by Marvin Scholz at 2024-05-18T05:40:35+00:00 sout: fix unused parameter warning on Darwin - - - - - e91726d6 by Marvin Scholz at 2024-05-18T05:40:35+00:00 freetype: darwin: make getFontIndexInFontFile static Fixes compiler warning about missing prototype and also this function is only ever used in this file. - - - - - d429fe06 by Marvin Scholz at 2024-05-18T05:40:35+00:00 deinterlace: ivtc: remove write-only variable Fixes warning: variable i_vote_invalid set but not used - - - - - 7c558aa8 by Marvin Scholz at 2024-05-18T05:40:35+00:00 vout: caopengllayer: define GL_SILENCE_DEPRECATION OpenGL is deprecated, nothing we can do about that, so might as well silence the deprecation warnings for it to not clutter the build log and drown out actually relevant warnings. - - - - - ec76e1cd by Marvin Scholz at 2024-05-18T05:40:35+00:00 vout: VLCSampleBufferDisplay: specify bitmap byte order Fixes a warning about the implicit conversion of enum type: implicit conversion from enumeration type enum CGImageAlphaInfo to different enumeration type CGBitmapInfo - - - - - 5 changed files: - modules/stream_out/renderer_common.cpp - modules/text_renderer/freetype/fonts/darwin.c - modules/video_filter/deinterlace/algo_ivtc.c - modules/video_output/Makefile.am - modules/video_output/apple/VLCSampleBufferDisplay.m Changes: = modules/stream_out/renderer_common.cpp = @@ -263,7 +263,7 @@ std::string GetVencX264Option( sout_stream_t * /* p_stream */, #ifdef __APPLE__ std::string GetVencAvcodecVTOption( sout_stream_t * /* p_stream */, - const video_format_t * p_vid, + const video_format_t * /* p_vid */, int i_quality ) { std::stringstream ssout; = modules/text_renderer/freetype/fonts/darwin.c = @@ -56,7 +56,7 @@ static char* getPathForFontDescription(CTFontDescriptorRef fontDescriptor) return retPath; } -CFIndex getFontIndexInFontFile(const char* psz_filePath, const char* psz_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) { = modules/video_filter/deinterlace/algo_ivtc.c = @@ -1092,13 +1092,12 @@ static void IVTCCadenceAnalyze( filter_t *p_filter ) if( p_ivtc->b_sequence_valid ) { /* Determine TFF/BFF. */ -int i_vote_invalid = 0; int i_vote_tff = 0; int i_vote_bff = 0; for( int i = 0; i < IVTC_DETECTION_HISTORY_SIZE; ++i ) { if( pi_tfd[i] == TFD_INVALID ) -i_vote_invalid++; +continue; else if( pi_tfd[i] == TFD_TFF ) i_vote_tff++; else if( pi_tfd[i] == TFD_BFF ) = modules/video_output/Makefile.am = @@ -65,7 +65,7 @@ libvout_macosx_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)' \ libcaopengllayer_plugin_la_SOURCES = video_output/caopengllayer.m \ $(OPENGL_VOUT_COMMONSOURCES) -libcaopengllayer_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DHAVE_GL_CORE_SYMBOLS +libcaopengllayer_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DHAVE_GL_CORE_SYMBOLS -DGL_SILENCE_DEPRECATION libcaopengllayer_plugin_la_LIBADD = libvlc_opengl.la libcaopengllayer_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)' \ -Wl,-framework,OpenGL,-framework,Cocoa,-framework,QuartzCore = modules/video_output/apple/VLCSampleBufferDisplay.m = @@ -442,7 +442,7 @@ static void UpdateSubpictureRegions(vout_display_t *vd, CGImageRef image = CGImageCreate( r->p_picture->format.i_visible_width, r->p_picture->format.i_visible_height, 8, 32, r->p_picture->p->i_pitch, -space, kCGImageAlphaFirst, +space, kCGBitmapByteOrderDefault | kCGImageAlphaFirst, provider, NULL, true, kCGRenderingIntentDefault ); VLCSampleBufferSubpictureRegion *region; View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1d2a90155172b147ae8302e1371d50a278701c94...ec76e1cde3233fac5402919a49d2359c000f757e -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1d2a90155172b
[vlc-commits] [Git][videolan/vlc][master] qml: fix "Unknown Artist" is not shown in PlaylistDelegate
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 1d2a9015 by Fatih Uzunoglu at 2024-05-18T05:06:12+00:00 qml: fix Unknown Artist is not shown in PlaylistDelegate This is a delegate, it is inherent that `model` exists. Instead of checking for model, check the existence of `artist` and its length. - - - - - 1 changed file: - modules/gui/qt/playlist/qml/PlaylistDelegate.qml Changes: = modules/gui/qt/playlist/qml/PlaylistDelegate.qml = @@ -219,7 +219,7 @@ T.ItemDelegate { Layout.fillHeight: true Layout.fillWidth: true -text: model?.artist ?? qsTr("Unknown Artist") +text: model.artist || qsTr("Unknown Artist") color: theme.fg.primary verticalAlignment: Text.AlignBottom } View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/1d2a90155172b147ae8302e1371d50a278701c94 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/1d2a90155172b147ae8302e1371d50a278701c94 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: qt: make `MLPlaylistListModel::create()` use `MLPlaylistListModel::append()` for initial items
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 9138c70e by Fatih Uzunoglu at 2024-05-17T12:37:36+00:00 qt: make `MLPlaylistListModel::create()` use `MLPlaylistListModel::append()` for initial items Currently, the code is duplicated and only the `append()` path has the functionality of supporting foreign items. - - - - - f113a23a by Fatih Uzunoglu at 2024-05-17T12:37:36+00:00 Revert qt: use `QVectorSharedInputItem` instead of `QVariantList` as `NetworkMediaModel::getItemsForIndexes()` return type This reverts commit 8b36c244517bca9c3d43adbb76b499690e646bcd. - - - - - 9eee74e8 by Fatih Uzunoglu at 2024-05-17T12:37:36+00:00 Revert qt: use `QVectorSharedInputItem` instead of `QVariantList` as `NetworkDeviceModel::getItemsForIndexes()` return type This reverts commit 37dd8a1e0b118069b9659f128077271387aaa769. - - - - - d6be0506 by Fatih Uzunoglu at 2024-05-17T12:37:36+00:00 Revert qt: use `QVectorSharedInputItem` instead of `QVariantList` as `PlaylistListModel::getItemsForIndexes()` return type This reverts commit ee5566c8b53af97a70ca9698cb3ded15cb029792. - - - - - 7 changed files: - modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp - modules/gui/qt/network/networkdevicemodel.cpp - modules/gui/qt/network/networkdevicemodel.hpp - modules/gui/qt/network/networkmediamodel.cpp - modules/gui/qt/network/networkmediamodel.hpp - modules/gui/qt/playlist/playlist_model.cpp - modules/gui/qt/playlist/playlist_model.hpp Changes: = modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp = @@ -88,31 +88,25 @@ void appendMediaIntoPlaylist(vlc_medialibrary_t* ml, int64_t playlistId, const s { assert(m_mediaLib); +struct Ctx { +MLItemId createdPlaylistId; +}; -std::vector itemList; -for (const QVariant & id : initialItems) -{ -if (id.canConvert() == false) -continue; - -const MLItemId & itemId = id.value(); - -if (itemId.id == 0) -continue; -itemList.push_back(itemId); -} - -m_mediaLib->runOnMLThread(this, +m_mediaLib->runOnMLThread(this, //ML thread -[name, itemList](vlc_medialibrary_t* ml) +[name](vlc_medialibrary_t* ml, Ctx& ctx) { vlc_ml_playlist_t * playlist = vlc_ml_playlist_create(ml, qtu(name)); if (playlist) { -auto playlistId = playlist->i_id; +ctx.createdPlaylistId = MLItemId(playlist->i_id, VLC_ML_PARENT_UNKNOWN); vlc_ml_playlist_release(playlist); - -appendMediaIntoPlaylist(ml, playlistId, itemList); +} +}, +[this, initialItems](quint64, const Ctx& ctx) { +if (ctx.createdPlaylistId.id) +{ +append(ctx.createdPlaylistId, initialItems); } }); } = modules/gui/qt/network/networkdevicemodel.cpp = @@ -559,10 +559,10 @@ bool NetworkDeviceModel::addAndPlay(const QModelIndexList& itemIdList) } /* Q_INVOKABLE */ -QVector NetworkDeviceModel::getItemsForIndexes(const QModelIndexList & indexes) const +QVariantList NetworkDeviceModel::getItemsForIndexes(const QModelIndexList & indexes) const { Q_D(const NetworkDeviceModel); -QVector items; +QVariantList items; for (const QModelIndex & modelIndex : indexes) { @@ -570,7 +570,7 @@ QVector NetworkDeviceModel::getItemsForIndexes(const QModelInde if (!item) continue; -items.append(SharedInputItem(item->inputItem.get(), true)); + items.append(QVariant::fromValue(SharedInputItem(item->inputItem.get(), true))); } return items; = modules/gui/qt/network/networkdevicemodel.hpp = @@ -115,7 +115,7 @@ public: Q_INVOKABLE bool addAndPlay(const QVariantList& itemIdList); Q_INVOKABLE bool addAndPlay(const QModelIndexList& itemIdList); -Q_INVOKABLE QVector getItemsForIndexes(const QModelIndexList & indexes) const; +Q_INVOKABLE QVariantList getItemsForIndexes(const QModelIndexList & indexes) const; signals: void ctxChanged(); = modules/gui/qt/network/networkmediamodel.cpp = @@ -721,10 +721,10 @@ bool NetworkMediaModel::addAndPlay(const QModelIndexList& itemIdList) } /* Q_INVOKABLE */ -QVector NetworkMediaModel::getItemsForIndexes(const QModelIndexList & indexes) const +QVariantList NetworkMediaModel::getItemsForIndexes(const QModelIndexList & indexes) const { Q_D(const NetworkMediaModel); -QVector items; +QVariantList items; for (const QModelIndex & modelIndex : indexes) { @@ -736,7 +736,7 @@ QVector NetworkMediaModel::getItemsForIndexes(const QModelIndex const NetworkTreeItem &
[vlc-commits] [Git][videolan/vlc][master] contrib: qt: fix the moc version detection
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 194d62d7 by Steve Lhomme at 2024-05-17T10:14:08+00:00 contrib: qt: fix the moc version detection Following 6140b72e706b9a29b6fb78c9210bc1483905bfaa we check moc instead of qt-cmake. But we should use system_tool_majmin in this case, like the other tools. Fixes this line written each time make is called: /bin/sh: 1: Syntax error: end of file unexpected - - - - - 1 changed file: - contrib/src/qt/rules.mak Changes: = contrib/src/qt/rules.mak = @@ -27,7 +27,7 @@ PKGS_FOUND += qt endif ifndef HAVE_CROSS_COMPILE PKGS_FOUND += qt-tools -else ifeq ($(call system_tool_version, moc --version),$(QTBASE_VERSION_MAJOR)) +else ifeq ($(call system_tool_majmin, moc --version),$(QTBASE_VERSION_MAJOR)) PKGS_FOUND += qt-tools endif View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/194d62d747ffbc5b3f58a4e53116244d26501ced -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/194d62d747ffbc5b3f58a4e53116244d26501ced 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] codec: videotoolbox: don't restart on kVTVideoDecoderReferenceMissingErr
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 20eb666f by Marvin Scholz at 2024-05-17T09:53:39+00:00 codec: videotoolbox: dont restart on kVTVideoDecoderReferenceMissingErr In f7434e60fc38e78b9356600d1452e850eb5ec2d9 I made this a non-critical error but after some more testing with a stream with a lot of missing references, it works fine when not restarting VideoToolbox fully when this happens and actually results in better playback. - - - - - 1 changed file: - modules/codec/videotoolbox/decoder.c Changes: = modules/codec/videotoolbox/decoder.c = @@ -1748,11 +1748,13 @@ static int HandleVTStatus(decoder_t *p_dec, OSStatus status, case -8960 /* codecErr */: case kVTVideoDecoderMalfunctionErr: case kVTInvalidSessionErr: -case kVTVideoDecoderReferenceMissingErr: case kVTVideoDecoderBadDataErr: case -8969 /* codecBadDataErr */: *p_vtsession_status = VTSESSION_STATUS_RESTART; break; +case kVTVideoDecoderReferenceMissingErr: +*p_vtsession_status = VTSESSION_STATUS_OK; +break; default: *p_vtsession_status = VTSESSION_STATUS_ABORT; break; View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/20eb666f54d18ce22aa260f9ca2c58ac7de37ad4 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/20eb666f54d18ce22aa260f9ca2c58ac7de37ad4 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: audio_output/coreaudio: Fix mute handling
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 3ebf4bb4 by Claudio Cambra at 2024-05-17T09:09:06+00:00 audio_output/coreaudio: Fix mute handling Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - e7f182e1 by Claudio Cambra at 2024-05-17T09:09:06+00:00 audio_output/auhal: Correctly set mute state on StartAnalog Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 8341b7dd by Claudio Cambra at 2024-05-17T09:09:06+00:00 macosx: Use toggle mute directly Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 872d7690 by Claudio Cambra at 2024-05-17T09:09:06+00:00 audio/apple: Remove b_muted handling in iOS audiounit Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 4 changed files: - modules/audio_output/apple/audiounit_ios.m - modules/audio_output/apple/auhal.c - modules/audio_output/apple/coreaudio_common.c - modules/gui/macosx/playlist/VLCPlayerController.m Changes: = modules/audio_output/apple/audiounit_ios.m = @@ -227,12 +227,7 @@ MuteSet(audio_output_t *p_aout, bool mute) static void Play(audio_output_t * p_aout, block_t * p_block, vlc_tick_t date) { -aout_sys_t * p_sys = p_aout->sys; - -if (p_sys->b_muted) -block_Release(p_block); -else -ca_Play(p_aout, p_block, date); +ca_Play(p_aout, p_block, date); } #pragma mark initialization @@ -339,9 +334,6 @@ Start(audio_output_t *p_aout, audio_sample_format_t *restrict fmt) goto error; } -if (p_sys->b_muted) -Pause(p_aout, true, 0); - fmt->channel_type = AUDIO_CHANNEL_TYPE_BITMAP; p_aout->pause = Pause; = modules/audio_output/apple/auhal.c = @@ -1105,6 +1105,7 @@ StartAnalog(audio_output_t *p_aout, audio_sample_format_t *fmt, /* Set volume for output unit */ VolumeSet(p_aout, p_sys->f_volume); +MuteSet(p_aout, var_InheritBool(p_aout, "mute")); free(layout); = modules/audio_output/apple/coreaudio_common.c = @@ -238,7 +238,13 @@ ca_Render(audio_output_t *p_aout, uint64_t host_time, p_sys->started = true; -memcpy(data, f->p_buffer, tocopy); +if (p_sys->b_muted) { +if (is_silence != NULL) +*is_silence = true; +memset(data, 0, tocopy); +} else { +memcpy(data, f->p_buffer, tocopy); +} data += tocopy; bytes -= tocopy; = modules/gui/macosx/playlist/VLCPlayerController.m = @@ -1711,7 +1711,7 @@ static int BossCallback(vlc_object_t *p_this, - (void)toggleMute { -vlc_player_aout_Mute(_p_player, !_mute); +vlc_player_aout_ToggleMute(_p_player); } - (audio_output_t *)mainAudioOutput View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/240cfdbd2e41e73024101b3a6839658174ffabd1...872d7690f1627e953e9a72532b4241ceeff46f30 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/240cfdbd2e41e73024101b3a6839658174ffabd1...872d7690f1627e953e9a72532b4241ceeff46f30 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: qt: use correct type for position in PlayerController
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 022afa25 by Fatih Uzunoglu at 2024-05-17T08:38:36+00:00 qt: use correct type for position in PlayerController - - - - - 240cfdbd by Fatih Uzunoglu at 2024-05-17T08:38:36+00:00 qt: do not update position if it is the same - - - - - 2 changed files: - modules/gui/qt/player/player_controller.cpp - modules/gui/qt/player/player_controller.hpp Changes: = modules/gui/qt/player/player_controller.cpp = @@ -1248,9 +1248,12 @@ void PlayerController::setTime(VLCTick new_time) vlc_player_SetTime( d->m_player, new_time ); } -void PlayerController::setPosition(float position) +void PlayerController::setPosition(double position) { Q_D(PlayerController); +if (qFuzzyCompare(d->m_position, position)) +return; + vlc_player_locker lock{ d->m_player }; if( !isCurrentItemSynced() ) return; @@ -1289,7 +1292,7 @@ void PlayerController::jumpToTime(VLCTick i_time) vlc_player_JumpTime( d->m_player, i_time ); } -void PlayerController::jumpToPos( float new_pos ) +void PlayerController::jumpToPos( double new_pos ) { Q_D(PlayerController); { @@ -2061,7 +2064,7 @@ PRIMITIVETYPE_GETTER(PlayerController::PlayingState, getPlayingState, m_playing_ PRIMITIVETYPE_GETTER(QString, getName, m_name) PRIMITIVETYPE_GETTER(VLCTick, getTime, m_time) PRIMITIVETYPE_GETTER(VLCTick, getRemainingTime, m_remainingTime) -PRIMITIVETYPE_GETTER(float, getPosition, m_position) +PRIMITIVETYPE_GETTER(double, getPosition, m_position) PRIMITIVETYPE_GETTER(VLCTick, getLength, m_length) PRIMITIVETYPE_GETTER(VLCTick, getAudioDelay, m_audioDelay) PRIMITIVETYPE_GETTER(VLCTick, getSubtitleDelay, m_subtitleDelay) = modules/gui/qt/player/player_controller.hpp = @@ -113,7 +113,7 @@ public: Q_PROPERTY(VLCTick time READ getTime WRITE setTime NOTIFY timeChanged FINAL) Q_PROPERTY(VLCTick remainingTime READ getRemainingTime NOTIFY remainingTimeChanged FINAL) -Q_PROPERTY(float position READ getPosition WRITE setPosition NOTIFY positionChanged FINAL) +Q_PROPERTY(double position READ getPosition WRITE setPosition NOTIFY positionChanged FINAL) Q_PROPERTY(VLCTick length READ getLength NOTIFY lengthChanged FINAL) Q_PROPERTY(bool seekable READ isSeekable NOTIFY seekableChanged FINAL) @@ -205,7 +205,7 @@ public slots: void jumpFwd(); void jumpBwd(); void jumpToTime( VLCTick i_time ); -void jumpToPos( float ); +void jumpToPos( double ); void frameNext(); //title/chapters/menu @@ -282,8 +282,8 @@ public slots: VLCTick getTime() const; void setTime(VLCTick); VLCTick getRemainingTime() const; -float getPosition() const; -void setPosition(float); +double getPosition() const; +void setPosition(double); VLCTick getLength() const; bool isSeekable() const; bool isRewindable() const; @@ -399,10 +399,10 @@ signals: void timeChanged( VLCTick ); void remainingTimeChanged( VLCTick ); -void positionChanged( float ); +void positionChanged( double ); void lengthChanged( VLCTick ); -void positionUpdated( float , VLCTick, int ); -void seekRequested( float pos ); //not exposed through Q_PROPERTY +void positionUpdated( double , VLCTick, int ); +void seekRequested( double pos ); //not exposed through Q_PROPERTY void seekableChanged( bool ); void rewindableChanged( bool ); View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/361f419997a2f325c3534d34fdc4b0d24cc4a85a...240cfdbd2e41e73024101b3a6839658174ffabd1 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/361f419997a2f325c3534d34fdc4b0d24cc4a85a...240cfdbd2e41e73024101b3a6839658174ffabd1 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: configure: use qtpaths6 instead of qmake6
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 8ce83d83 by Steve Lhomme at 2024-05-17T07:46:28+00:00 configure: use qtpaths6 instead of qmake6 So we dont have to build qmake6. - - - - - 40d21f1f by Steve Lhomme at 2024-05-17T07:46:28+00:00 buildsystem: qt: read the qpaths as json So we dont have to parse all the lines. - - - - - 31938ff1 by Steve Lhomme at 2024-05-17T07:46:28+00:00 configure: clean the x262 check and fix typo - - - - - 361f4199 by Steve Lhomme at 2024-05-17T07:46:28+00:00 buildsystem: dont check qtpaths is a file Thats assuming we get a full path to the file, it may just be a command in the PATH. It is fine if that command doesnt exist, we check the error of the subprocess.run() call. - - - - - 2 changed files: - buildsystem/check_qml_module.py - configure.ac Changes: = buildsystem/check_qml_module.py = @@ -3,7 +3,6 @@ import json import argparse -import sys import os import subprocess from tempfile import NamedTemporaryFile @@ -78,43 +77,36 @@ class QmlModuleChecker: return ret -def getInstallInfo(self, qmake, qtconf): -if not os.path.isfile(qmake): -print("qmake not found") -return False - +def getInstallInfo(self, qtpaths, qtconf): +qtpaths_cmd = [ qtpaths, "--query", "--query-format", "json" ] if qtconf: -ret = subprocess.run( -[ qmake, "-qtconf", qtconf, "-query"], -stdout=subprocess.PIPE, stderr=subprocess.PIPE, -encoding="utf8" -) -else: -ret = subprocess.run( -[ qmake, "-query"], -stdout=subprocess.PIPE, stderr=subprocess.PIPE, -encoding="utf8" -) +qtpaths_cmd += [ "--qtconf", qtconf ] +ret = subprocess.run( +qtpaths_cmd, +stdout=subprocess.PIPE, stderr=subprocess.PIPE, +encoding="utf8" +) if ret.returncode != 0: print(ret.stderr.strip()) return False -binpath = None -libexec = None -qmlpath = None -qtmajor = "" -for l in ret.stdout.splitlines(): -l.strip() -if l.startswith("QT_HOST_BINS:"): -binpath = l.split(":", 1)[1] -elif l.startswith("QT_HOST_LIBEXECS:"): -libexec = l.split(":", 1)[1] -elif l.startswith("QT_INSTALL_QML:"): -self.qmlpath = l.split(":", 1)[1] -elif l.startswith("QT_VERSION:"): -qmlversion = l.split(":", 1)[1] -qtmajor = qmlversion.split(".")[0] +# Qt 6.6 outputs invalid json, try to fix it +qpaths_json = str(ret.stdout) +if ',\n}' in qpaths_json: +qpaths_json = qpaths_json.replace(',\n}', '\n}') +elif ',\r\n}' in qpaths_json: +qpaths_json = qpaths_json.replace(',\r\n}', '\r\n}') + +qtjson = json.loads(qpaths_json) +binpath = qtjson["QT_HOST_BINS"] +libexec = qtjson["QT_HOST_LIBEXECS"] +self.qmlpath = qtjson["QT_INSTALL_QML"] +qmlversion = qtjson["QT_VERSION"] +if qmlversion: +qtmajor = qmlversion.split(".")[0] +else: +qtmajor = "" if qtmajor == "6": self.qt5 = False @@ -148,12 +140,12 @@ class KeyValue(argparse.Action): def main(): parser = argparse.ArgumentParser("check for qml runtime dependencies") parser.add_argument( -"--qmake", type=str, required=True, -help="native qmake path") +"--qtpaths", type=str, required=True, +help="native qtpaths path") parser.add_argument( "--qtconf", type=str, required=False, -help="qmake qtconf path") +help="qtpaths qtconf path") parser.add_argument( "--modules", nargs="+", action=KeyValue, required=True, @@ -162,7 +154,7 @@ def main(): args = parser.parse_args() moduleChecker = QmlModuleChecker() -if not moduleChecker.getInstallInfo(args.qmake, args.qtconf): +if not moduleChecker.getInstallInfo(args.qtpaths, args.qtconf): exit(-1) with NamedTemporaryFile(mode="w+", suffix=".qml") as f: = configure.ac = @@ -3055,17 +3055,17 @@ dnl H262 encoder plugin (lib262) dnl AC_ARG_ENABLE([x262], AS_HELP_STRING([--enable-x262], [H262 encoding support with static libx262 (defau
[vlc-commits] [Git][videolan/vlc][master] videotoolbox: do not abort for NULL dropped frame
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 929aace3 by Marvin Scholz at 2024-05-17T05:51:33+00:00 videotoolbox: do not abort for NULL dropped frame In case a frame is marked as dropped, do not abort VideoToolbox decoding when the imageBuffer is NULL, as that is a valid case that can happen for lossy RTP streams for example. Fix #28420 - - - - - 1 changed file: - modules/codec/videotoolbox/decoder.c Changes: = modules/codec/videotoolbox/decoder.c = @@ -2125,10 +2125,16 @@ static void DecoderCallback(void *decompressionOutputRefCon, p_sys->vtsession_status = vtsession_status; goto end; } -if (unlikely(!imageBuffer)) + +if (!imageBuffer) { -msg_Err(p_dec, "critical: null imageBuffer with a valid status"); -p_sys->vtsession_status = VTSESSION_STATUS_ABORT; +if (unlikely((infoFlags & kVTDecodeInfo_FrameDropped) != kVTDecodeInfo_FrameDropped)) +{ +msg_Err(p_dec, "critical: null imageBuffer for a non-dropped frame with valid status"); +p_sys->vtsession_status = VTSESSION_STATUS_ABORT; +} else { +msg_Dbg(p_dec, "decoder dropped frame"); +} goto end; } View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/929aace30d6956dc4823959352ba51e3dc7a8692 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/929aace30d6956dc4823959352ba51e3dc7a8692 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] 17 commits: macosx: Make detached audio window control buttons more reasonably sized
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 546a036f by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Make detached audio window control buttons more reasonably sized Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - db26555f by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Use standard colour for time label in detached audio window Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 10c5a666 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Use actual titlebar instead of custom close button in detached audio window Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 6a333019 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Use default image corner cropping behaviour by default on detached audio window image view Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - c43d7c42 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Constify pointers in detached audio window Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - be00b9a8 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Apply Dark Aqua style on controls bar for detached audio window Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 5a813d78 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Apply shadow effect to bottom control bar for detached audio window Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - b78d3018 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Make wrapper view within detached audio window a main video overlay view Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 05236fc0 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Make darkest gradient colour for main video view overlay view settable Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - ccb43e66 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Customise overlay view in detached audio window for better visibility of controls Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 3fe20ba3 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Add option to disable border on bottom bar view Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - c16d21f6 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Disable border on bottom bar view of detached audio window Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 261d385c by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Add ability to set enter/exit handling blocks to VLCTrackingView Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 5ac57531 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Make time label on detached audio window more readable Bolden and add shadow Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 53e8fe6a by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Guard against nil handlers in tracking view Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - e4fc7a6f by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Maintain strong reference to handler blocks in tracking view Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - d97d5d71 by Claudio Cambra at 2024-05-17T04:50:56+00:00 macosx: Hide window buttons when mouse exits tracking view in detached audio window Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 9 changed files: - modules/gui/macosx/UI/VLCDetachedAudioWindow.xib - modules/gui/macosx/views/VLCBottomBarView.h - modules/gui/macosx/views/VLCBottomBarView.m - modules/gui/macosx/views/VLCTrackingView.h - modules/gui/macosx/views/VLCTrackingView.m - modules/gui/macosx/windows/VLCDetachedAudioWindow.h - modules/gui/macosx/windows/VLCDetachedAudioWindow.m - modules/gui/macosx/windows/video/VLCMainVideoViewOverlayView.h - modules/gui/macosx/windows/video/VLCMainVideoViewOverlayView.m Changes: = modules/gui/macosx/UI/VLCDetachedAudioWindow.xib = @@ -12,8 +12,8 @@ - - + + @@ -28,55 +28,53
[vlc-commits] [Git][videolan/vlc][master] 3 commits: rtp: h264: use vlc_sdp helpers
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: a6bc2fd1 by Marvin Scholz at 2024-05-17T04:14:03+00:00 rtp: h264: use vlc_sdp helpers Fixes parsing of these parameter names to be properly case-insensitive as per RFC 4855 Section 3: Similarly, parameter names are case-insensitive both in media type strings and in the default mapping to the SDP a=fmtp attribute. - - - - - 531530b0 by Marvin Scholz at 2024-05-17T04:14:03+00:00 rtp: h264: allow missing packetization-mode According to RFC 6184 Section 6.2, a missing packetization-mode indicates the Single NAS Unit Mode, the same as a mode of 0. - - - - - 1fb04ec9 by Marvin Scholz at 2024-05-17T04:14:03+00:00 rtp: h265: use vlc_sdp helpers Fixes parsing of these parameter names to be properly case-insensitive as per RFC 4855 Section 3: Similarly, parameter names are case-insensitive both in media type strings and in the default mapping to the SDP a=fmtp attribute. - - - - - 2 changed files: - modules/access/rtp/h264.c - modules/access/rtp/h265.c Changes: = modules/access/rtp/h264.c = @@ -25,6 +25,7 @@ #include #include "h26x.h" +#include "fmtp.h" #include #include @@ -271,8 +272,9 @@ static int rtp_h264_open(vlc_object_t *obj, struct vlc_rtp_pt *pt, if(!desc->parameters) return VLC_ENOTSUP; -const char *psz = strstr(desc->parameters, "packetization-mode="); -if(!psz || psz[19] == '\0' || atoi([19]) > 1) +uint8_t mode = 0; +int ret = vlc_sdp_fmtp_get(desc, "packetization-mode", ); +if ((ret && ret != -ENOENT) || mode > 1) return VLC_ENOTSUP; if (vlc_ascii_strcasecmp(desc->name, "H264") == 0) @@ -287,12 +289,10 @@ static int rtp_h264_open(vlc_object_t *obj, struct vlc_rtp_pt *pt, opaque->obj = obj; -if(desc->parameters) -{ -psz = strstr(desc->parameters, "sprop-parameter-sets="); -if(psz) -opaque->sdpxps = h26x_fillextradata(psz + 21); -} +size_t sprop_len; +const char *sprop = vlc_sdp_fmtp_get_str(desc, "sprop-parameter-sets", _len); +if (sprop && sprop_len) +opaque->sdpxps = h26x_fillextradata(sprop); return VLC_SUCCESS; } = modules/access/rtp/h265.c = @@ -25,6 +25,7 @@ #include #include "h26x.h" +#include "fmtp.h" #define FLAG_DONL 1 @@ -296,25 +297,23 @@ static int rtp_h265_open(vlc_object_t *obj, struct vlc_rtp_pt *pt, opaque->obj = obj; -if(desc->parameters) -{ -const char *psz = strstr(desc->parameters, "sprop-max-don-diff="); -if(psz) -opaque->b_donl = (atoi(psz + 19) > 0); -block_t **append = >sdpxps; -const char *props[] = { "sprop-vps=", "sprop-sps=", "sprop-pps=" }; -for(int i=0; iparameters, props[i]); -if(!psz) -continue; -block_t *xps = h26x_fillextradata(psz + 10); -if(xps) -block_ChainLastAppend(, xps); -} -if(opaque->sdpxps) -opaque->sdpxps = block_ChainGather(opaque->sdpxps); +uint16_t don_diff; +if(!vlc_sdp_fmtp_get(desc, "sprop-max-don-diff", _diff)) +opaque->b_donl = (don_diff > 0); + +block_t **append = >sdpxps; +const char *props[] = { "sprop-vps", "sprop-sps", "sprop-pps" }; +for(size_t i=0; isdpxps) +opaque->sdpxps = block_ChainGather(opaque->sdpxps); return VLC_SUCCESS; } View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/8205482c3ad8436c244f04b7a09e94b7acf9c66e...1fb04ec98ba0a813cf984cf077c3c27cb6297191 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/8205482c3ad8436c244f04b7a09e94b7acf9c66e...1fb04ec98ba0a813cf984cf077c3c27cb6297191 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: gme: backport assert patch
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 8205482c by Thomas Guillem at 2024-05-16T15:31:41+00: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. - - - - - 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 = @@ -18,6 +18,7 @@ game-music-emu: game-music-emu-$(GME_VERSION).tar.xz .sum-gme $(APPLY) $(SRC)/gme/0001-Export-the-proper-C-runtime-library.patch $(APPLY) $(SRC)/gme/0002-link-with-libm-and-set-it-in-pkg-config-when-buildin.patch $(APPLY) $(SRC)/gme/0003-fix-android-toolchain-broken-CMAKE_CXX_IMPLICIT_LINK.patch + $(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/8205482c3ad8436c244f04b7a09e94b7acf9c66e -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/8205482c3ad8436c244f04b7a09e94b7acf9c66e 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: add `empty` property to PlayerControlbarModel
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 86db4cad by Fatih Uzunoglu at 2024-05-16T14:26:26+00:00 qt: add `empty` property to PlayerControlbarModel - - - - - c2bd5559 by Fatih Uzunoglu at 2024-05-16T14:26:26+00:00 qml: hide PlayerControlLayout when the model is empty - - - - - 5a5cd550 by Fatih Uzunoglu at 2024-05-16T14:26:26+00:00 qml: consider `loaderLeftRight` in PlayerControlLayout implicit height calculation - - - - - 4 changed files: - modules/gui/qt/player/player_controlbar_model.cpp - modules/gui/qt/player/player_controlbar_model.hpp - modules/gui/qt/player/qml/ControlBar.qml - modules/gui/qt/player/qml/PlayerControlLayout.qml Changes: = modules/gui/qt/player/player_controlbar_model.cpp = @@ -92,6 +92,11 @@ bool PlayerControlbarModel::dirty() const return m_dirty; } +bool PlayerControlbarModel::empty() const +{ +return m_empty; +} + std::array, 3> PlayerControlbarModel::serializeModels() const { return { left()->getControls(), @@ -134,5 +139,19 @@ void PlayerControlbarModel::contentChanged() { setDirty(true); +{ +bool empty = true; +if ((m_left && m_left->rowCount() > 0) || +(m_center && m_center->rowCount() > 0) || +(m_right && m_right->rowCount() > 0)) +empty = false; + +if (empty != m_empty) +{ +m_empty = empty; +emit emptyChanged(empty); +} +} + emit controlListChanged(); } = modules/gui/qt/player/player_controlbar_model.hpp = @@ -34,6 +34,7 @@ class PlayerControlbarModel : public QObject Q_OBJECT Q_PROPERTY(bool dirty READ dirty WRITE setDirty NOTIFY dirtyChanged FINAL) +Q_PROPERTY(bool empty READ empty NOTIFY emptyChanged FINAL) Q_PROPERTY(ControlListModel* left READ left CONSTANT FINAL) Q_PROPERTY(ControlListModel* center READ center CONSTANT FINAL) @@ -70,6 +71,7 @@ public: ~PlayerControlbarModel(); bool dirty() const; +bool empty() const; std::array, 3> serializeModels() const; void loadModels(const std::array, 3>& array); @@ -83,10 +85,12 @@ public slots: signals: void dirtyChanged(bool dirty); +void emptyChanged(bool); void controlListChanged(); private: bool m_dirty = false; +bool m_empty = true; ControlListModel* m_left = nullptr; ControlListModel* m_center = nullptr; = modules/gui/qt/player/qml/ControlBar.qml = @@ -246,6 +246,8 @@ T.Pane { implicitHeight: MainCtx.pinVideoControls ? VLCStyle.controlLayoutHeightPinned : VLCStyle.controlLayoutHeight +visible: !model?.empty ?? false + Navigation.upItem: trackPositionSlider.enabled ? trackPositionSlider : root.Navigation.upItem onRequestLockUnlockAutoHide: (lock) => root.requestLockUnlockAutoHide(lock) = modules/gui/qt/player/qml/PlayerControlLayout.qml = @@ -59,7 +59,8 @@ FocusScope { implicitWidth: loaderLeftRight.active ? loaderLeftRight.implicitWidth : (loaderLeft.implicitWidth + loaderCenter.implicitWidth + loaderRight.implicitWidth) -implicitHeight: Math.max(loaderLeft.implicitHeight, loaderCenter.implicitHeight, loaderRight.implicitHeight) +implicitHeight: loaderLeftRight.active ? loaderLeftRight.implicitHeight + : Math.max(loaderLeft.implicitHeight, loaderCenter.implicitHeight, loaderRight.implicitHeight) // Events View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/10cee7560668590a59715d0b1bd769350e713a9d...5a5cd5505644d3765ab966b055374ad15e16a58e -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/10cee7560668590a59715d0b1bd769350e713a9d...5a5cd5505644d3765ab966b055374ad15e16a58e 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: connect signals when component is complete in VideoSurface
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 10cee756 by Fatih Uzunoglu at 2024-05-16T13:56:43+00:00 qt: connect signals when component is complete in VideoSurface Only after `QQuickItem::componentComplete()` is called, we are sure that all bindings are assigned. Currently, the signal handlers connected in construction depend on other bindings. This is not ideal, because there is no guarantee on the binding evaluation ordering. - - - - - 2 changed files: - modules/gui/qt/maininterface/videosurface.cpp - modules/gui/qt/maininterface/videosurface.hpp Changes: = modules/gui/qt/maininterface/videosurface.cpp = @@ -210,12 +210,6 @@ VideoSurface::VideoSurface(QQuickItem* parent) setAcceptedMouseButtons(Qt::AllButtons); setFlag(ItemAcceptsInputMethod, true); setFlag(ItemHasContents, true); - -connect(this, ::xChanged, this, ::onSurfacePositionChanged); -connect(this, ::yChanged, this, ::onSurfacePositionChanged); -connect(this, ::widthChanged, this, ::onSurfaceSizeChanged); -connect(this, ::heightChanged, this, ::onSurfaceSizeChanged); -connect(this, ::enabledChanged, this, ::updatePositionAndSize); } MainCtx* VideoSurface::getCtx() @@ -365,6 +359,19 @@ QSGNode*VideoSurface::updatePaintNode(QSGNode* oldNode, QQuickItem::UpdatePaintN return node; } +void VideoSurface::componentComplete() +{ +ViewBlockingRectangle::componentComplete(); + +connect(this, ::xChanged, this, ::onSurfacePositionChanged); +connect(this, ::yChanged, this, ::onSurfacePositionChanged); +connect(this, ::widthChanged, this, ::onSurfaceSizeChanged); +connect(this, ::heightChanged, this, ::onSurfaceSizeChanged); +connect(this, ::enabledChanged, this, ::updatePositionAndSize); + +updatePositionAndSize(); +} + void VideoSurface::onProviderVideoChanged(bool hasVideo) { if (!hasVideo) = modules/gui/qt/maininterface/videosurface.hpp = @@ -128,6 +128,8 @@ protected: QSGNode* updatePaintNode(QSGNode *, QQuickItem::UpdatePaintNodeData *) override; +void componentComplete() override; + signals: void ctxChanged(MainCtx*); void surfaceSizeChanged(QSizeF); View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/10cee7560668590a59715d0b1bd769350e713a9d -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/10cee7560668590a59715d0b1bd769350e713a9d 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: fix placeholder text color
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 988da9a1 by Prince Gupta at 2024-05-16T13:17:54+00:00 qml: fix placeholder text color - - - - - f2d70890 by Prince Gupta at 2024-05-16T13:17:54+00:00 qml: center align text of TextField - - - - - 1 changed file: - modules/gui/qt/widgets/qml/TextFieldExt.qml Changes: = modules/gui/qt/widgets/qml/TextFieldExt.qml = @@ -38,8 +38,12 @@ TextField { selectedTextColor : theme.fg.highlight selectionColor : theme.bg.highlight color : theme.fg.primary +placeholderTextColor: theme.fg.secondary + font.pixelSize: VLCStyle.fontSize_normal +verticalAlignment: Text.AlignVCenter + background: Rectangle { implicitWidth: 200 implicitHeight: 40 View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/b6da2c77cc274aa248a2b7d6489bbdcc7739827b...f2d708909cc127b15d8ea4e2950ff5aaa3c64fd2 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/b6da2c77cc274aa248a2b7d6489bbdcc7739827b...f2d708909cc127b15d8ea4e2950ff5aaa3c64fd2 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: qt: show quick window after the user interface is loaded successfully in compositor_wayland
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 0bff17ed by Fatih Uzunoglu at 2024-05-16T12:39:09+00:00 qt: show quick window after the user interface is loaded successfully in compositor_wayland - - - - - 88ef0727 by Fatih Uzunoglu at 2024-05-16T12:39:09+00:00 qt: show quick window after the user interface is loaded successfully in compositor_win7 - - - - - 3ba29b88 by Fatih Uzunoglu at 2024-05-16T12:39:09+00:00 qt: show quick window after the user interface is loaded successfully in compositor_x11 - - - - - b6da2c77 by Fatih Uzunoglu at 2024-05-16T12:39:09+00:00 qt: show quick window after the user interface is loaded successfully in compositor_dcomp - - - - - 4 changed files: - modules/gui/qt/maininterface/compositor_dcomp.cpp - modules/gui/qt/maininterface/compositor_wayland.cpp - modules/gui/qt/maininterface/compositor_win7.cpp - modules/gui/qt/maininterface/compositor_x11.cpp Changes: = modules/gui/qt/maininterface/compositor_dcomp.cpp = @@ -237,11 +237,15 @@ bool CompositorDirectComposition::makeMainInterface(MainCtx* mainCtx) connect(quickViewPtr, ::sceneGraphInitialized, , -[, ]() { +[, , quickViewPtr]() { if (!(QQuickWindow::graphicsApi() == QSGRendererInterface::Direct3D11 || QQuickWindow::graphicsApi() == QSGRendererInterface::Direct3D12)) { appropriateGraphicsApi = false; } +else +{ +quickViewPtr->show(); +} eventLoop.quit(); }, Qt::SingleShotConnection); @@ -260,8 +264,6 @@ bool CompositorDirectComposition::makeMainInterface(MainCtx* mainCtx) const bool ret = commonGUICreate(quickViewPtr, quickViewPtr, flags); -m_quickView->show(); - if (!m_quickView->isSceneGraphInitialized()) eventLoop.exec(); return (ret && appropriateGraphicsApi); = modules/gui/qt/maininterface/compositor_wayland.cpp = @@ -109,7 +109,7 @@ bool CompositorWayland::makeMainInterface(MainCtx* mainCtx) m_qmlView->setResizeMode(QQuickView::SizeRootObjectToView); m_qmlView->setColor(QColor(Qt::transparent)); -m_qmlView->show(); +m_qmlView->create(); QPlatformNativeInterface *nativeInterface = QGuiApplication::platformNativeInterface(); void* interfaceSurface = nativeInterface->nativeResourceForWindow("surface", m_qmlView.get()); @@ -118,8 +118,13 @@ bool CompositorWayland::makeMainInterface(MainCtx* mainCtx) m_waylandImpl->setupInterface(m_waylandImpl, interfaceSurface, dprForWindow(m_qmlView.get())); -return commonGUICreate(m_qmlView.get(), m_qmlView.get(), -CompositorVideo::CAN_SHOW_PIP | CompositorVideo::HAS_ACRYLIC); +const bool ret = commonGUICreate(m_qmlView.get(), m_qmlView.get(), + CompositorVideo::CAN_SHOW_PIP | CompositorVideo::HAS_ACRYLIC); + +if (ret) +m_qmlView->show(); + +return ret; } QWindow* CompositorWayland::interfaceMainWindow() const = modules/gui/qt/maininterface/compositor_win7.cpp = @@ -106,11 +106,14 @@ bool CompositorWin7::makeMainInterface(MainCtx* mainCtx) connect(m_nativeEventFilter.get(), ::windowStyleChanged, this, ::resetVideoZOrder); -m_qmlView->show(); - m_qmlWindowHWND = (HWND)m_qmlView->winId(); -return commonGUICreate(m_qmlView.get(), m_qmlView.get(), CompositorVideo::CAN_SHOW_PIP); +const bool ret = commonGUICreate(m_qmlView.get(), m_qmlView.get(), CompositorVideo::CAN_SHOW_PIP); + +if (ret) +m_qmlView->show(); + +return ret; } void CompositorWin7::destroyMainInterface() = modules/gui/qt/maininterface/compositor_x11.cpp = @@ -204,15 +204,15 @@ bool CompositorX11::makeMainInterface(MainCtx* mainCtx) m_qmlView->setFlag(Qt::WindowType::WindowTransparentForInput); m_qmlView->setParent(m_renderWindow.get()); -m_qmlView->winId(); -m_qmlView->show(); - +m_qmlView->create(); CompositorVideo::Flags flags = CompositorVideo::CAN_SHOW_PIP | HAS_ACRYLIC; if (m_renderWindow->supportExtendedFrame()) flags |= CompositorVideo::HAS_EXTENDED_FRAME; if (!commonGUICreate(m_renderWindow.get(), m_qmlView.get(), flags)) return false; +m_qmlView->show(); + if (m_blurBehind) m_renderWindow->m_hasAcrylic = true; View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/dea2eede25647f8a8e340898fb7d1bfb03285a41...b6da2c77cc274aa248a2b7d6489bbdcc7739827b -- This project
[vlc-commits] [Git][videolan/vlc][master] contrib: qtvlcdeps: use cmake to generate dependencies instead of qmake
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: dea2eede by Fatih Uzunoglu at 2024-05-16T09:54:16+00:00 contrib: qtvlcdeps: use cmake to generate dependencies instead of qmake - - - - - 4 changed files: - + contrib/src/qtvlcdeps/CMakeLists.txt - − contrib/src/qtvlcdeps/imports.qrc - contrib/src/qtvlcdeps/rules.mak - − contrib/src/qtvlcdeps/vlcdeps.pro Changes: = contrib/src/qtvlcdeps/CMakeLists.txt = @@ -0,0 +1,50 @@ +cmake_minimum_required(VERSION 3.16) + +project(qtvlcdeps VERSION 0.1 LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(Qt6 6.2 REQUIRED COMPONENTS Core Gui Qml Svg Quick Widgets QuickControls2) + +qt_standard_project_setup(REQUIRES 6.2) + +qt_add_executable(qtvlcdeps) + +qt_add_qml_module(qtvlcdeps +URI qtvlcdeps +RESOURCE_PREFIX qtvlcdeps +QML_FILES +Imports.qml +) + +qt_import_plugins(qtvlcdeps +INCLUDE Qt::QSvgIconPlugin Qt::QSvgPlugin Qt::QJpegPlugin Qt::QICOPlugin +) + +if (WIN32) +qt_import_plugins(qtvlcdeps +INCLUDE Qt::QWindowsIntegrationPlugin Qt::QModernWindowsStylePlugin +) +endif (WIN32) + +if (UNIX) +qt_import_plugins(qtvlcdeps +INCLUDE Qt::QXcbGlxIntegrationPlugin Qt::QXcbEglIntegrationPlugin Qt::QXcbIntegrationPlugin Qt::QWaylandIntegrationPlugin Qt::QWaylandEglPlatformIntegrationPlugin Qt::QGtk3ThemePlugin Qt::QXdgDesktopPortalThemePlugin Qt::QWaylandXdgShellPlatformIntegrationPlugin +) +endif (UNIX) + +if (APPLE) +qt_import_plugins(qtvlcdeps +INCLUDE Qt::QCocoaIntegrationPlugin Qt::QMacStylePlugin +) +endif (APPLE) + + +set_target_properties(qtvlcdeps PROPERTIES +WIN32_EXECUTABLE TRUE +qt_no_entrypoint TRUE +) + +target_link_libraries(qtvlcdeps +PRIVATE Qt6::Core Qt6::Gui Qt6::Qml Qt6::Svg Qt6::Quick Qt6::Widgets Qt6::QuickControls2 +) = contrib/src/qtvlcdeps/imports.qrc deleted = @@ -1,5 +0,0 @@ - - -Imports.qml - - = contrib/src/qtvlcdeps/rules.mak = @@ -14,7 +14,7 @@ ifeq ($(call need_pkg,"qtvlcdeps >= 0.1"),) PKGS_FOUND += qtvlcdeps endif -QT_VLC_DEP_SOURCES := Imports.qml Imports.qrc qtvlcdeps.pc.in vlcdeps.pro +QT_VLC_DEP_SOURCES := Imports.qml qtvlcdeps.pc.in CMakeLists.txt .sum-qtvlcdeps: touch $@ @@ -28,9 +28,9 @@ qtvlcdeps: $(MOVE) .qtvlcdeps: qtvlcdeps - rm -rf $https://code.videolan.org/videolan/vlc/-/commit/dea2eede25647f8a8e340898fb7d1bfb03285a41 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/dea2eede25647f8a8e340898fb7d1bfb03285a41 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] CI: update Android image with NDK26
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 7f47f0f6 by Steve Lhomme at 2024-05-16T08:13:52+00:00 CI: update Android image with NDK26 - - - - - 1 changed file: - extras/ci/gitlab-ci.yml Changes: = extras/ci/gitlab-ci.yml = @@ -24,7 +24,7 @@ variables: VLC_WIN_LLVM_MSVCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-msvcrt:20240212151604 VLC_WIN_LLVM_UCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-ucrt:20240212151604 VLC_DEBIAN_IMAGE: registry.videolan.org/vlc-debian-unstable:20240402131352 -VLC_ANDROID_IMAGE: registry.videolan.org/vlc-debian-android:20231013040434 +VLC_ANDROID_IMAGE: registry.videolan.org/vlc-debian-android:20240514145422 VLC_SNAP_IMAGE: registry.videolan.org/vlc-ubuntu-focal:20231013031754 VLC_RASPBIAN_IMAGE: registry.videolan.org/vlc-ubuntu-raspberry:20231013032350 VLC_WASM_EMSCRIPTEN: registry.videolan.org/vlc-debian-wasm-emscripten:20240313095757 @@ -579,7 +579,7 @@ tvos-arm64: name: $VLC_ANDROID_IMAGE script: | git clone https://code.videolan.org/videolan/libvlcjni.git -(cd libvlcjni && git checkout aa63288b6bb5c52dfacbdec95104cd4c86c7e9c2) +(cd libvlcjni && git checkout b4416c1acbd4714fbd2e648c13723b20f3b2d834) if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then CONTRIB_FLAGS="--with-prebuilt-contribs" else View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/7f47f0f67f6c16d0a9990b43df9972d64d951102 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/7f47f0f67f6c16d0a9990b43df9972d64d951102 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: qt: fix download link
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: d0916ebc by Khalid Masum at 2024-05-16T07:28:45+00:00 contrib: qt: fix download link Currently qtbase tarball download from vlc mirror fails because of an unwanted space inserted into the link. Fix it. - - - - - 1 changed file: - contrib/src/qt/rules.mak Changes: = contrib/src/qt/rules.mak = @@ -32,7 +32,7 @@ PKGS_FOUND += qt-tools endif $(TARBALLS)/qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz: - $(call download_pkg,$(QTBASE_URL), qt) + $(call download_pkg,$(QTBASE_URL),qt) .sum-qt: qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/d0916ebc8cbc324d5dfd502e391298cf7d1e0e88 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/d0916ebc8cbc324d5dfd502e391298cf7d1e0e88 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] Revert "contrib: enable rav1e for wasm32-emscripten"
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: eae3ef53 by Steve Lhomme at 2024-05-14T11:56:01+00:00 Revert contrib: enable rav1e for wasm32-emscripten This reverts commit 6db5fb2b64bcd267fb60ab7e6896f94c561a1b49. The wasm script currently builds with --disable-sout. So rav1e (AV1 encoder) will never be used. Once/if disable-sout is removed then it will be picked automatically. - - - - - 1 changed file: - extras/package/wasm-emscripten/build.sh Changes: = extras/package/wasm-emscripten/build.sh = @@ -146,7 +146,7 @@ diagnostic "vlc contribs: bootstrap" --disable-speexdsp --disable-taglib --disable-zvbi \ --disable-rnnoise --disable-libaribcaption \ --disable-ogg --disable-vorbis --disable-kate --disable-flac \ ---host=wasm32-unknown-emscripten --enable-rav1e +--host=wasm32-unknown-emscripten diagnostic "vlc contribs: make" if [ "$VLC_USE_PREBUILT_CONTRIBS" -ne "0" ]; then View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/eae3ef5363a1c19075108e2ac004e6d019c0e14a -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/eae3ef5363a1c19075108e2ac004e6d019c0e14a 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: configure: add extra code checks matching GCC 14
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: f28df587 by Steve Lhomme at 2024-05-14T07:16:15+00:00 configure: add extra code checks matching GCC 14 In gcc 14 some warnings are now turned into errors by default [1]. So of these were already errors in VLC. But theres are some that we can use. This will ensure the VLC code is ready for the GCC 14 move. However theres a chance some contribs dont build anymore, especially the old unmaintained ones. [1] https://gcc.gnu.org/gcc-14/porting_to.html#warnings-as-errors - - - - - 2825f83e by Steve Lhomme at 2024-05-14T07:16:15+00:00 meson: match configure extra C/C++ checks - - - - - 2 changed files: - configure.ac - meson.build Changes: = configure.ac = @@ -1188,9 +1188,9 @@ AC_ARG_ENABLE([extra_checks], [Turn some warnings into compilation error (default disabled)]),, [enable_extra_checks="no"]) AS_IF([test "${enable_extra_checks}" = "yes"], [ -AX_APPEND_COMPILE_FLAGS([-Werror=missing-field-initializers -Werror=format -Werror=incompatible-pointer-types -Werror=restrict -Werror=int-conversion -Werror=return-type], [CFLAGS]) +AX_APPEND_COMPILE_FLAGS([-Werror=missing-field-initializers -Werror=format -Werror=incompatible-pointer-types -Werror=restrict -Werror=int-conversion -Werror=return-type -Werror=implicit-int -Werror=return-mismatch -Werror=declaration-missing-parameter-type], [CFLAGS]) AC_LANG_PUSH(C++) -AX_APPEND_COMPILE_FLAGS([-Werror=missing-field-initializers -Werror=format -Werror=return-type], [CXXFLAGS]) +AX_APPEND_COMPILE_FLAGS([-Werror=missing-field-initializers -Werror=format -Werror=return-type -Werror=return-mismatch], [CXXFLAGS]) AC_LANG_POP(C++) ]) = meson.build = @@ -489,11 +489,16 @@ add_project_arguments(cc.get_supported_arguments([ if get_option('extra_checks') add_project_arguments(cc.get_supported_arguments([ '-Werror=missing-field-initializers', -'-Werror=format' +'-Werror=format', +'-Werror=return-type', +'-Werror=return-mismatch' ]), language: ['c', 'cpp']) add_project_arguments(cc.get_supported_arguments([ '-Werror=incompatible-pointer-types', -'-Werror=restrict' +'-Werror=restrict', +'-Werror=int-conversion', +'-Werror=implicit-int', +'-Werror=declaration-missing-parameter-type' ]), language: ['c']) endif View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2ddd86c84418688ae977e981c5be31db40e470e2...2825f83e666521ef616f6f581735e06a201816db -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2ddd86c84418688ae977e981c5be31db40e470e2...2825f83e666521ef616f6f581735e06a201816db 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: Use default NSColor for header texts for collection view supplementary element view
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 2ddd86c8 by Claudio Cambra at 2024-05-13T11:16:54+00:00 macosx: Use default NSColor for header texts for collection view supplementary element view Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 1 changed file: - modules/gui/macosx/library/VLCLibraryCollectionViewSupplementaryElementView.m Changes: = modules/gui/macosx/library/VLCLibraryCollectionViewSupplementaryElementView.m = @@ -39,7 +39,7 @@ NSString *VLCLibrarySupplementaryElementViewIdentifier = @"VLCLibrarySupplementa self = [super initWithFrame:frameRect]; if (self) { self.font = NSFont.VLClibrarySectionHeaderFont; -self.textColor = self.shouldShowDarkAppearance ? NSColor.VLClibraryDarkTitleColor : NSColor.VLClibraryLightTitleColor; +self.textColor = NSColor.headerTextColor; self.editable = NO; self.selectable = NO; self.bordered = NO; @@ -50,9 +50,4 @@ NSString *VLCLibrarySupplementaryElementViewIdentifier = @"VLCLibrarySupplementa return self; } -- (void)viewDidChangeEffectiveAppearance -{ -self.textColor = self.shouldShowDarkAppearance ? NSColor.VLClibraryDarkTitleColor : NSColor.VLClibraryLightTitleColor; -} - @end View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/2ddd86c84418688ae977e981c5be31db40e470e2 -- This project does not include diff previews in email notifications. View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/2ddd86c84418688ae977e981c5be31db40e470e2 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] 8 commits: configure: remove Qt6ShaderTools from required dependencies
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: b44f3fdd by Steve Lhomme at 2024-05-07T12:21:13+00:00 configure: remove Qt6ShaderTools from required dependencies We never use that code directly. We use qsb but as native with manual detection. - - - - - 0287e2d5 by Steve Lhomme at 2024-05-07T12:21:13+00:00 contrib: qtdeclarative: fix typo in native tool detection - - - - - f194a9b6 by Steve Lhomme at 2024-05-07T12:21:13+00:00 contrib: qtvlcdeps: remove qtshadertools dependency We dont need the qsb compiler to get the library dependencies of VLC. In any case it should be the native one, not the cross-compiled one. - - - - - 0b345853 by Steve Lhomme at 2024-05-07T12:21:13+00:00 contrib: qtshadertools: make the native tool depend on fxc2 We dont call the cross compiled tools. fxc is pretending to be a native tool. - - - - - edf3d53a by Steve Lhomme at 2024-05-07T12:21:13+00:00 contrib: qtshadertools: only build the native version We only need it as a native tool we call. - - - - - 13518a4b by Steve Lhomme at 2024-05-07T12:21:13+00:00 contrib: qtdeclarative: make qtdeclarative depend on qtdeclarative-tools It requires the native qmlcachegen to build. And we dont need the direct dependency on qsb. - - - - - 06b04130 by Steve Lhomme at 2024-05-07T12:21:13+00:00 contrib: fxc2: fix system fxc detection Inverted test introduced in 9c80a115fbfb6558eb7f7608dc58cbdcb59365ca. - - - - - 5a7ca642 by Steve Lhomme at 2024-05-07T12:21:13+00:00 contrib: dont set dependency string as definitive value Especially when its modified later. Some dependencies are not applied properly otherwise. - - - - - 9 changed files: - configure.ac - contrib/src/fxc2/rules.mak - contrib/src/iconv/rules.mak - contrib/src/mfx/rules.mak - contrib/src/orc/rules.mak - contrib/src/qtdeclarative/rules.mak - contrib/src/qtshadertools/rules.mak - contrib/src/qtvlcdeps/rules.mak - contrib/src/wixlzx/rules.mak Changes: = configure.ac = @@ -3965,7 +3965,7 @@ AS_IF([test "${enable_qt}" != "no"], [ QT_MINIMUM_VERSION=6.2 PKG_CHECK_MODULES([QT], m4_foreach([pkg], [ Qt6Core Qt6Widgets Qt6Gui Qt6Qml Qt6QmlModels Qt6QmlWorkerScript - Qt6Quick Qt6QuickControls2 Qt6QuickLayouts Qt6QuickTemplates2 Qt6ShaderTools + Qt6Quick Qt6QuickControls2 Qt6QuickLayouts Qt6QuickTemplates2 Qt6Svg ], [pkg >= ${QT_MINIMUM_VERSION}]), [ = contrib/src/fxc2/rules.mak = @@ -2,7 +2,7 @@ FXC2_HASH := 654c29d62a02714ea0bacfb118c3e05127f846e0 FXC2_VERSION := git-$(FXC2_HASH) FXC2_GITURL := $(GITHUB)/mozilla/fxc2.git -ifneq ($(shell fxc --version >/dev/null 2>&1 || echo FAIL),) +ifeq ($(shell fxc --version >/dev/null 2>&1 || echo FAIL),) PKGS_FOUND += fxc2 endif = contrib/src/iconv/rules.mak = @@ -15,7 +15,7 @@ endif endif endif -DEPS_iconv := +DEPS_iconv = ifdef HAVE_WINSTORE # gnulib uses GetFileInformationByHandle DEPS_iconv += alloweduwp $(DEPS_alloweduwp) = contrib/src/mfx/rules.mak = @@ -12,7 +12,7 @@ PKGS += mfx endif endif -DEPS_mfx := +DEPS_mfx = ifdef HAVE_WINSTORE DEPS_mfx += alloweduwp $(DEPS_alloweduwp) endif = contrib/src/orc/rules.mak = @@ -7,7 +7,7 @@ ifeq ($(call need_pkg,"orc-0.4"),) PKGS_FOUND += orc endif -DEPS_orc := +DEPS_orc = ifdef HAVE_WINSTORE # orc uses VirtualAlloc DEPS_orc += alloweduwp $(DEPS_alloweduwp) = contrib/src/qtdeclarative/rules.mak = @@ -4,12 +4,9 @@ QTDECLARATIVE_VERSION_MAJOR := 6.7 QTDECLARATIVE_VERSION := $(QTDECLARATIVE_VERSION_MAJOR).0 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) +DEPS_qtdeclarative-tools = qt-tools $(DEPS_qt-tools) qtshadertools-tools $(DEPS_qtshadertools-tools) -DEPS_qtdeclarative = qt $(DEPS_qt) qtshadertools $(DEPS_qtshadertools) -ifdef HAVE_CROSS_COMPILE -DEPS_qtdeclarative += qtdeclarative-tools $(DEPS_qtdeclarative-tools) qtshadertools-tools $(DEPS_qtshadertools-tools) -endif +DEPS_qtdeclarative = qt $(DEPS_qt) qtdeclarative-tools $(DEPS_qtdeclarative-tools) ifdef HAVE_WIN32 PKGS += qtdeclarative @@ -25,7 +22,7 @@ endif ifndef HAVE_CROSS_COMPILE PKGS_FOUND += qtdeclarative-tools else ifeq ($(call system_tool_majmin, qmlcachegen --version),$(QTDECLARATIVE_VERSION_MAJOR)) -PKGS_FOUND += qtshadertools-tools +PKGS_FOUND += qtdeclarative-tools endif $(TARBALLS)/qtdecla
[vlc-commits] [Git][videolan/vlc][master] meson: fix build
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 5762f3f1 by Thomas Guillem at 2024-05-07T10:27:44+02:00 meson: fix build Regression from 63f3e39652a7179b5d07c968471b5601810fc3a8 - - - - - 1 changed file: - modules/audio_output/meson.build Changes: = modules/audio_output/meson.build = @@ -94,7 +94,7 @@ if have_osx or have_ios or have_tvos frameworks['CoreMedia'], frameworks['Foundation'], frameworks['AVFoundation'], -] +], 'objc_args' : ['-fobjc-arc'] } endif View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/5762f3f17e156e49a8759ba14212c3cd50dc7d6f -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/5762f3f17e156e49a8759ba14212c3cd50dc7d6f 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: player: timer: fix paused state overridden
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 06d60eb5 by Thomas Guillem at 2024-05-07T07:33:26+00:00 player: timer: fix paused state overridden Player timer states are not really states but events. It is possible to receive a discontinuity while paused, in that case, the paused state was overridden causing UI timers to continue while paused. Store each events in different variables to fix this issue. Keeping the discontinuity event in the internal player state is useless since 1ecb283c87865d01b5f3c947c0e0912f63011d64. Fixes #28622 - - - - - 765d6117 by Thomas Guillem at 2024-05-07T07:33:26+00:00 player: timer: rename state to event See previous commit. - - - - - 3 changed files: - src/player/input.c - src/player/player.h - src/player/timer.c Changes: = src/player/input.c = @@ -272,12 +272,12 @@ vlc_player_input_HandleState(struct vlc_player_input *input, case VLC_PLAYER_STATE_STOPPING: input->started = false; -vlc_player_UpdateTimerState(player, NULL, -VLC_PLAYER_TIMER_STATE_DISCONTINUITY, +vlc_player_UpdateTimerEvent(player, NULL, +VLC_PLAYER_TIMER_EVENT_DISCONTINUITY, VLC_TICK_INVALID); -vlc_player_UpdateTimerState(player, NULL, -VLC_PLAYER_TIMER_STATE_STOPPING, +vlc_player_UpdateTimerEvent(player, NULL, +VLC_PLAYER_TIMER_EVENT_STOPPING, VLC_TICK_INVALID); if (input == player->input) @@ -289,8 +289,8 @@ vlc_player_input_HandleState(struct vlc_player_input *input, break; case VLC_PLAYER_STATE_PLAYING: input->pause_date = VLC_TICK_INVALID; -vlc_player_UpdateTimerState(player, NULL, -VLC_PLAYER_TIMER_STATE_PLAYING, +vlc_player_UpdateTimerEvent(player, NULL, +VLC_PLAYER_TIMER_EVENT_PLAYING, input->pause_date); /* fall through */ case VLC_PLAYER_STATE_STARTED: @@ -304,8 +304,8 @@ vlc_player_input_HandleState(struct vlc_player_input *input, assert(state_date != VLC_TICK_INVALID); input->pause_date = state_date; -vlc_player_UpdateTimerState(player, NULL, -VLC_PLAYER_TIMER_STATE_PAUSED, +vlc_player_UpdateTimerEvent(player, NULL, +VLC_PLAYER_TIMER_EVENT_PAUSED, input->pause_date); break; default: @@ -884,8 +884,8 @@ input_thread_Events(input_thread_t *input_thread, } else { -vlc_player_UpdateTimerState(player, event->output_clock.id, -VLC_PLAYER_TIMER_STATE_DISCONTINUITY, +vlc_player_UpdateTimerEvent(player, event->output_clock.id, +VLC_PLAYER_TIMER_EVENT_DISCONTINUITY, VLC_TICK_INVALID); } return; @@ -986,8 +986,8 @@ input_thread_Events(input_thread_t *input_thread, break; case INPUT_EVENT_CACHE: if (event->cache == 0.0f) -vlc_player_UpdateTimerState(player, NULL, - VLC_PLAYER_TIMER_STATE_DISCONTINUITY, +vlc_player_UpdateTimerEvent(player, NULL, + VLC_PLAYER_TIMER_EVENT_DISCONTINUITY, VLC_TICK_INVALID); input->cache = event->cache; vlc_player_SendEvent(player, on_buffering_changed, event->cache); = src/player/player.h = @@ -203,20 +203,18 @@ struct vlc_player_timer_source }; }; -enum vlc_player_timer_state +enum vlc_player_timer_event { -VLC_PLAYER_TIMER_STATE_PLAYING, -VLC_PLAYER_TIMER_STATE_PAUSED, -VLC_PLAYER_TIMER_STATE_DISCONTINUITY, -VLC_PLAYER_TIMER_STATE_STOPPING, +VLC_PLAYER_TIMER_EVENT_PLAYING, +VLC_PLAYER_TIMER_EVENT_PAUSED, +VLC_PLAYER_TIMER_EVENT_DISCONTINUITY, +VLC_PLAYER_TIMER_EVENT_STOPPING, }; struct vlc_player_timer { vlc_mutex_t lock; -enum vlc_player_timer_state state; - vlc_tick_t input_length; vlc_tick_t input_normal_time; vlc_tick_t last_ts; @@ -224,6 +222,8 @@ struct vlc_player_timer vlc_tick_t seek_ts; double seek_position; +bool paused; +bool stopping; bool seeking; struct vlc_player_timer_source sources[VLC_PLAYER_TIMER_TYPE_COUNT]; @@ -476,8 +
[vlc-commits] [Git][videolan/vlc][master] 15 commits: modules: move apple aouts to common folder
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 56a0d3d3 by Thomas Guillem at 2024-05-07T06:35:17+00:00 modules: move apple aouts to common folder - - - - - 2c5912df by Thomas Guillem at 2024-05-07T06:35:17+00:00 audiounit_ios: always set the preferred channel count So that we dont have to reset it after playback. Also, warn when the preferred channel count doesnt match with the input. - - - - - 716f by Thomas Guillem at 2024-05-07T06:35:17+00:00 audiounit_ios: rename avas_setPreferredNumberOfChannels - - - - - ab8ebdeb by Thomas Guillem at 2024-05-07T06:35:17+00:00 audiounit_ios: move setPreferredSampleRate in avas_PrepareFormat - - - - - 53e033bb by Thomas Guillem at 2024-05-07T06:35:17+00:00 audiounit_ios: log more NSErrror - - - - - 67149f7c by Thomas Guillem at 2024-05-07T06:35:17+00:00 Revert aout iOS: add support for spatial audio This reverts commit 744248f5ee6e2ffa205e2282036f9450025bc80f. SpatialAudio doesnt work with audiounit. This will be added back in the avsamplebuffer aout. - - - - - 8d799163 by Thomas Guillem at 2024-05-07T06:35:17+00:00 audiounit_ios: handle spatial audio Dont ask the core to downmix to stereo when spatialaudio is handled. Notify when we are playing multi channels. This is not supported by the audiounit_ios module but will be supported by the future avsamplebuffer module. - - - - - 2dea2862 by Thomas Guillem at 2024-05-07T06:35:17+00:00 audiounit_ios: replace SessionManager with a static atomic - - - - - da27196e by Thomas Guillem at 2024-05-07T06:35:17+00:00 audiounit_ios: make avas_SetActive standalone And not module (sys) dependant. - - - - - d35fce0a by Thomas Guillem at 2024-05-07T06:35:17+00:00 audiounit_ios: make avas_GetPortType standalone And not module (sys) dependant. - - - - - 53d58abb by Thomas Guillem at 2024-05-07T06:35:17+00:00 audiounit_ios: make avas_PrepareFormat standalone And not module (sys) dependant. - - - - - 49ea2f35 by Thomas Guillem at 2024-05-07T06:35:17+00:00 aout: apple: export channel_layout_MapFromVLC This will be used by the future avsamplebuffer aout. - - - - - c1420e41 by Thomas Guillem at 2024-05-07T06:35:17+00:00 aout: apple: export avas helpers - - - - - 97972a25 by Thomas Guillem at 2024-05-07T06:35:17+00:00 audiounit_ios: decrease priority No changes since the other aout module is macOS only (auhal) and wont interfere. - - - - - 63f3e396 by Thomas Guillem at 2024-05-07T06:35:17+00:00 aout: add avsamplebuffer This module enables SpatialAudio when playing multi channels content. This module has finer A/V sync delay: - 15-40ms on speaker/HDMI - -80ms with AirPlay - 80ms with bluetooth devices (was 250ms before). Airplay playback is now more stable, the VLC delay (via aout_TimingReport) is less than 100ms, so audio and video will play almost instantaneously. With audiounit_ios, the delay was 2 seconds making it harder to sync audio and video (since input tracks had to be delayed too). Note that even if the audio seems to be playing from the VLC side, the airplay will be silent for the first 2seconds. This can be improved by increasing the pts-delay (file-caching): 7seconds of pts-delay remove this latency (from 2secs to 100ms), but this is not something that could be enabled by default. One other improvement is that the airplay device will stop immediately when pausing/stopping/seeking. This module has a priority of 100, less than auhal, that can handle passthrough, but more than audiunit_ios. Therefore, this module will be the default one on iOS/tvOS, but can be selected by the user on macOS (or deselected on iOS/tvOS). This is temporary as it might be interesting for macOS users to use this aout as it can handle Spatial Audio. - - - - - 12 changed files: - modules/audio_output/Makefile.am - modules/audio_output/audiounit_ios.m → modules/audio_output/apple/audiounit_ios.m - modules/audio_output/auhal.c → modules/audio_output/apple/auhal.c - + modules/audio_output/apple/avaudiosession_common.h - + modules/audio_output/apple/avaudiosession_common.m - + modules/audio_output/apple/avsamplebuffer.m - + modules/audio_output/apple/channel_layout.c - + modules/audio_output/apple/channel_layout.h - modules/audio_output/coreaudio_common.c → modules/audio_output/apple/coreaudio_common.c - modules/audio_output/coreaudio_common.h → modules/audio_output/apple/coreaudio_common.h - modules/audio_output/meson.build - po/POTFILES.in Changes: = modules/audio_output/Makefile.am = @@ -117,20 +117,35 @@ if HAVE_WIN32_DESKTOP aout_LTLIBRARIES += libwaveout_plugin.la endif -libauhal_plugin_la_SOURCES = audio_output/auhal.c \ - audio_output/coreaudio_common.c audio_output/coreaudio_common.h +libavsamplebuffer_plugin_la_SOURCES = audio_output/apple/avsamplebuffer.m \ + audio_output/apple/channel_layout.c +if HAVE_IOS +libavsamplebuffer_plugin_la_SOURCES += audio_output/apple/avaudiosession_common.m +endif
[vlc-commits] [Git][videolan/vlc][master] 5 commits: qt: use `QVector` instead of `QVariantList` as...
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: ee5566c8 by Fatih Uzunoglu at 2024-05-07T05:58:14+00:00 qt: use `QVectorSharedInputItem` instead of `QVariantList` as `PlaylistListModel::getItemsForIndexes()` return type - - - - - 37dd8a1e by Fatih Uzunoglu at 2024-05-07T05:58:14+00:00 qt: use `QVectorSharedInputItem` instead of `QVariantList` as `NetworkDeviceModel::getItemsForIndexes()` return type - - - - - 8b36c244 by Fatih Uzunoglu at 2024-05-07T05:58:14+00:00 qt: use `QVectorSharedInputItem` instead of `QVariantList` as `NetworkMediaModel::getItemsForIndexes()` return type - - - - - ba05d461 by Fatih Uzunoglu at 2024-05-07T05:58:14+00:00 qml: add `isArray()` to Helpers.js `Array.isArray()` does not seem to work well with QML. - - - - - c7b294d9 by Fatih Uzunoglu at 2024-05-07T05:58:14+00:00 qml: avoid using `Array.isArray()` See QTBUG-112291. - - - - - 13 changed files: - modules/gui/qt/maininterface/qml/MainDisplay.qml - modules/gui/qt/network/networkdevicemodel.cpp - modules/gui/qt/network/networkdevicemodel.hpp - modules/gui/qt/network/networkmediamodel.cpp - modules/gui/qt/network/networkmediamodel.hpp - modules/gui/qt/playlist/playlist_model.cpp - modules/gui/qt/playlist/playlist_model.hpp - modules/gui/qt/playlist/qml/PlaylistListView.qml - modules/gui/qt/util/qml/FSM.qml - modules/gui/qt/util/qml/Helpers.js - modules/gui/qt/widgets/qml/ComboBoxExt.qml - modules/gui/qt/widgets/qml/DragItem.qml - modules/gui/qt/widgets/qml/PageLoader.qml Changes: = modules/gui/qt/maininterface/qml/MainDisplay.qml = @@ -79,7 +79,7 @@ FocusScope { MainCtx.hasGridListMode = Qt.binding(() => item.hasGridListMode !== undefined && item.hasGridListMode) MainCtx.search.available = Qt.binding(() => item.isSearchable !== undefined && item.isSearchable) MainCtx.sort.model = Qt.binding(function () { return item.sortModel }) -MainCtx.sort.available = Qt.binding(function () { return Array.isArray(item.sortModel) && item.sortModel.length > 0 }) +MainCtx.sort.available = Qt.binding(function () { return Helpers.isArray(item.sortModel) && item.sortModel.length > 0 }) if (Player.hasVideoOutput && MainCtx.hasEmbededVideo) _showMiniPlayer = true = modules/gui/qt/network/networkdevicemodel.cpp = @@ -559,10 +559,10 @@ bool NetworkDeviceModel::addAndPlay(const QModelIndexList& itemIdList) } /* Q_INVOKABLE */ -QVariantList NetworkDeviceModel::getItemsForIndexes(const QModelIndexList & indexes) const +QVector NetworkDeviceModel::getItemsForIndexes(const QModelIndexList & indexes) const { Q_D(const NetworkDeviceModel); -QVariantList items; +QVector items; for (const QModelIndex & modelIndex : indexes) { @@ -570,7 +570,7 @@ QVariantList NetworkDeviceModel::getItemsForIndexes(const QModelIndexList & inde if (!item) continue; - items.append(QVariant::fromValue(SharedInputItem(item->inputItem.get(), true))); +items.append(SharedInputItem(item->inputItem.get(), true)); } return items; = modules/gui/qt/network/networkdevicemodel.hpp = @@ -115,7 +115,7 @@ public: Q_INVOKABLE bool addAndPlay(const QVariantList& itemIdList); Q_INVOKABLE bool addAndPlay(const QModelIndexList& itemIdList); -Q_INVOKABLE QVariantList getItemsForIndexes(const QModelIndexList & indexes) const; +Q_INVOKABLE QVector getItemsForIndexes(const QModelIndexList & indexes) const; signals: void ctxChanged(); = modules/gui/qt/network/networkmediamodel.cpp = @@ -721,10 +721,10 @@ bool NetworkMediaModel::addAndPlay(const QModelIndexList& itemIdList) } /* Q_INVOKABLE */ -QVariantList NetworkMediaModel::getItemsForIndexes(const QModelIndexList & indexes) const +QVector NetworkMediaModel::getItemsForIndexes(const QModelIndexList & indexes) const { Q_D(const NetworkMediaModel); -QVariantList items; +QVector items; for (const QModelIndex & modelIndex : indexes) { @@ -736,7 +736,7 @@ QVariantList NetworkMediaModel::getItemsForIndexes(const QModelIndexList & index const NetworkTreeItem & tree = item->tree; -items.append(QVariant::fromValue(SharedInputItem(tree.media.get(), true))); +items.append(SharedInputItem(tree.media.get(), true)); } return items; = modules/gui/qt/network/networkmediamodel.hpp = @@ -174,7 +174,7 @@ public: Q_INVOKABLE bool addAndPlay(const QVariantList& itemIdList); Q_INVOKABLE
[vlc-commits] [Git][videolan/vlc][master] 5 commits: vout_subpictures: only use the y_margin for subtitle subpictures
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 7192c196 by Steve Lhomme at 2024-05-07T05:33:15+00:00 vout_subpictures: only use the y_margin for subtitle subpictures Its unused otherwise, but we keep it initialized. - - - - - 1d0e7df8 by Steve Lhomme at 2024-05-07T05:33:15+00:00 vout_subpictures: move non-text related code out of spu_PrerenderText() - - - - - 453e5347 by Steve Lhomme at 2024-05-07T05:33:15+00:00 vout_subpictures: use shallow copies for video formats for prerendering The formats wont be modified as they are passed as const. No need to copy the palette and Clean afterwards. - - - - - 0400168e by Steve Lhomme at 2024-05-07T05:33:15+00:00 video_widgets: use unsigned int for positioning Plus unlikely check. - - - - - 289427f5 by Steve Lhomme at 2024-05-07T05:33:15+00:00 display: document what each internal format is - - - - - 3 changed files: - src/video_output/display.c - src/video_output/video_widgets.c - src/video_output/vout_subpictures.c Changes: = src/video_output/display.c = @@ -249,8 +249,8 @@ typedef struct { struct vout_crop crop; /* */ -video_format_t source; -video_format_t display_fmt; +video_format_t source; // format coming from the decoder +video_format_t display_fmt; // format required on the input of the display module vlc_video_context *src_vctx; vout_display_place_t src_place; = src/video_output/video_widgets.c = @@ -116,7 +116,7 @@ static void DrawTriangle(subpicture_region_t *r, int fill, uint8_t color, */ static subpicture_region_t *OSDRegion(int x, int y, int width, int height) { -if( width == 0 || height == 0 ) +if( unlikely( width == 0 || height == 0 ) ) return NULL; video_palette_t palette; @@ -205,20 +205,21 @@ static subpicture_region_t *OSDSlider(int type, int position, */ static subpicture_region_t *OSDIcon(int type, const video_format_t *fmt) { -const float size_ratio = 0.05f; -const float margin_ratio = 0.07f; +const unsigned int size_ratio = 20; +const unsigned int margin_ratio = 14; -const int size = __MAX(fmt->i_visible_width, fmt->i_visible_height); -const int width = size * size_ratio; -const int height = size * size_ratio; -const int x = fmt->i_x_offset + fmt->i_visible_width - margin_ratio * size - width; -const int y = fmt->i_y_offset+ margin_ratio * size; - -if( width < 1 || height < 1 ) +const unsigned int size = __MAX(fmt->i_visible_width, fmt->i_visible_height); +if( size < size_ratio ) return NULL; +const unsigned int width = size / size_ratio; +const unsigned int height = width; +const unsigned int margin = size / margin_ratio; +const int x = fmt->i_x_offset + fmt->i_visible_width - margin - width; +const int y = fmt->i_y_offset+ margin; + subpicture_region_t *r = OSDRegion(__MAX(x, 0), - __MIN(y, (int)fmt->i_visible_height - height), + __MIN(y, (int)fmt->i_visible_height - (int)height), width, height); if (!r) return NULL; @@ -241,7 +242,7 @@ static subpicture_region_t *OSDIcon(int type, const video_format_t *fmt) DrawRect(r, STYLE_FILLED, COL_WHITE, delta, mid / 2, width - delta, height - 1 - mid / 2); DrawTriangle(r, STYLE_FILLED, COL_WHITE, width - delta, 0, delta, y2); if (type == OSD_MUTE_ICON) { -for(int y1 = 0; y1 <= height -1; y1++) +for(unsigned y1 = 0; y1 < height; y1++) DrawRect(r, STYLE_FILLED, COL_FILL, y1, y1, __MIN(y1 + delta, width - 1), y1); } } = src/video_output/vout_subpictures.c = @@ -1008,7 +1008,7 @@ static struct subpicture_region_rendered *SpuRenderRegion(spu_t *spu, * still exist. */ y_offset -= secondary_margin; } -else +else if (subpic->b_subtitle) { /* Use an absolute margin for secondary subpictures that have * already been placed but have been moved by the user */ @@ -1722,14 +1722,8 @@ static void spu_PrerenderSync(spu_private_t *sys, const subpicture_t *p_subpic) } static void spu_PrerenderText(spu_t *spu, subpicture_t *p_subpic, - const video_format_t *fmtsrc, const video_format_t *fmtdst, const vlc_fourcc_t *chroma_list) { -spu_UpdateOriginalSize(spu, p_subpic, fmtsrc); - -subpicture_Update(p_subpic, fmtsrc, fmtdst, - p_subpic->b_subtitle ? p_
[vlc-commits] [Git][videolan/vlc][master] 6 commits: macosx: Add loading indicator to main video view XIB
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: f3a8d4af by Claudio Cambra at 2024-05-07T03:32:49+00:00 macosx: Add loading indicator to main video view XIB Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - f11df7bc by Claudio Cambra at 2024-05-07T03:32:49+00:00 macosx: Show and hide loading indicator in main video view based on buffer fill state Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - b4ec0537 by Claudio Cambra at 2024-05-07T03:32:49+00:00 macosx: Run animation for main video view loading indicator Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 823f9a79 by Claudio Cambra at 2024-05-07T03:32:49+00:00 macosx: Hide main video view loading indicator on load Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 32399ea6 by Claudio Cambra at 2024-05-07T03:32:49+00:00 macosx: Do not mark audio decorative view property as readwrite outlet Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - ff02f0a9 by Claudio Cambra at 2024-05-07T03:32:49+00:00 macosx: Ensure loading indicator is visible above decorative view Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 3 changed files: - modules/gui/macosx/UI/VLCMainVideoView.xib - modules/gui/macosx/windows/video/VLCMainVideoViewController.h - modules/gui/macosx/windows/video/VLCMainVideoViewController.m Changes: = modules/gui/macosx/UI/VLCMainVideoView.xib = @@ -14,6 +14,7 @@ + @@ -426,13 +427,19 @@ + + + + + + = modules/gui/macosx/windows/video/VLCMainVideoViewController.h = @@ -35,7 +35,6 @@ NS_ASSUME_NONNULL_BEGIN @property (readwrite, strong) IBOutlet VLCVoutView *voutView; @property (readwrite, strong) IBOutlet NSBox *mainControlsView; @property (readwrite, strong) IBOutlet VLCMainVideoViewOverlayView *overlayView; -@property (readwrite, strong) IBOutlet VLCMainVideoViewAudioMediaDecorativeView *audioDecorativeView; @property (readwrite, strong) IBOutlet NSView *bottomBarView; @property (readwrite, strong) IBOutlet NSStackView *centralControlsStackView; @property (readwrite, strong) IBOutlet VLCMainVideoViewControlsBar *controlsBar; @@ -47,7 +46,9 @@ NS_ASSUME_NONNULL_BEGIN @property (readwrite, strong) IBOutlet NSLayoutConstraint *playlistButtonTrailingConstraint; @property (readwrite, strong) IBOutlet NSVisualEffectView *fakeTitleBar; @property (readwrite, strong) IBOutlet NSLayoutConstraint *fakeTitleBarHeightConstraint; +@property (readwrite, strong) IBOutlet NSProgressIndicator *loadingIndicator; +@property (readonly, strong) VLCMainVideoViewAudioMediaDecorativeView *audioDecorativeView; @property (readwrite, nonatomic) BOOL autohideControls; @property (readwrite, nonatomic) BOOL displayLibraryControls; @property (readonly) BOOL mouseOnControls; = modules/gui/macosx/windows/video/VLCMainVideoViewController.m = @@ -73,6 +73,10 @@ selector:@selector(playerCurrentItemTrackListChanged:) name:VLCPlayerTrackListChanged object:nil]; +[notificationCenter addObserver:self + selector:@selector(playerBufferChanged:) + name:VLCPlayerBufferChanged + object:nil]; } return self; } @@ -122,6 +126,7 @@ - (void)viewDidLoad { +self.loadingIndicator.hidden = YES; _autohideControls = YES; [self setDisplayLibraryControls:NO]; @@ -194,6 +199,23 @@ [self updateDecorativeViewVisibilityOnControllerChange:controller]; } +- (void)playerBufferChanged:(NSNotification *)notification +{ +NSParameterAssert(notification); +NSParameterAssert(notification.userInfo != nil); + +NSNumber * const bufferFillNumber = notification.userInfo[VLCPlayerBufferFill]; +NSAssert(bufferFillNumber != nil, @"Buffer fill number should not be nil"); + +const float bufferFill = bufferFillNumber.floatValue; +self.loadingIndicator.hidden = bufferFill == 1.0; +if (self.loadingIndicator.hidden) { +[self.loadingIndicator stopAnimation:self]; +} else { +[self.loadingIndicator startAnimation:self]; +} +} + - (BOOL)mouseOnControls { NSPoint mousePos = [self.v
[vlc-commits] [Git][videolan/vlc][master] qml: determine resize handle width according to scroll bar width
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 010853ff by Fatih Uzunoglu at 2024-05-07T03:10:56+00:00 qml: determine resize handle width according to scroll bar width Resize handle may overlap the scroll bar. In that case, using scroll bar may be impossible because the resize handle might have a width that is larger than the width of the scroll bar. Since scroll bar is not customized, we have no control over the width of the scroll bar. Therefore, in this patch it is proposed to set the width of resize handle to half of the scroll bars width. This makes both scrolling and resizing feasible. - - - - - 2 changed files: - modules/gui/qt/style/VLCStyle.qml - modules/gui/qt/widgets/qml/HorizontalResizeHandle.qml Changes: = modules/gui/qt/style/VLCStyle.qml = @@ -17,6 +17,7 @@ */ pragma Singleton import QtQuick +import QtQuick.Controls import org.videolan.vlc 0.1 QtObject { @@ -55,6 +56,9 @@ QtObject { readonly property double margin_xlarge: MainCtx.dp(32, scale); readonly property double margin_xxlarge: MainCtx.dp(36, scale); +property Component _scrollBarComponent: ScrollBar { } +property real resizeHandleWidth + // Borders readonly property int border: MainCtx.dp(1, scale) readonly property int focus_border: border @@ -326,4 +330,16 @@ QtObject { return Math.floor((width + column_spacing) / (column_width + column_spacing)) } +Component.onCompleted: { +{ +// Resize handle width setting: +const scrollBarObject = _scrollBarComponent.createObject() +console.assert(scrollBarObject) +const scrollBarWidth = scrollBarObject.width +scrollBarObject.destroy() + +_scrollBarComponent = null +resizeHandleWidth = (scrollBarWidth / 2) +} +} } = modules/gui/qt/widgets/qml/HorizontalResizeHandle.qml = @@ -39,7 +39,7 @@ MouseArea { property int _previousX cursorShape: Qt.SplitHCursor -width: VLCStyle.dp(8, VLCStyle.scale) +width: VLCStyle.resizeHandleWidth acceptedButtons: Qt.LeftButton onPressed: (mouse) => { View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/010853ff241ac37d5ee9e88211899eb832251d9f -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/010853ff241ac37d5ee9e88211899eb832251d9f 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 built-in color alpha function
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 0603a12b by Fatih Uzunoglu at 2024-05-06T15:30:01+00:00 qml: use built-in color alpha function - - - - - 4a9e83a2 by Fatih Uzunoglu at 2024-05-06T15:30:01+00:00 qml: remove setColorAlpha property from VLCStyle - - - - - 71e1ab15 by Fatih Uzunoglu at 2024-05-06T15:30:01+00:00 qt: do not expose `setColorAlpha()` anymore - - - - - 908fc5aa by Fatih Uzunoglu at 2024-05-06T15:30:01+00:00 qml: use built-in color tint instead of custom blend in AcrylicBackground - - - - - 30117791 by Fatih Uzunoglu at 2024-05-06T15:30:01+00:00 qt: do not expose `blendColors()` anymore - - - - - e1170346 by Fatih Uzunoglu at 2024-05-06T15:30:01+00:00 qml: remove blendColors property from VLCStyle - - - - - 85a93c00 by Fatih Uzunoglu at 2024-05-06T15:30:01+00:00 qt: remove `blendColors()` in systempalette.cpp - - - - - 11 changed files: - modules/gui/qt/player/qml/Player.qml - modules/gui/qt/player/qml/TracksMenu.qml - modules/gui/qt/player/qml/controlbarcontrols/PlayButton.qml - modules/gui/qt/player/qml/controlbarcontrols/TeletextWidget.qml - modules/gui/qt/playlist/qml/PlaylistDelegate.qml - modules/gui/qt/style/VLCStyle.qml - modules/gui/qt/style/systempalette.cpp - modules/gui/qt/style/systempalette.hpp - modules/gui/qt/widgets/qml/AcrylicBackground.qml - modules/gui/qt/widgets/qml/CSDWindowButtonSet.qml - modules/gui/qt/widgets/qml/PopupIconToolButton.qml Changes: = modules/gui/qt/player/qml/Player.qml = @@ -233,8 +233,8 @@ FocusScope { source: cover -screenColor: VLCStyle.setColorAlpha(bgtheme.bg.primary, .55) -overlayColor: VLCStyle.setColorAlpha(Qt.tint(bgtheme.fg.primary, bgtheme.bg.primary), 0.4) +screenColor: bgtheme.bg.primary.alpha(.55) +overlayColor: Qt.tint(bgtheme.fg.primary, bgtheme.bg.primary).alpha(0.4) } } @@ -602,7 +602,7 @@ FocusScope { height: playlistpopup.height -color: VLCStyle.setColorAlpha(windowTheme.bg.primary, 0.8) +color: windowTheme.bg.primary.alpha(0.8) PL.PlaylistListView { = modules/gui/qt/player/qml/TracksMenu.qml = @@ -65,9 +65,7 @@ T.Popup { background: Rectangle { // NOTE: The opacity should be stronger on a light background for readability. -color: (popupTheme.palette.isDark) - ? VLCStyle.setColorAlpha(popupTheme.bg.primary, 0.8) - : VLCStyle.setColorAlpha(popupTheme.bg.primary, 0.96) +color: popupTheme.bg.primary.alpha(popupTheme.palette.isDark ? 0.8 : 0.96) Rectangle { anchors.left: parent.left = modules/gui/qt/player/qml/controlbarcontrols/PlayButton.qml = @@ -256,7 +256,7 @@ T.Control { blurRadius: VLCStyle.dp(9) yOffset: VLCStyle.dp(4) -color: VLCStyle.setColorAlpha(theme.accent, 0.29) +color: theme.accent.alpha(0.29) } DropShadowImage { @@ -265,7 +265,7 @@ T.Control { blurRadius: VLCStyle.dp(14) yOffset: VLCStyle.dp(1) -color: VLCStyle.setColorAlpha(theme.accent, 1.0) +color: theme.accent.alpha(1.0) } Rectangle { = modules/gui/qt/player/qml/controlbarcontrols/TeletextWidget.qml = @@ -42,7 +42,7 @@ T.Pane { function _teletextButtonColor(item, base) { if (!item.enabled) -return VLCStyle.setColorAlpha(base, 0.2) +return base.alpha(0.2) else if (item.hovered && !item.down) return Qt.lighter(base) else = modules/gui/qt/playlist/qml/PlaylistDelegate.qml = @@ -129,7 +129,7 @@ T.ItemDelegate { // based on design, ColorContext can't handle this case if (!delegate.hovered) -return VLCStyle.setColorAlpha(theme.indicator, 0) +return theme.indicator.alpha(0) return theme.indicator } = modules/gui/qt/style/VLCStyle.qml = @@ -311,10 +311,6 @@ QtObject { readonly property int controlLayoutHeight: MainCtx.dp(64, scale) readonly property int controlLayoutHeightPinned: MainCtx.dp(32, scale) -//"alias" ColorHelper functions -readonly property var blendColors: vlc_style.palette.blendColors -readonly property var setColorAlpha: vlc_style.palette.setColorAlpha - function dp(size, scale) { if (scale === undefined) return MainCtx.dp(size, MainC
[vlc-commits] [Git][videolan/vlc][master] qml: establish binding in `delegateItem` property of FadingEdgeForListView
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 48b91984 by Fatih Uzunoglu at 2024-05-06T12:48:10+00:00 qml: establish binding in `delegateItem` property of FadingEdgeForListView When `listView.itemAtIndex(0)` is used, the delegate item is not resolved when new items added which makes it remain null. When `listView.count` is referred as done here, the QML engine establishes a relational binding and this causes the property to be updated each time the count is updated. Regression since 300b3b9c. - - - - - 1 changed file: - modules/gui/qt/widgets/qml/FadingEdgeForListView.qml Changes: = modules/gui/qt/widgets/qml/FadingEdgeForListView.qml = @@ -45,7 +45,7 @@ FadingEdge { listView.removeDisplaced?.running) ?? false // FIXME: Delegate with variable size -readonly property Item delegateItem: listView.itemAtIndex(0) +readonly property Item delegateItem: (listView.count > 0) ? listView.itemAtIndex(0) : null readonly property Item firstVisibleItem: { if (transitionsRunning || !delegateItem) View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/48b919841cd9e83febd58b8be6472c03051d5f5e -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/48b919841cd9e83febd58b8be6472c03051d5f5e 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: Set native full screen mode to on by default
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 87636f2f by Claudio Cambra at 2024-05-06T10:58:05+00:00 macosx: Set native full screen mode to on by default Signed-off-by: Claudio Cambra develo...@claudiocambra.com - - - - - 1 changed file: - modules/gui/macosx/main/macosx.m Changes: = modules/gui/macosx/main/macosx.m = @@ -135,7 +135,7 @@ vlc_module_begin() cannot_unload_broken_library() set_section(N_("Appearance"), 0) -add_bool("macosx-nativefullscreenmode", false, NATIVE_FULLSCREEN_MODE_ON_LION_TEXT, NATIVE_FULLSCREEN_MODE_ON_LION_LONGTEXT) +add_bool("macosx-nativefullscreenmode", true, NATIVE_FULLSCREEN_MODE_ON_LION_TEXT, NATIVE_FULLSCREEN_MODE_ON_LION_LONGTEXT) add_bool("macosx-statusicon", true, DISPLAY_STATUS_ICONMENU_TEXT, DISPLAY_STATUS_ICONMENU_LONGTEXT) add_bool("macosx-icon-change", true, ICONCHANGE_TEXT, ICONCHANGE_LONGTEXT) add_integer_with_range("macosx-max-volume", 125, 60, 200, VOLUME_MAX_TEXT, NULL) View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/87636f2f7bff3e9f19c8d0b3eced1f21a5ea42dc -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/87636f2f7bff3e9f19c8d0b3eced1f21a5ea42dc 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: qml: fix vertical anchor loop in EditorDNDView
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 7d71e47c by Fatih Uzunoglu at 2024-05-06T07:36:48+00:00 qml: fix vertical anchor loop in EditorDNDView - - - - - 11d21c7e by Fatih Uzunoglu at 2024-05-06T07:36:48+00:00 qml: limit footer drop areas height in EditorDNDView - - - - - 07085e4f by Fatih Uzunoglu at 2024-05-06T07:36:48+00:00 qml: use template control in EditorDNDDelegate Default Control may cause alignment and size issues here. This is observed with KDEs theme. - - - - - 2 changed files: - modules/gui/qt/dialogs/toolbar/qml/EditorDNDDelegate.qml - modules/gui/qt/dialogs/toolbar/qml/EditorDNDView.qml Changes: = modules/gui/qt/dialogs/toolbar/qml/EditorDNDDelegate.qml = @@ -17,7 +17,7 @@ */ import QtQuick -import QtQuick.Controls +import QtQuick.Templates as T import QtQuick.Layouts import QtQml.Models @@ -27,11 +27,16 @@ import "qrc:///player/" import "qrc:///widgets/" as Widgets import "qrc:///style/" -Control { +T.Control { id: control padding: background.border.width +implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, +implicitContentWidth + leftPadding + rightPadding) +implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, + implicitContentHeight + topPadding + bottomPadding) + readonly property int controlId: model.id property ListView dndView: null = modules/gui/qt/dialogs/toolbar/qml/EditorDNDView.qml = @@ -113,9 +113,7 @@ ListView { } footer: Item { -anchors.verticalCenter: parent.verticalCenter - -implicitHeight: VLCStyle.icon_medium +implicitHeight: playerBtnDND.height Binding on implicitWidth { delayed: true @@ -125,13 +123,14 @@ ListView { property alias dropVisible: footerDropArea.containsDrag Rectangle { +id: footerDropIndicator +anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left -anchors.top: parent.top -anchors.bottom: parent.bottom z: 2 implicitWidth: VLCStyle.dp(2, VLCStyle.scale) +implicitHeight: VLCStyle.icon_medium visible: dropVisible color: theme.accent @@ -140,7 +139,12 @@ ListView { DropArea { id: footerDropArea -anchors.fill: parent +anchors { +left: parent.left +right: parent.right +top: footerDropIndicator.top +bottom: footerDropIndicator.bottom +} onEntered: (drag) => { if (drag.source.dndView === playerBtnDND && View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/43f8925a604d7a90731f864cf52fc1a3d45dbdb2...07085e4ffb55338722da6c819bfc023e27c33a40 -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/43f8925a604d7a90731f864cf52fc1a3d45dbdb2...07085e4ffb55338722da6c819bfc023e27c33a40 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: handle scene graph error signal for graceful failure
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 43f8925a by Fatih Uzunoglu at 2024-05-06T06:58:26+00:00 qt: handle scene graph error signal for graceful failure Scene graph initialization occurs asynchronously, while `makeMainInterface()` expects an immediate return with an error code. In other compositor integrations, it is trivial to return immediately. However, in CompositorDirectComposition we have to wait for scene graph to initialize so that we know what graphics API it is using because DComp composition can only work with D3D11 and D3D12. In order to satisfy that, an event loop is used here to wait until the scene graph is initialized. This has worked fine, however there was no handling in case an error occurs during scene graph initialization. Now, we handle the error so that the interface is not stuck in waiting for the event loop to quit. This will make the interface hence the Qt module close gracefully. - - - - - 1 changed file: - modules/gui/qt/maininterface/compositor_dcomp.cpp Changes: = modules/gui/qt/maininterface/compositor_dcomp.cpp = @@ -257,6 +257,14 @@ bool CompositorDirectComposition::makeMainInterface(MainCtx* mainCtx) eventLoop.quit(); }, Qt::SingleShotConnection); +connect(quickViewPtr, +::sceneGraphError, +, +[, ](QQuickWindow::SceneGraphError error, const QString ) { +qWarning() << "CompositorDComp: Scene Graph Error: " << error << ", Message: " << message; +appropriateGraphicsApi = false; +eventLoop.quit(); +}, Qt::SingleShotConnection); CompositorVideo::Flags flags = CompositorVideo::CAN_SHOW_PIP; View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/43f8925a604d7a90731f864cf52fc1a3d45dbdb2 -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/43f8925a604d7a90731f864cf52fc1a3d45dbdb2 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] macosx: use VLC as CFBundleName
Steve Lhomme pushed to branch 3.0.x at VideoLAN / VLC Commits: 6f813f37 by Marvin Scholz at 2024-05-06T06:06:22+00:00 macosx: use VLC as CFBundleName Fix #28432 (cherry picked from commit 63d44f046a59f0090954022a9b44903f114152b0) Signed-off-by: Marvin Scholz epira...@gmail.com - - - - - 1 changed file: - share/Info.plist.in Changes: = share/Info.plist.in = @@ -1396,7 +1396,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - VLC media player + VLC CFBundleDisplayName VLC CFBundleShortVersionString View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/6f813f37e989d43da625fcdf8e63a28b06ca5bdb -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/6f813f37e989d43da625fcdf8e63a28b06ca5bdb 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] 18 commits: contrib: qtbase: disable feature `movie`
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 4494e8b2 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `movie` - - - - - 07e44f28 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `pdf` - - - - - 8caeb648 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `whatsthis` - - - - - a7bbd0be by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `style-fusion` on windows Windows Vista or Windows 11 style is used on Windows. Fusion style is not necessary. - - - - - 6bde59b8 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `lcdnumber` - - - - - e815ce07 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `syntaxhighlighter` - - - - - 93037e17 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `undoview` - - - - - 51356167 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `splashscreen` - - - - - 1fe394cd by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `dockwidget` - - - - - e7a748ba by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `mdiarea` - - - - - b5f17789 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `statusbar` - - - - - b3ac4574 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `statustip` - - - - - b91b8482 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtbase: disable feature `keysequenceedit` - - - - - 719eb06d by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtdeclarative: disable feature `quick-animatedimage` - - - - - e710da4c by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtdeclarative: disable feature `quick-flipable` - - - - - d2d6068b by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtdeclarative: disable feature `quick-sprite` - - - - - 1f994ae6 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtdeclarative: disable feature `quick-canvas` - - - - - 98a99a04 by Fatih Uzunoglu at 2024-05-06T05:20:31+00:00 contrib: qtdeclarative: disable feature `quicktemplates2-calendar` - - - - - 2 changed files: - contrib/src/qt/rules.mak - contrib/src/qtdeclarative/rules.mak Changes: = contrib/src/qt/rules.mak = @@ -60,10 +60,18 @@ ifdef HAVE_CROSS_COMPILE QTBASE_PLATFORM := -device-option CROSS_COMPILE=$(HOST)- endif +ifdef HAVE_WIN32 +QTBASE_CONFIG += -no-feature-style-fusion +endif + QTBASE_CONFIG += -static -opensource -confirm-license -opengl desktop -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 \ + -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-keysequenceedit \ -nomake examples -prefix $(PREFIX) -qt-host-path $(BUILDPREFIX) \ -- -DCMAKE_TOOLCHAIN_FILE=$(abspath toolchain.cmake) = contrib/src/qtdeclarative/rules.mak = @@ -63,7 +63,12 @@ QT_DECLARATIVE_COMMON_CONFIG := \ -DFEATURE_quickcontrols2_universal=OFF \ -DFEATURE_quickcontrols2_macos=OFF \ -DFEATURE_quickcontrols2_ios=OFF \ - -DFEATURE_qml_network=OFF + -DFEATURE_qml_network=OFF \ + -DFEATURE_quick_animatedimage=OFF \ + -DFEATURE_quick_flipable=OFF \ + -DFEATURE_quick_sprite=OFF \ + -DFEATURE_quick_canvas=OFF \ + -DFEATURE_quicktemplates2_calendar=OFF QT_DECLARATIVE_CONFIG := $(QT_DECLARATIVE_COMMON_CONFIG) \ -DCMAKE_TOOLCHAIN_FILE=$(PREFIX)/lib/cmake/Qt6/qt.toolchain.cmake \ View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6497bee48a9d7844532a715759b0b65a1bae7363...98a99a04428607685d04ded890b1728e44cf9387 -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6497bee48a9d7844532a715759b0b65a1bae7363...98a99a04428607685d04ded890b1728e44cf9387 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: qtdeclarative: never build qml, qmleasing, qmldom, qmlformat
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: a98c6b75 by Steve Lhomme at 2024-04-25T14:31:44+00:00 contrib: qtdeclarative: never build qml, qmleasing, qmldom, qmlformat We never use these tools and theyre not called internally. - - - - - e82dd57c by Steve Lhomme at 2024-04-25T14:31:44+00:00 contrib: qtdeclarative: disable remove Qt Labs code - - - - - 8efa3324 by Steve Lhomme at 2024-04-25T14:31:44+00:00 contrib: qtdeclarative: fix feature names - - - - - 1 changed file: - contrib/src/qtdeclarative/rules.mak Changes: = contrib/src/qtdeclarative/rules.mak = @@ -39,6 +39,14 @@ $(TARBALLS)/qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz: qtdeclarative: qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz .sum-qtdeclarative $(UNPACK) $(APPLY) $(SRC)/qtdeclarative/0001-Fix-incorrect-library-inclusion.patch + # disable unused CLI tools: qml, qmleasing, qmldom, qmlformat, qmltc + sed -i.orig -e 's,add_subdirectory(qml),#add_subdirectory(qml),' $(UNPACK_DIR)/tools/CMakeLists.txt + sed -i.orig -e 's,add_subdirectory(qmleasing),#add_subdirectory(qmleasing),' $(UNPACK_DIR)/tools/CMakeLists.txt + sed -i.orig -e 's,add_subdirectory(qmldom),#add_subdirectory(qmldom),' $(UNPACK_DIR)/tools/CMakeLists.txt + sed -i.orig -e 's,add_subdirectory(qmlformat),#add_subdirectory(qmlformat),' $(UNPACK_DIR)/tools/CMakeLists.txt + sed -i.orig -e 's,add_subdirectory(qmltc),#add_subdirectory(qmltc),' $(UNPACK_DIR)/tools/CMakeLists.txt + # disable QT labs feature we don't use + sed -i.orig -e 's,add_subdirectory(labs),#add_subdirectory(labs),' $(UNPACK_DIR)/src/CMakeLists.txt $(MOVE) QT_DECLARATIVE_COMMON_CONFIG := \ @@ -67,11 +75,11 @@ QT_DECLARATIVE_NATIVE_CONFIG := $(QT_DECLARATIVE_COMMON_CONFIG) \ -DFEATURE_qml_animation=OFF \ -DFEATURE_qml_delegate_model=OFF \ -DFEATURE_qml_itemmodel=OFF \ - -DFEATURE_qml_object-model=OFF \ - -DFEATURE_qml_table-model=OFF \ + -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 \ + -DCMAKE_TOOLCHAIN_FILE=$(BUILDPREFIX)/lib/cmake/Qt6/qt.toolchain.cmake .qtdeclarative-tools: BUILD_DIR=$https://code.videolan.org/videolan/vlc/-/compare/4c78bc6063b6006b8bad4bf53bfb2eef0626dffe...8efa3324f0107b7507435abff92bd7eba8283e00 -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4c78bc6063b6006b8bad4bf53bfb2eef0626dffe...8efa3324f0107b7507435abff92bd7eba8283e00 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] atomic: fix static vlc_atomic_rc_t init
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: 4c78bc60 by Thomas Guillem at 2024-04-25T13:11:15+00:00 atomic: fix static vlc_atomic_rc_t init It was never used, so no bad consequences (I plan to use it soon). - - - - - 1 changed file: - include/vlc_atomic.h Changes: = include/vlc_atomic.h = @@ -41,7 +41,7 @@ using std::memory_order_acq_rel; #include /* vlc_atomic_timedwait_daytime */ #define VLC_STATIC_RC { \ -.refs = 0 \ +.refs = (uintptr_t) 1 \ } typedef struct vlc_atomic_rc_t { View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/4c78bc6063b6006b8bad4bf53bfb2eef0626dffe -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/4c78bc6063b6006b8bad4bf53bfb2eef0626dffe 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: CSDWindowsButton: Removing font fallback for CSD Icons
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: c92889d0 by darshan jain at 2024-04-25T12:15:22+00:00 qml: CSDWindowsButton: Removing font fallback for CSD Icons Font fallback is not supported in Qt. By this MR the issue gets resolved and CSD icons display wrt Windows Version independently. - - - - - b06ef34a by darshan jain at 2024-04-25T12:15:22+00:00 qml: CSDWindowsButtonSet: adding useWinIcons for rendering CSD Icons - - - - - 2 changed files: - modules/gui/qt/widgets/qml/CSDWindowButton.qml - modules/gui/qt/widgets/qml/CSDWindowButtonSet.qml Changes: = modules/gui/qt/widgets/qml/CSDWindowButton.qml = @@ -35,8 +35,6 @@ T.Button { property bool showHovered: false property bool isThemeDark: false -readonly property bool useWinIcons: ((MainCtx.osName === MainCtx.Windows)&&(MainCtx.osVersion >= 10)) - readonly property bool _paintHovered: control.hovered || showHovered padding: 0 @@ -71,9 +69,15 @@ T.Button { text: control.iconTxt font.family:{ -if (useWinIcons) - return "Segoe Fluent Icons, Segoe MDL2 Assets" - +if (MainCtx.osName === MainCtx.Windows) +{ +if(MainCtx.osVersion === 10) +return "Segoe MDL2 Assets" + +else if(MainCtx.osVersion >= 11) +return "Segoe Fluent Icons" +} + return VLCIcons.fontFamily } = modules/gui/qt/widgets/qml/CSDWindowButtonSet.qml = @@ -33,6 +33,8 @@ Row { property color color: theme.fg.primary property color hoverColor: VLCStyle.setColorAlpha(theme.bg.primary, 0.5) +readonly property bool useWinIcons: ((MainCtx.osName === MainCtx.Windows)&&(MainCtx.osVersion >= 10)) + readonly property bool buttonHovered: { let h = false for (let i = 0; i < repeater.count; ++i) { View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ac178ac8e3132b40330c1344fe3700b38ad0b552...b06ef34af64f589c5dc5d8fce6799613588448ac -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ac178ac8e3132b40330c1344fe3700b38ad0b552...b06ef34af64f589c5dc5d8fce6799613588448ac 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: interop_vaapi: Don't use DeriveImage with ExportSurfaceHandle
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: b1e5a91d by David Rosca at 2024-04-25T09:34:15+00:00 interop_vaapi: Dont use DeriveImage with ExportSurfaceHandle DeriveImage is only needed when AcquireBufferHandle is used with old libva. - - - - - ac178ac8 by David Rosca at 2024-04-25T09:34:15+00:00 vaapi: chroma: Implement vaPutImage upload fallback - - - - - 2 changed files: - modules/hw/vaapi/chroma.c - modules/video_output/opengl/interop_vaapi.c Changes: = modules/hw/vaapi/chroma.c = @@ -262,18 +262,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 (p_sys->derive_failed || +vlc_vaapi_DeriveImage(VLC_OBJECT(filter), va_dpy, + vlc_vaapi_PicGetSurface(dest_pic), _img)) +{ +if (p_sys->image_fallback_failed) +goto error; + +p_sys->derive_failed = true; + +if (CreateFallbackImage(filter, dest_pic, va_dpy, _img)) +{ +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, _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 (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/interop_vaapi.c = @@ -86,9 +86,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; }; @@ -127,7 +128,7 @@ vaegl_release_last_pic(const struct vlc_gl_interop *interop, struct priv *priv) { vlc_object_t *o = VLC_OBJECT(interop->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(interop, priv->last.egl_images[i]); #if VA_CHECK_VERSION(1, 1, 0) @@ -135,9 +136,8 @@ vaegl_release_last_pic(const struct vlc_gl_interop *interop, 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); } @@ -196,33 +196,28 @@ tc_vaegl_update(const struct vlc_gl_interop *interop, uint32_t textures[], (void) plane_offset; struct priv *priv = interop->priv; vlc_object_t *o = VLC_OBJECT(interop->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 { -if (vlc_vaapi_DeriveImage(o, priv->vadpy, vlc_vaapi_PicGetSurface(pic), - _image)) -goto error; -release_image = true; - -asse
[vlc-commits] [Git][videolan/vlc][master] package: win32: don't install Qt pdbs if Qt is disabled
Steve Lhomme pushed to branch master at VideoLAN / VLC Commits: ffe24cb6 by Steve Lhomme at 2024-04-25T08:22:29+00:00 package: win32: dont install Qt pdbs if Qt is disabled - - - - - 1 changed file: - extras/package/win32/package.mak Changes: = extras/package/win32/package.mak = @@ -29,7 +29,9 @@ if ENABLE_PDB cp lib/.libs/libvlc.pdb '$(DESTDIR)$(bindir)' cp src/.libs/libvlccore.pdb '$(DESTDIR)$(bindir)' find '$(DESTDIR)$(libdir)/vlc/plugins' -name "*.dll" -exec sh -c "echo {} | sed -e 's@$(DESTDIR)$(libdir)/vlc/plugins/\(.*\)/\(.*\).dll@modules/.libs/\2.pdb $(DESTDIR)$(libdir)/vlc/plugins/\1@' | xargs -t cp " \; +if ENABLE_QT find modules/gui/qt/.libs/ -name "*.pdb" -exec cp {} '$(DESTDIR)$(libdir)/vlc/plugins/gui/' \; +endif endif touch $@ View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ffe24cb69db40ddfbc6cb7d93ea617ff2c8cce35 -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ffe24cb69db40ddfbc6cb7d93ea617ff2c8cce35 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