* update vlc to 3.0.20-1

This commit is contained in:
Alexander Baldeck 2023-11-02 12:58:40 +01:00
parent a03455fb0b
commit 08a5da4e0f
3 changed files with 34 additions and 100 deletions

View File

@ -5,11 +5,11 @@
# Contributor: Martin Sandsmark <martin.sandsmark@kde.org>
pkgname=vlc
_vlcver=3.0.18
_vlcver=3.0.20
# optional fixup version including hyphen
_vlcfixupver=
pkgver=${_vlcver}${_vlcfixupver//-/.r}
pkgrel=15
pkgrel=1
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player'
url='https://www.videolan.org/vlc/'
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
@ -102,13 +102,11 @@ replaces=('vlc-plugin')
options=('!emptydirs')
source=(https://download.videolan.org/${pkgname}/${_vlcver}/${pkgname}-${_vlcver}${_vlcfixupver}.tar.xz{,.asc}
libplacebo-5.patch
update-vlc-plugin-cache.hook
c2dd4bfe.patch)
sha512sums=('6fc8fdaa7e8862ad7133d69b3dab99ab9cd3945846a6ce5e2379b7f68ee9accd385c53b8573fc7c82f732c24678b4932b1154d2ad8accf06305f2f578d6fcd8e'
update-vlc-plugin-cache.hook)
sha512sums=('02e58fb52dd75bf483ac4b298aecf86463b13d4782173d164adba6e4552d9262ff5e2ee1cbe1bce2c8a809801b79f328c6a8c475d34ae62aefaea02ae5ade406'
'SKIP'
'a06b04a8b059dbbef77d27435bd5bec3c26f937390bd112b0843385587e866e617c3dd0e66f99eed5fa4a91bc5f0fd9b5623f65b2f2435a54456dde2aa96209b'
'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3'
'10801260f94c38b57d1c5666dc1772296537dbfd11d132e46fce98c3b185d9c3861a0b4e9076091990bf035525ed4f67376d4766eae63059f025c76251b6379b')
'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3')
validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Signing Key
prepare() {
@ -145,7 +143,7 @@ build() {
export CFLAGS+=' -maltivec -mabi=altivec'
export CFLAGS+=' -maltivec -mabi=altivec'
;;
riscv64)
riscv64)
export CFLAGS+=" -latomic"
export CXXFLAGS+=" -latomic"
;;

View File

@ -1,92 +0,0 @@
From c2dd4bfefe079e49db1789eb76be3885e4fc31b4 Mon Sep 17 00:00:00 2001
From: Francois Cartegnie <fcvlcdev@free.fr>
Date: Mon, 7 Nov 2022 15:02:57 +0100
Subject: [PATCH] packetizer: flac: fix CRC from emulated sync
also skips some memcpy
refs #27454 #27477
(cherry picked from commit c14b5aa6a7bd3aa25fa951e2b4136aff70f5702a)
---
modules/packetizer/flac.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/modules/packetizer/flac.c b/modules/packetizer/flac.c
index 8998f5dac0f..bfb504f004e 100644
--- a/modules/packetizer/flac.c
+++ b/modules/packetizer/flac.c
@@ -78,6 +78,7 @@ struct decoder_sys_t
size_t i_last_frame_size;
uint16_t crc;
+ size_t i_buf_offset; /* in final buffer before crc check / validation / retry */
size_t i_buf;
uint8_t *p_buf;
@@ -386,6 +387,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
p_sys->headerinfo = headerinfo;
p_sys->i_state = STATE_NEXT_SYNC;
p_sys->i_offset = FLAC_FRAME_SIZE_MIN;
+ p_sys->i_buf_offset = 0;
p_sys->crc = 0;
/* We have to read until next frame sync code to compute current frame size
@@ -461,6 +463,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
block_SkipBytes( &p_sys->bytestream, FLAC_HEADER_SIZE_MAX + 2 );
block_BytestreamFlush( &p_sys->bytestream );
p_sys->crc = 0;
+ p_sys->i_buf_offset = 0;
p_sys->i_offset = 0;
p_sys->i_state = STATE_NOSYNC;
p_sys->i_next_block_flags |= BLOCK_FLAG_DISCONTINUITY;
@@ -484,10 +487,12 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
}
/* Copy from previous sync point up to to current (offset) */
- block_PeekOffsetBytes( &p_sys->bytestream, 0, p_sys->p_buf, p_sys->i_offset );
+ block_PeekOffsetBytes( &p_sys->bytestream, p_sys->i_buf_offset,
+ &p_sys->p_buf[p_sys->i_buf_offset],
+ p_sys->i_offset - p_sys->i_buf_offset );
/* update crc to include this data chunk */
- for( size_t i = 0; i < p_sys->i_offset - 2; i++ )
+ for( size_t i = p_sys->i_buf_offset; i < p_sys->i_offset - 2; i++ )
p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[i] );
uint16_t stream_crc = GetWBE(&p_sys->p_buf[p_sys->i_offset - 2]);
@@ -497,6 +502,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
/* Add the 2 last bytes which were not the CRC sum, and go for next sync point */
p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[p_sys->i_offset - 2] );
p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[p_sys->i_offset - 1] );
+ p_sys->i_buf_offset = p_sys->i_offset;
p_sys->i_offset += 1;
p_sys->i_state = !pp_block ? STATE_NOSYNC : STATE_NEXT_SYNC;
break; /* continue */
@@ -513,6 +519,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
block_BytestreamFlush( &p_sys->bytestream );
p_sys->i_offset = 0;
p_sys->crc = 0;
+ p_sys->i_buf_offset = 0;
if( block_BytestreamRemaining(&p_sys->bytestream) > 0 || pp_block == NULL /* drain */)
p_sys->i_state = STATE_SEND_DATA;
@@ -553,6 +560,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
else
free( p_sys->p_buf );
+ p_sys->i_buf_offset = 0;
p_sys->i_buf = 0;
p_sys->p_buf = NULL;
p_sys->i_offset = 0;
@@ -587,6 +595,7 @@ static int Open(vlc_object_t *p_this)
p_sys->b_stream_info = false;
p_sys->i_last_frame_size = FLAC_FRAME_SIZE_MIN;
p_sys->headerinfo.i_pts = VLC_TS_INVALID;
+ p_sys->i_buf_offset = 0;
p_sys->i_buf = 0;
p_sys->p_buf = NULL;
p_sys->i_next_block_flags = 0;
--
GitLab

