Hello community, here is the log from the commit of package vlc for openSUSE:Factory checked in at 2019-02-24 17:02:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vlc (Old) and /work/SRC/openSUSE:Factory/.vlc.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vlc" Sun Feb 24 17:02:29 2019 rev:92 rq:676181 version:3.0.6 Changes: -------- --- /work/SRC/openSUSE:Factory/vlc/vlc.changes 2019-01-26 22:18:17.959055795 +0100 +++ /work/SRC/openSUSE:Factory/.vlc.new.28833/vlc.changes 2019-02-24 17:02:32.760704703 +0100 @@ -1,0 +2,10 @@ +Tue Feb 12 16:19:01 UTC 2019 - Antonio Larrosa <[email protected]> + +- Add fix-build-with-fdk-2.0.patch to fix building vlc with + libfdk-aac v2 +- Add 0001-codec-vpx-Detect-libvpx-1.8.0.patch to fix building vlc + with libvpx 1.8.0 +- Add the libx26410b_plugin.so codec plugin when building with + BUILD_ORIG + +------------------------------------------------------------------- New: ---- 0001-codec-vpx-Detect-libvpx-1.8.0.patch fix-build-with-fdk-2.0.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vlc.spec ++++++ --- /var/tmp/diff_new_pack.CmJQC2/_old 2019-02-24 17:02:33.724704244 +0100 +++ /var/tmp/diff_new_pack.CmJQC2/_new 2019-02-24 17:02:33.728704242 +0100 @@ -47,12 +47,16 @@ Patch1: vlc-allow-deprecated-fribidi.patch # PATCH-FIX-UPSTREAM vlc-lua-5.3.patch [email protected] -- Replace lua_optlong with lua_optinteger Patch2: vlc-lua-5.3.patch +# PATCH-FIX-UPSTREAM fix-build-with-fdk-2.0.patch -- Fix building vlc with libfdk-aac v2 +Patch3: fix-build-with-fdk-2.0.patch # PATCH-FEATURE-OPENSUSE vlc-projectM-qt5.patch -- Build against projectM-qt5; openSUSE provides projectM as -qt and -qt5 variant Patch100: vlc-projectM-qt5.patch # PATCH-FIX-UPSTREAM 0001-Fix-leaking-AvahiServiceResolver-in-the-error-paths.patch -- Fix some memleaks Patch101: 0001-Fix-leaking-AvahiServiceResolver-in-the-error-paths.patch # PATCH-FIX-UPSTREAM 0002-Add-Avahi-implementation-for-chromecast-renderer-dis.patch -- Use Avahi for discovery, microdns is not available Patch102: 0002-Add-Avahi-implementation-for-chromecast-renderer-dis.patch +# PATCH-FIX-UPSTREAM 0001-codec-vpx-Detect-libvpx-1.8.0.patch -- Fix building vlc with libvpx 1.8.0 +Patch103: 0001-codec-vpx-Detect-libvpx-1.8.0.patch BuildRequires: Mesa-devel BuildRequires: SDL-devel >= 1.2.10 BuildRequires: aalib-devel @@ -291,8 +295,8 @@ %package lang # FIXME: consider using %%lang_package macro Summary: Translations for package %{name} -Group: System/Localization # We do not want to require vlc, which is GUI based, but only vlc-noX +Group: System/Localization Requires: %{name}-noX = %{version} Supplements: packageand(bundle-lang-other:%{name}-noX) Provides: %{name}-lang-all = %{version} @@ -326,8 +330,8 @@ %if 0%{?BUILD_ORIG} %package codecs Summary: Additional codecs for the VLC media player -Group: Productivity/Multimedia/Video/Players # We require the unrestricted libavcodec - same ABI version we linked +Group: Productivity/Multimedia/Video/Players Requires: %(rpm --qf "%%{name}" -qf $(readlink -f %{_libdir}/libavcodec.so))(unrestricted) Requires: %{name}-noX = %{version} # We need the noX package first, as it contains vlc-cache-gen @@ -340,8 +344,8 @@ %package vdpau Summary: Additional vdpau codecs for the VLC media player -Group: Productivity/Multimedia/Video/Players # We require the unrestricted libavcodec - same ABI version we linked +Group: Productivity/Multimedia/Video/Players Requires: %(rpm --qf "%%{name}" -qf $(readlink -f %{_libdir}/libavcodec.so))(unrestricted) Requires: %{name}-codecs = %{version} Requires: %{name}-noX = %{version} @@ -361,8 +365,8 @@ Requires: %{name}-noX = %{version}-%{release} # We need the noX package first, as it contains vlc-cache-gen Requires(post): %{name}-noX -Conflicts: %{conflicts}-qt Supplements: packageand(%{name}-noX:libqt5) +Conflicts: %{conflicts}-qt %description qt This subpackage provides a Qt interface for VLC and selects it by @@ -372,11 +376,13 @@ %setup -q %patch0 -p1 %patch1 -p1 +%patch3 -p1 %if 0%{?suse_version} > 1320 %patch100 -p1 %endif %patch101 -p1 %patch102 -p1 +%patch103 -p1 ### And LUA 5.3.1 has some more API changes if pkg-config --atleast-version 5.3.1 lua; then @@ -1105,6 +1111,7 @@ %{_libdir}/vlc/plugins/codec/libfdkaac_plugin.so %{_libdir}/vlc/plugins/codec/libfaad_plugin.so %{_libdir}/vlc/plugins/codec/libx264_plugin.so +%{_libdir}/vlc/plugins/codec/libx26410b_plugin.so %{_libdir}/vlc/plugins/codec/libx265_plugin.so %{_libdir}/vlc/plugins/video_filter/libpostproc_plugin.so ++++++ 0001-codec-vpx-Detect-libvpx-1.8.0.patch ++++++ >From 5575fe3eb3fd46bada8662268b74d03493476a84 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic <[email protected]> Date: Mon, 11 Feb 2019 16:07:12 +0100 Subject: [PATCH] codec: vpx: Detect libvpx 1.8.0 and, if detected, use fewer frame formats in the chroma_table Signed-off-by: Steve Lhomme <[email protected]> --- modules/codec/vpx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/codec/vpx.c b/modules/codec/vpx.c index f03c7fae625..59b3acdef74 100644 --- a/modules/codec/vpx.c +++ b/modules/codec/vpx.c @@ -117,6 +117,7 @@ static const struct { VLC_CODEC_I440, VPX_IMG_FMT_I440, 8, 0 }, { VLC_CODEC_YV12, VPX_IMG_FMT_YV12, 8, 0 }, +#if VPX_IMAGE_ABI_VERSION < 5 { VLC_CODEC_YUVA, VPX_IMG_FMT_444A, 8, 0 }, { VLC_CODEC_YUYV, VPX_IMG_FMT_YUY2, 8, 0 }, { VLC_CODEC_UYVY, VPX_IMG_FMT_UYVY, 8, 0 }, @@ -129,7 +130,7 @@ static const struct { VLC_CODEC_ARGB, VPX_IMG_FMT_ARGB, 8, 0 }, { VLC_CODEC_BGRA, VPX_IMG_FMT_ARGB_LE, 8, 0 }, - +#endif { VLC_CODEC_GBR_PLANAR, VPX_IMG_FMT_I444, 8, 1 }, { VLC_CODEC_GBR_PLANAR_10L, VPX_IMG_FMT_I44416, 10, 1 }, ++++++ fix-build-with-fdk-2.0.patch ++++++ From: Antonio Larrosa <[email protected]> Subject: Fix building vlc with fdk-aac v2 Based on the patch at https://git.libav.org/?p=libav.git;a=commitdiff_plain;h=141c960e21d2860e354f9b90df136184dd00a9a8;hp=c8bca9fe466f810fd484e2c6db7ef7bc83b5a943 Index: vlc-3.0.6/modules/codec/fdkaac.c =================================================================== --- vlc-3.0.6.orig/modules/codec/fdkaac.c +++ vlc-3.0.6/modules/codec/fdkaac.c @@ -92,6 +92,11 @@ static void CloseEncoder(vlc_object_t *) #define SIGNALING_COMPATIBLE 1 #define SIGNALING_HIERARCHICAL 2 +#define FDKENC_VER_AT_LEAST(vl0, vl1) \ + (defined(AACENCODER_LIB_VL0) && \ + ((AACENCODER_LIB_VL0 > vl0) || \ + (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1))) + static const int pi_aot_values[] = { PROFILE_AAC_LC, PROFILE_AAC_HE, PROFILE_AAC_HE_v2, PROFILE_AAC_LD, PROFILE_AAC_ELD }; static const char *const ppsz_aot_descriptions[] = { N_("AAC-LC"), N_("HE-AAC"), N_("HE-AAC-v2"), N_("AAC-LD"), N_("AAC-ELD") }; @@ -288,7 +293,11 @@ static int OpenEncoder(vlc_object_t *p_t p_sys->i_maxoutputsize = 768*p_enc->fmt_in.audio.i_channels; p_enc->fmt_in.audio.i_bitspersample = 16; p_sys->i_frame_size = info.frameLength; +#if FDKENC_VER_AT_LEAST(4, 0) + p_sys->i_encoderdelay = info.nDelay; +#else p_sys->i_encoderdelay = info.encoderDelay; +#endif p_enc->fmt_out.i_extra = info.confSize; if (p_enc->fmt_out.i_extra) { @@ -353,21 +362,27 @@ static block_t *EncodeAudio(encoder_t *p int out_identifier = OUT_BITSTREAM_DATA; int out_size, out_elem_size; void *in_ptr, *out_ptr; + uint8_t dummy_buf[1]; if (unlikely(i_samples == 0)) { // this forces the encoder to purge whatever is left in the internal buffer + /* Must be a non-null pointer, even if it's a dummy. We could use + * the address of anything else on the stack as well. */ + in_ptr = dummy_buf; + in_size = 0; + in_args.numInSamples = -1; } else { in_ptr = p_buffer + (i_samples - i_samples_left)*p_enc->fmt_in.audio.i_channels; in_size = 2*p_enc->fmt_in.audio.i_channels*i_samples_left; - in_elem_size = 2; in_args.numInSamples = p_enc->fmt_in.audio.i_channels*i_samples_left; - in_buf.numBufs = 1; - in_buf.bufs = &in_ptr; - in_buf.bufferIdentifiers = &in_identifier; - in_buf.bufSizes = &in_size; - in_buf.bufElSizes = &in_elem_size; } + in_elem_size = 2; + in_buf.numBufs = 1; + in_buf.bufs = &in_ptr; + in_buf.bufferIdentifiers = &in_identifier; + in_buf.bufSizes = &in_size; + in_buf.bufElSizes = &in_elem_size; block_t *p_block; p_block = block_Alloc(p_sys->i_maxoutputsize); p_block->i_buffer = p_sys->i_maxoutputsize;
