From 36fb679ef2da9b17454552aad33dd4f309f4cb21 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 29 Aug 2024 14:23:36 -0700 Subject: vlc: Upgrade to 3.0.21 Changes between 3.0.20 and 3.0.21: ---------------------------------- Decoders: * Improve Opus ambisonic support * Fix some ASS subtitle rendering issues * Fix Opus in MP4 behaviour * Fix VAAPI hw decoding with some drivers Input: * Add support for HTTP content range handling according to RFC 9110 * Fix some HLS Adaptive Streaming not working in audio-only mode Video Output: * Super Resolution scaling with AMD GPUs * The D3D11 HDR option can also turn on/off HDR for all sources regardless of the display * Improve subtitles rendering on Apple platforms of notably Asian languages by correcting font fallback lookups Video Filter: * New AMD VQ Enhancer filter * Add D3D11 option to use NVIDIA TrueHDR to generate HDR from SDR sources Audio Output: * Fix regression on macOS causing crashes when using audio devices with more than 9 channels Services Discovery: * Fix exposed UPnP directory URL schemes to be compliant with RFC 3986 Contrib: * Update FFmpeg to 4.4.4 * Update dav1d to 1.4.2 * Update libvpx to 1.14.1 libVLC: * the HWND passed to libvlc_media_player_set_hwnd must have the WS_CLIPCHILDREN style set. * Fix crashes when using caopengllayer Misc: * Fix various warnings, leaks and potential crashes * Fix security integer overflow in MMS module Signed-off-by: Khem Raj --- .../recipes-multimedia/vlc/vlc/4645.patch | 179 ---------- .../recipes-multimedia/vlc/vlc/4665.patch | 377 --------------------- .../recipes-multimedia/vlc/vlc_3.0.20.bb | 137 -------- .../recipes-multimedia/vlc/vlc_3.0.21.bb | 134 ++++++++ 4 files changed, 134 insertions(+), 693 deletions(-) delete mode 100644 meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch delete mode 100644 meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch delete mode 100644 meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb create mode 100644 meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb (limited to 'meta-multimedia') diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch deleted file mode 100644 index 3f2aa60512..0000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch +++ /dev/null @@ -1,179 +0,0 @@ -From 1e2918115ca2f5c4ffde00dc02ad89525714f6c2 Mon Sep 17 00:00:00 2001 -From: Thomas Guillem -Date: Tue, 5 Dec 2023 09:23:35 +0100 -Subject: [PATCH 1/5] input: fix incompatible-pointer-types assignment - -Fixes #28441 -Upstream-Status: Backport [https://code.videolan.org/videolan/vlc/-/merge_requests/4645] -Signed-off-by: Khem Raj ---- - src/input/input_internal.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/input/input_internal.h b/src/input/input_internal.h -index d29731edca1b..ea02f39f5add 100644 ---- a/src/input/input_internal.h -+++ b/src/input/input_internal.h -@@ -117,7 +117,7 @@ typedef struct input_thread_private_t - - /* Title infos FIXME multi-input (not easy) ? */ - int i_title; -- const input_title_t **title; -+ input_title_t * const *title; - - int i_title_offset; - int i_seekpoint_offset; --- -GitLab - - -From adcf4e66e2ce2c382bb97957c91bfde040f4f3ca Mon Sep 17 00:00:00 2001 -From: Zhao Zhili -Date: Thu, 1 Mar 2018 14:25:59 +0800 -Subject: [PATCH 2/5] yadif: fix variable type - -Signed-off-by: Thomas Guillem -(cherry picked from commit 77b86f4452be4dbe0d56a9cd1b66da61b116da60) -Signed-off-by: Thomas Guillem ---- - modules/video_filter/deinterlace/yadif.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/modules/video_filter/deinterlace/yadif.h b/modules/video_filter/deinterlace/yadif.h -index 4bc592ba9307..af16443d0804 100644 ---- a/modules/video_filter/deinterlace/yadif.h -+++ b/modules/video_filter/deinterlace/yadif.h -@@ -140,10 +140,10 @@ static void yadif_filter_line_c(uint8_t *dst, uint8_t *prev, uint8_t *cur, uint8 - } - - static void yadif_filter_line_c_16bit(uint8_t *dst8, uint8_t *prev8, uint8_t *cur8, uint8_t *next8, int w, int prefs, int mrefs, int parity, int mode) { -- uint8_t *dst = (uint8_t *)dst8; -- uint8_t *prev = (uint8_t *)prev8; -- uint8_t *cur = (uint8_t *)cur8; -- uint8_t *next = (uint8_t *)next8; -+ uint16_t *dst = (uint16_t *)dst8; -+ uint16_t *prev = (uint16_t *)prev8; -+ uint16_t *cur = (uint16_t *)cur8; -+ uint16_t *next = (uint16_t *)next8; - int x; - uint16_t *prev2= parity ? prev : cur ; - uint16_t *next2= parity ? cur : next; --- -GitLab - - -From 45198e5328ff2b2f4eb2fb76add0789fec26270f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= -Date: Sun, 3 Mar 2019 09:59:10 +0200 -Subject: [PATCH 3/5] swscale: avoid invalid pointer conversion - -(cherry picked from commit ab00e6c59d42e05ab08893091783d8b5febc0058) -Signed-off-by: Thomas Guillem ---- - modules/video_chroma/swscale.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/modules/video_chroma/swscale.c b/modules/video_chroma/swscale.c -index 8993d11ec5dd..11897527355c 100644 ---- a/modules/video_chroma/swscale.c -+++ b/modules/video_chroma/swscale.c -@@ -588,8 +588,9 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx, - { - filter_sys_t *p_sys = p_filter->p_sys; - uint8_t palette[AVPALETTE_SIZE]; -- uint8_t *src[4]; int src_stride[4]; -- uint8_t *dst[4]; int dst_stride[4]; -+ uint8_t *src[4], *dst[4]; -+ const uint8_t *csrc[4]; -+ int src_stride[4], dst_stride[4]; - - GetPixels( src, src_stride, p_sys->desc_in, &p_filter->fmt_in.video, - p_src, i_plane_count, b_swap_uvi ); -@@ -606,11 +607,14 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx, - GetPixels( dst, dst_stride, p_sys->desc_out, &p_filter->fmt_out.video, - p_dst, i_plane_count, b_swap_uvo ); - -+ for (size_t i = 0; i < ARRAY_SIZE(src); i++) -+ csrc[i] = src[i]; -+ - #if LIBSWSCALE_VERSION_INT >= ((0<<16)+(5<<8)+0) -- sws_scale( ctx, src, src_stride, 0, i_height, -+ sws_scale( ctx, csrc, src_stride, 0, i_height, - dst, dst_stride ); - #else -- sws_scale_ordered( ctx, src, src_stride, 0, i_height, -+ sws_scale_ordered( ctx, csrc, src_stride, 0, i_height, - dst, dst_stride ); - #endif - } --- -GitLab - - -From 4431076ad4a21fdcabd3f7ef1d61c45891689b0c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= -Date: Sun, 3 Mar 2019 17:20:04 +0200 -Subject: [PATCH 4/5] dynamicoverlay: fix variable shadowing - -(cherry picked from commit d42e05d6b2c061ae352c131d5aebf8c8d8aa6d35) -Signed-off-by: Thomas Guillem ---- - modules/spu/dynamicoverlay/dynamicoverlay_commands.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c -index a93462925e8a..a85f9aafb0b9 100644 ---- a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c -+++ b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c -@@ -899,12 +899,11 @@ static const commanddesc_static_t p_commands[] = - void RegisterCommand( filter_t *p_filter ) - { - filter_sys_t *p_sys = (filter_sys_t*) p_filter->p_sys; -- size_t i_index = 0; - - p_sys->i_commands = ARRAY_SIZE(p_commands); - p_sys->pp_commands = (commanddesc_t **) calloc( p_sys->i_commands, sizeof(commanddesc_t*) ); - if( !p_sys->pp_commands ) return; -- for( i_index = 0; i_index < p_sys->i_commands; i_index ++ ) -+ for( size_t i_index = 0; i_index < p_sys->i_commands; i_index ++ ) - { - p_sys->pp_commands[i_index] = (commanddesc_t *) malloc( sizeof(commanddesc_t) ); - if( !p_sys->pp_commands[i_index] ) return; --- -GitLab - - -From fda14fc7c013eb75291df10cc8b88336c51328ad Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= -Date: Mon, 26 Feb 2018 20:43:03 +0200 -Subject: [PATCH 5/5] dynamicoverlay: fix memory corruption - -Font alpha is 8-bits, not 32-bits. - -(cherry picked from commit 6f14081af7325d334a53126c4eea52bc30fc08a0) -Signed-off-by: Thomas Guillem ---- - modules/spu/dynamicoverlay/dynamicoverlay_commands.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c -index a85f9aafb0b9..7a71c6f2373a 100644 ---- a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c -+++ b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c -@@ -234,8 +234,12 @@ static int parser_SetTextAlpha( char *psz_command, char *psz_end, - skip_space( &psz_command ); - if( isdigit( (unsigned char)*psz_command ) ) - { -- if( parse_digit( &psz_command, &p_params->fontstyle.i_font_alpha ) == VLC_EGENERIC ) -+ int32_t value; -+ -+ if( parse_digit( &psz_command, &value ) == VLC_EGENERIC ) - return VLC_EGENERIC; -+ -+ p_params->fontstyle.i_font_alpha = value; - } - return VLC_SUCCESS; - } --- -GitLab - diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch deleted file mode 100644 index c9ef33358e..0000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch +++ /dev/null @@ -1,377 +0,0 @@ -From 770789f265761fc7ab2de69ca105fec4ad93d9e2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= -Date: Mon, 26 Feb 2018 20:36:29 +0200 -Subject: [PATCH 1/9] chromaprint: missing cast - -(cherry picked from commit 7bd5bab3e43ae187f7219db61ed85d06d2ba0547) -Signed-off-by: Steve Lhomme -Upstream-Status: Backport [https://code.videolan.org/videolan/vlc/-/merge_requests/4665] -Signed-off-by: Khem Raj ---- - modules/stream_out/chromaprint.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/stream_out/chromaprint.c b/modules/stream_out/chromaprint.c -index 80ec31ba2590..c76cbda3c2bb 100644 ---- a/modules/stream_out/chromaprint.c -+++ b/modules/stream_out/chromaprint.c -@@ -231,7 +231,7 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_sys_t *id, - if ( !p_sys->b_finished && id->i_samples > 0 && p_buf->i_buffer ) - { - if(! chromaprint_feed( p_sys->p_chromaprint_ctx, -- p_buf->p_buffer, -+ (int16_t *)p_buf->p_buffer, - p_buf->i_buffer / BYTESPERSAMPLE ) ) - msg_Warn( p_stream, "feed error" ); - id->i_samples -= i_samples; --- -GitLab - - -From 6179d6b843f2a93af6a3d51c4244766e3eba9e77 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= -Date: Sun, 14 Apr 2019 09:41:38 +0300 -Subject: [PATCH 2/9] win32: wrap {g,s}etsockopt() - -char * can alias anything, and Winsock relies on that. Unfortunately, -the compiler still issues warnings. This works around that. - -(cherry picked from commit 36715d9b79f34824e126c2bc3aee2f1c1c16af46) -Signed-off-by: Steve Lhomme ---- - include/vlc_network.h | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/include/vlc_network.h b/include/vlc_network.h -index 010454a01c09..e39ffd0bacaa 100644 ---- a/include/vlc_network.h -+++ b/include/vlc_network.h -@@ -183,6 +183,22 @@ VLC_API int vlc_close(int); - - /** @} */ - -+#ifdef _WIN32 -+static inline int vlc_getsockopt(int s, int level, int name, -+ void *val, socklen_t *len) -+{ -+ return getsockopt(s, level, name, (char *)val, len); -+} -+#define getsockopt vlc_getsockopt -+ -+static inline int vlc_setsockopt(int s, int level, int name, -+ const void *val, socklen_t len) -+{ -+ return setsockopt(s, level, name, (const char *)val, len); -+} -+#define setsockopt vlc_setsockopt -+#endif -+ - /* Portable network names/addresses resolution layer */ - - #define NI_MAXNUMERICHOST 64 --- -GitLab - - -From 3391108f9709f0d77d9297c94371cf9cd30f2cbe Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Thu, 7 Dec 2023 15:43:04 +0100 -Subject: [PATCH 3/9] netsync: use char for temporary local buffer - -On Windows recvfrom/revc/sendto expects a char*. ---- - modules/control/netsync.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/modules/control/netsync.c b/modules/control/netsync.c -index 2a6a1a6a2bf8..8c91034d7cf2 100644 ---- a/modules/control/netsync.c -+++ b/modules/control/netsync.c -@@ -181,7 +181,7 @@ static void *Master(void *handle) - intf_sys_t *sys = intf->p_sys; - for (;;) { - struct pollfd ufd = { .fd = sys->fd, .events = POLLIN, }; -- uint64_t data[2]; -+ char data[16]; - - if (poll(&ufd, 1, -1) < 0) - continue; -@@ -198,8 +198,8 @@ static void *Master(void *handle) - if (master_system < 0) - continue; - -- data[0] = hton64(mdate()); -- data[1] = hton64(master_system); -+ SetQWBE(&data[0], mdate()); -+ SetQWBE(&data[8], master_system); - - /* Reply to the sender */ - sendto(sys->fd, data, 16, 0, -@@ -224,7 +224,7 @@ static void *Slave(void *handle) - - for (;;) { - struct pollfd ufd = { .fd = sys->fd, .events = POLLIN, }; -- uint64_t data[2]; -+ char data[16]; - - vlc_tick_t system = GetPcrSystem(sys->input); - if (system < 0) -@@ -233,7 +233,7 @@ static void *Slave(void *handle) - /* Send clock request to the master */ - const vlc_tick_t send_date = mdate(); - -- data[0] = hton64(system); -+ SetQWBE(&data[0], system); - send(sys->fd, data, 8, 0); - - /* Don't block */ -@@ -244,8 +244,8 @@ static void *Slave(void *handle) - if (recv(sys->fd, data, 16, 0) < 16) - goto wait; - -- const vlc_tick_t master_date = ntoh64(data[0]); -- const vlc_tick_t master_system = ntoh64(data[1]); -+ const vlc_tick_t master_date = GetQWBE(&data[0]); -+ const vlc_tick_t master_system = GetQWBE(&data[8]); - const vlc_tick_t diff_date = receive_date - - ((receive_date - send_date) / 2 + master_date); - --- -GitLab - - -From 27e584d7b9add8dbbb82b7227228e1ec1e25a089 Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Tue, 3 Jan 2023 13:23:00 +0100 -Subject: [PATCH 4/9] access/dtv: move the lfind() Windows hack in the module - -So that we don't have to include search.h each time vlc_fixups.h is used. - -The Win32 prototype of lfind() expects an unsigned* for 'nelp', not a size_t*. - -(cherry picked from commit 7c43bcba27b6fe256456d93a9d32e10648f08da8) -Signed-off-by: Steve Lhomme ---- - include/vlc_fixups.h | 3 +++ - modules/access/dtv/access.c | 5 +++++ - 2 files changed, 8 insertions(+) - -diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h -index 37f788933779..861cb4cc5063 100644 ---- a/include/vlc_fixups.h -+++ b/include/vlc_fixups.h -@@ -501,8 +501,11 @@ void *tsearch( const void *key, void **rootp, int(*cmp)(const void *, const void - void *tfind( const void *key, const void **rootp, int(*cmp)(const void *, const void *) ); - void *tdelete( const void *key, void **rootp, int(*cmp)(const void *, const void *) ); - void twalk( const void *root, void(*action)(const void *nodep, VISIT which, int depth) ); -+#ifndef _WIN32 -+/* the Win32 prototype of lfind() expects an unsigned* for 'nmemb' */ - void *lfind( const void *key, const void *base, size_t *nmemb, - size_t size, int(*cmp)(const void *, const void *) ); -+#endif - #endif /* HAVE_SEARCH_H */ - #ifndef HAVE_TDESTROY - void tdestroy( void *root, void (*free_node)(void *nodep) ); -diff --git a/modules/access/dtv/access.c b/modules/access/dtv/access.c -index d9756c7b4885..c6ca5005883c 100644 ---- a/modules/access/dtv/access.c -+++ b/modules/access/dtv/access.c -@@ -32,6 +32,11 @@ - #ifdef HAVE_SEARCH_H - #include - #endif -+#if defined(_WIN32) -+/* the Win32 prototype of lfind() expects an unsigned* for 'nelp' */ -+# define lfind(a,b,c,d,e) \ -+ lfind((a),(b), &(unsigned){ (*(c) > UINT_MAX) ? UINT_MAX : *(c) }, (d),(e)) -+#endif - - #include "dtv/dtv.h" - --- -GitLab - - -From 5a9ca37a95b6e85e6beaaefba9aa4a886a45411c Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Mon, 15 Jul 2019 12:41:29 +0200 -Subject: [PATCH 5/9] vlc_common: fix swab() calls on win32 that don't use - const on source pointer - -(cherry picked from commit a9e0b1124e19225b903a2926951781e84002c410) -Signed-off-by: Steve Lhomme ---- - include/vlc_common.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/include/vlc_common.h b/include/vlc_common.h -index 8090b277150d..089878581763 100644 ---- a/include/vlc_common.h -+++ b/include/vlc_common.h -@@ -947,6 +947,11 @@ static inline void SetQWLE (void *p, uint64_t qw) - # define O_NONBLOCK 0 - # endif - -+/* the mingw32 swab() and win32 _swab() prototypes expect a char* instead of a -+ const void* */ -+# define swab(a,b,c) swab((char*) (a), (char*) (b), (c)) -+ -+ - # include - #endif /* _WIN32 */ - --- -GitLab - - -From b758e19479a80604e3feb470b197e4a13a203a85 Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Wed, 10 Jul 2019 08:23:45 +0200 -Subject: [PATCH 6/9] avcodec: encoder: fix MPEG4 matrix passed as const - -lavc expects a pointer that it will free in avcodec_free_context(). - -(cherry picked from commit d86c4c87aa78130a4fd00294e25df865d0e2b327) -Signed-off-by: Steve Lhomme ---- - modules/codec/avcodec/encoder.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c -index 2b1c3604713d..4919ccf0e0e4 100644 ---- a/modules/codec/avcodec/encoder.c -+++ b/modules/codec/avcodec/encoder.c -@@ -588,8 +588,14 @@ int InitVideoEnc( vlc_object_t *p_this ) - - if ( p_sys->b_mpeg4_matrix ) - { -- p_context->intra_matrix = mpeg4_default_intra_matrix; -- p_context->inter_matrix = mpeg4_default_non_intra_matrix; -+ p_context->intra_matrix = av_malloc( sizeof(mpeg4_default_intra_matrix) ); -+ if ( p_context->intra_matrix ) -+ memcpy( p_context->intra_matrix, mpeg4_default_intra_matrix, -+ sizeof(mpeg4_default_intra_matrix)); -+ p_context->inter_matrix = av_malloc( sizeof(mpeg4_default_non_intra_matrix) ); -+ if ( p_context->inter_matrix ) -+ memcpy( p_context->inter_matrix, mpeg4_default_non_intra_matrix, -+ sizeof(mpeg4_default_non_intra_matrix)); - } - - if ( p_sys->b_pre_me ) --- -GitLab - - -From 55be3ce60795a09d13861c5637c1fe7aebc5ce8b Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Thu, 7 Dec 2023 14:18:22 +0100 -Subject: [PATCH 7/9] smb: fix potential string to wide string copy - -The type of net_resource depends on the UNICODE define. ---- - modules/access/smb.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/modules/access/smb.c b/modules/access/smb.c -index 5fe56f0c9dfe..6add2a3e6278 100644 ---- a/modules/access/smb.c -+++ b/modules/access/smb.c -@@ -524,7 +524,7 @@ static void Win32AddConnection( stream_t *p_access, const char *psz_server, - const char *psz_pwd, const char *psz_domain ) - { - char psz_remote[MAX_PATH]; -- NETRESOURCE net_resource; -+ NETRESOURCEA net_resource; - DWORD i_result; - VLC_UNUSED( psz_domain ); - -@@ -544,7 +544,7 @@ static void Win32AddConnection( stream_t *p_access, const char *psz_server, - - net_resource.lpRemoteName = psz_remote; - -- i_result = WNetAddConnection2( &net_resource, psz_pwd, psz_user, 0 ); -+ i_result = WNetAddConnection2A( &net_resource, psz_pwd, psz_user, 0 ); - - if( i_result != NO_ERROR ) - { --- -GitLab - - -From 5ae924bf212dce64a6424561d92426dbcc2cf3a0 Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Wed, 6 Dec 2023 14:45:46 +0100 -Subject: [PATCH 8/9] dxva2: add missing mask initializers - ---- - modules/codec/avcodec/dxva2.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/modules/codec/avcodec/dxva2.c b/modules/codec/avcodec/dxva2.c -index 18b872fe0fe3..2e6809a05410 100644 ---- a/modules/codec/avcodec/dxva2.c -+++ b/modules/codec/avcodec/dxva2.c -@@ -84,12 +84,12 @@ DEFINE_GUID(DXVA_Intel_H264_NoFGT_ClearVideo, 0x604F8E68, 0x4951, 0x4c54, - - /* XXX Preferred format must come first */ - static const d3d9_format_t d3d_formats[] = { -- { "YV12", MAKEFOURCC('Y','V','1','2'), VLC_CODEC_YV12 }, -- { "NV12", MAKEFOURCC('N','V','1','2'), VLC_CODEC_NV12 }, -- //{ "IMC3", MAKEFOURCC('I','M','C','3'), VLC_CODEC_YV12 }, -- { "P010", MAKEFOURCC('P','0','1','0'), VLC_CODEC_P010 }, -+ { "YV12", MAKEFOURCC('Y','V','1','2'), VLC_CODEC_YV12, 0,0,0 }, -+ { "NV12", MAKEFOURCC('N','V','1','2'), VLC_CODEC_NV12, 0,0,0 }, -+ //{ "IMC3", MAKEFOURCC('I','M','C','3'), VLC_CODEC_YV12, 0,0,0 }, -+ { "P010", MAKEFOURCC('P','0','1','0'), VLC_CODEC_P010, 0,0,0 }, - -- { NULL, 0, 0 } -+ { NULL, 0, 0, 0,0,0 } - }; - - static const d3d9_format_t *D3dFindFormat(D3DFORMAT format) --- -GitLab - - -From 08c7a66780740679ba1b0abe9e30e73afc6bc271 Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Wed, 6 Dec 2023 07:48:29 +0100 -Subject: [PATCH 9/9] win32/modules: use cast with GetProcAddress function - pointers - ---- - src/text/url.c | 3 ++- - src/win32/plugin.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/text/url.c b/src/text/url.c -index b962eb31f849..2eb4b8d10817 100644 ---- a/src/text/url.c -+++ b/src/text/url.c -@@ -892,7 +892,8 @@ static int IdnToAscii(DWORD flags, LPCWSTR str, int len, LPWSTR buf, int size) - int (WINAPI *IdnToAsciiReal)(DWORD, LPCWSTR, int, LPWSTR, int); - int ret = 0; - -- IdnToAsciiReal = GetProcAddress(h, "IdnToAscii"); -+ IdnToAsciiReal = (int (WINAPI *)(DWORD, LPCWSTR, int, LPWSTR, int)) -+ GetProcAddress(h, "IdnToAscii"); - if (IdnToAsciiReal != NULL) - ret = IdnToAsciiReal(flags, str, len, buf, size); - else -diff --git a/src/win32/plugin.c b/src/win32/plugin.c -index 1a65521fca75..b5c336eb99ca 100644 ---- a/src/win32/plugin.c -+++ b/src/win32/plugin.c -@@ -45,7 +45,8 @@ static BOOL WINAPI SetThreadErrorModeFallback(DWORD mode, DWORD *oldmode) - - BOOL (WINAPI *SetThreadErrorModeReal)(DWORD, DWORD *); - -- SetThreadErrorModeReal = GetProcAddress(h, "SetThreadErrorMode"); -+ SetThreadErrorModeReal = (BOOL (WINAPI *)(DWORD, DWORD *)) -+ GetProcAddress(h, "SetThreadErrorMode"); - if (SetThreadErrorModeReal != NULL) - return SetThreadErrorModeReal(mode, oldmode); - --- -GitLab - diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb deleted file mode 100644 index 2a6b27add0..0000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb +++ /dev/null @@ -1,137 +0,0 @@ -DESCRIPTION = "Video player and streamer - davinci edition" -HOMEPAGE = "http://www.videolan.org" -SECTION = "multimedia" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native bison-native \ - dbus libxml2 gnutls \ - tremor faad2 ffmpeg flac alsa-lib \ - lua-native lua libidn \ - avahi jpeg xz libmodplug \ - libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \ - tiff" - -LDFLAGS:append:riscv64 = " -latomic" -LDFLAGS:append:riscv32 = " -latomic" - -SRC_URI = "https://get.videolan.org/${BPN}/${PV}/${BP}.tar.xz \ - file://0001-make-opencv-configurable.patch \ - file://0002-use-vorbisidec.patch \ - file://0003-fix-luaL-checkint.patch \ - file://0004-Use-packageconfig-to-detect-mmal-support.patch \ - file://0005-ioctl-does-not-have-same-signature-between-glibc-and.patch \ - file://0006-configure-Disable-incompatible-function-pointer-type.patch \ - file://taglib-2.patch \ - file://0001-taglib-Fix-build-on-x86-32-bit.patch \ - file://4645.patch \ - file://4665.patch \ -" -SRC_URI[sha256sum] = "adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5" - -inherit autotools-brokensep features_check gettext pkgconfig mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -export BUILDCC = "${BUILD_CC}" -EXTRA_OECONF = "\ - --enable-run-as-root \ - --enable-xvideo \ - --disable-screen --disable-caca \ - --enable-vlm \ - --enable-freetype \ - --enable-tremor \ - --enable-v4l2 --disable-aa --disable-faad \ - --enable-dbus \ - --without-contrib \ - --without-kde-solid \ - --enable-realrtsp \ - --disable-libtar \ - --enable-avcodec \ - ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/moc \ - ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/rcc \ - ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/uic \ -" - -PACKAGECONFIG ?= " \ - live555 dc1394 dv1394 notify fontconfig fluidsynth freetype dvdread png \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ - x264 \ -" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'qmake5_paths', '', d)} - -PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal,,userland" -PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" -PACKAGECONFIG[fluidsynth] = ",,fluidsynth" -PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" -PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52" -PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" -PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555" -PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass" -PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc" -PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva" -PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" -PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" -PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx" -PACKAGECONFIG[qt5] = "--enable-qt,--disable-qt, qtbase-native qtx11extras qtsvg" -PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp" -PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi" -PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba" -PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp" -PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss" -PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2" -PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg" -PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg" -PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" -PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394" -PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg" -PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo" -PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3" -PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig" -PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype" -PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss" -PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver" -PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama" -PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" -PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native" - -do_configure:append() { - # moc needs support: precreate build paths - for qtpath in adapters components/epg components/playlist components/sout dialogs managers styles util/buttons; do - mkdir -p "${B}/modules/gui/qt/$qtpath" - done - sed -i -e 's|${WORKDIR}||g' ${B}/config.h -} - -# This recipe packages vlc as a library as well, so qt4 dependencies -# can be avoided when only the library is installed. -PACKAGES =+ "libvlc" - -LEAD_SONAME_libvlc = "libvlc.so.5" -FILES:libvlc = "${libdir}/lib*.so.*" - -FILES:${PN} += "\ - ${bindir}/vlc \ - ${libdir}/vlc/vlc/libvlc_vdpau.so \ - ${datadir}/applications \ - ${datadir}/vlc/ \ - ${datadir}/icons \ - ${datadir}/metainfo/vlc.appdata.xml \ -" - -FILES:${PN}-dbg += "\ - ${libdir}/vlc/*/.debug \ - ${libdir}/vlc/plugins/*/.debug \ -" - -FILES:${PN}-staticdev += "\ - ${libdir}/vlc/plugins/*/*.a \ -" - -INSANE_SKIP:${PN} = "dev-so" - -EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}" diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb new file mode 100644 index 0000000000..6406343c8d --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb @@ -0,0 +1,134 @@ +DESCRIPTION = "Video player and streamer - davinci edition" +HOMEPAGE = "http://www.videolan.org" +SECTION = "multimedia" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native bison-native \ + dbus libxml2 gnutls \ + tremor faad2 ffmpeg flac alsa-lib \ + lua-native lua libidn \ + avahi jpeg xz libmodplug \ + libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \ + tiff" + +LDFLAGS:append:riscv64 = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" + +SRC_URI = "https://get.videolan.org/${BPN}/${PV}/${BP}.tar.xz \ + file://0001-make-opencv-configurable.patch \ + file://0002-use-vorbisidec.patch \ + file://0003-fix-luaL-checkint.patch \ + file://0004-Use-packageconfig-to-detect-mmal-support.patch \ + file://0005-ioctl-does-not-have-same-signature-between-glibc-and.patch \ + file://0006-configure-Disable-incompatible-function-pointer-type.patch \ + file://taglib-2.patch \ + file://0001-taglib-Fix-build-on-x86-32-bit.patch \ +" +SRC_URI[sha256sum] = "24dbbe1d7dfaeea0994d5def0bbde200177347136dbfe573f5b6a4cee25afbb0" +inherit autotools-brokensep features_check gettext pkgconfig mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +export BUILDCC = "${BUILD_CC}" +EXTRA_OECONF = "\ + --enable-run-as-root \ + --enable-xvideo \ + --disable-screen --disable-caca \ + --enable-vlm \ + --enable-freetype \ + --enable-tremor \ + --enable-v4l2 --disable-aa --disable-faad \ + --enable-dbus \ + --without-contrib \ + --without-kde-solid \ + --enable-realrtsp \ + --disable-libtar \ + --enable-avcodec \ + ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/moc \ + ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/rcc \ + ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/uic \ +" + +PACKAGECONFIG ?= " \ + live555 dc1394 dv1394 notify fontconfig fluidsynth freetype dvdread png \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + x264 \ +" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'qmake5_paths', '', d)} + +PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal,,userland" +PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" +PACKAGECONFIG[fluidsynth] = ",,fluidsynth" +PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" +PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555" +PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass" +PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc" +PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva" +PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" +PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" +PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" +PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx" +PACKAGECONFIG[qt5] = "--enable-qt,--disable-qt, qtbase-native qtx11extras qtsvg" +PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp" +PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi" +PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba" +PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp" +PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss" +PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2" +PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg" +PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg" +PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" +PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394" +PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg" +PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo" +PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3" +PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig" +PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype" +PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss" +PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver" +PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama" +PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native" + +do_configure:append() { + # moc needs support: precreate build paths + for qtpath in adapters components/epg components/playlist components/sout dialogs managers styles util/buttons; do + mkdir -p "${B}/modules/gui/qt/$qtpath" + done + sed -i -e 's|${WORKDIR}||g' ${B}/config.h +} + +# This recipe packages vlc as a library as well, so qt4 dependencies +# can be avoided when only the library is installed. +PACKAGES =+ "libvlc" + +LEAD_SONAME_libvlc = "libvlc.so.5" +FILES:libvlc = "${libdir}/lib*.so.*" + +FILES:${PN} += "\ + ${bindir}/vlc \ + ${libdir}/vlc/vlc/libvlc_vdpau.so \ + ${datadir}/applications \ + ${datadir}/vlc/ \ + ${datadir}/icons \ + ${datadir}/metainfo/vlc.appdata.xml \ +" + +FILES:${PN}-dbg += "\ + ${libdir}/vlc/*/.debug \ + ${libdir}/vlc/plugins/*/.debug \ +" + +FILES:${PN}-staticdev += "\ + ${libdir}/vlc/plugins/*/*.a \ +" + +INSANE_SKIP:${PN} = "dev-so" + +EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}" -- cgit v1.2.3-54-g00ecf