View File

@ -0,0 +1,28 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQGiBFD9w2QRBACoEzH9KKirWE4wgiuPPynNnxks+p+t5i1z3CG+1XhagmTHoOf3
v8i19kKHV6WnVMn2CKJFgwTTLYXOJTrBM/4ABVtu11cHeeueeo+pCSkdoLzYJ5QF
HbByB6j33QUbwKF0frEs+ge4LxzvYyCDAmNAW560QtOAR9Lk1Fo5B1GXzwCg1kDk
RkSe7EOZNm1U2rYAQ2VPrfsEAIHr4ooOyUByPR7XpoDOKoaXEG0hjpgh46lbgse+
dQx8YrxS9vXQLwYokfWLrs55avx9Ys0iVv2TMv7X4Tn5sTVaK5K+NbKhxhLORxGI
sgKqRn7W5SG5xoO0w/dmQj756ppjITGbxjFuhYE0X5S6NeMhUuFci7sJ42R7F1Ko
6sYuA/wOMUxCk4XOXeQF16ApyyenjE/UWbBNEhBmjEsZkYAFNc89pAEnEFSnIxK8
fcuCQioM6ojjaW+aEs/q3/klI0nat9LMLhNSCebjriMHwJDU70NeCn4nPWsfItT1
eKvbHNcX+3bq3D/i2Wa3PZ5YFFF01C61dHmVC9YGh4sAOXO09LQjVmlkZW9MQU4g
UmVsZWFzZSBTaWduaW5nIEtleSAoMjAxMymIaAQTEQIAKAIbAwYLCQgHAwIGFQgC
CQoLBBYCAwECHgECF4AFAlk3/bQFCQobbdAACgkQcYBxO+WNGtzKtgCgr8e+eznK
XeYnZYnSKz2pxvbetsQAn36gLn30dOINLPzDmWMc4lfIA2wGtCNWaWRlb0xBTiBS
ZWxlYXNlIFNpZ25pbmcgS2V5ICgyMDE0KYhpBBMRAgApAhsDBwsJCAcDAgEGFQgC
CQoLBBYCAwECHgECF4AFAlk3/bQFCQobbdAACgkQcYBxO+WNGty1xgCfci7vVRoG
FfDEccO417/OdsZ4l7MAnitkQtN+Lq+3rjgDZAWlNaF45i7TtCNWaWRlb0xBTiBS
ZWxlYXNlIFNpZ25pbmcgS2V5ICgyMDE1KYhqBBMRAgAqAhsDBQsJCAcCBhUICQoL
AgQWAgMBAh4BAheAAhkBBQJZN/20BQkKG23QAAoJEHGAcTvljRrcwscAn0CQBVCl
ArPMtbaybLn0TSsAehjkAKCQcHSfvkDxxYsY13x2Xk7ONqp2GbQjVmlkZW9MQU4g
UmVsZWFzZSBTaWduaW5nIEtleSAoMjAxNimIaAQTEQIAKAIbAwYLCQgHAwIGFQgC
CQoLBBYCAwECHgECF4AFAlk3/bQFCQobbdAACgkQcYBxO+WNGtzITACgmUpWpNGn
QKo+Rcap86RA0ptdWLkAn3/VU5ao7m0kWLWks5Nxj/Snx3+StCNWaWRlb0xBTiBS
ZWxlYXNlIFNpZ25pbmcgS2V5ICgyMDE3KYhnBBMRAgAnAhsDBQsJCAcCBhUICQoL
AgQWAgMBAh4BAheABQJZN/20BQkKG23QAAoJEHGAcTvljRrcX08AoIRlpqSSaWmw
Kd+PCQO5VNjtSWmOAKDQoyHd6QzL3BAkOajdEg3G98fM/Q==
=k6/6
-----END PGP PUBLIC KEY BLOCK-----