videoplayer new

This commit is contained in:
Rmys
2021-02-13 17:25:59 +03:00
parent 7c3a5646f7
commit 798430e11a
99 changed files with 262777 additions and 290548 deletions
+146
View File
@@ -0,0 +1,146 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import get
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
def setup():
# Make it build with libtool 1.5
#shelltools.system("rm -rf m4/lt* m4/libtool.m4")
shelltools.system("sed -i '/DEPRECATED/s:^://:' modules/text_renderer/freetype/text_layout.c")
#shelltools.system("export CFLAGS+=-I/usr/include/samba-4.0")
#shelltools.system("export CPPFLAGS+=-I/usr/include/samba-4.0")
#shelltools.system("export CXXFLAGS+=-std=c++11")
shelltools.export("AUTOPOINT", "true")
#shelltools.export("CC", "clang")
#shelltools.export("CXX", "clang++")
shelltools.export("LDFLAGS", "-L/usr/lib -llua")
shelltools.export("CFLAGS", "-I/usr/include/samba-4.0")
shelltools.export("CPPFLAGS", "-I/usr/include/samba-4.0")
shelltools.export("CXXFLAGS", "-I/usr/include/samba-4.0 -std=c++11")
shelltools.export("LUAC", "/usr/bin/luac")
shelltools.export("LUA_LIBS", "$(pkg-config --libs lua)")
shelltools.export("RCC", "/usr/bin/rcc")
shelltools.system("./bootstrap")
#autotools.autoreconf("-vfi")
autotools.rawConfigure("\
--prefix=/usr \
--libdir=/usr/lib \
--sysconfdir=/etc \
--with-kde-solid=/usr/share/solid/actions/ \
--with-default-font-family=Sans \
--with-default-monospace-font-family=Monospace \
--with-default-font=/usr/share/fonts/dejavu/DejaVuSans.ttf \
--with-default-monospace-font=/usr/share/fonts/dejavu/DejaVuSansMono.ttf \
--with-x \
BUILDCC=gcc \
LUAC=luac LUA_LIBS='`pkg-config --libs lua`' \
RCC=/usr/bin/rcc \
--disable-asdcp \
--disable-coverage \
--disable-cprof \
--disable-crystalhd \
--disable-decklink \
--disable-goom \
--disable-kai \
--disable-kva \
--disable-maintainer-mode \
--disable-opensles \
--disable-rpi-omxil \
--disable-shine \
--disable-sndio \
--disable-vsxu \
--disable-wasapi \
--disable-altivec \
--disable-dependency-tracking \
--disable-optimizations \
--disable-jack \
--disable-oss \
--disable-opencv \
--disable-rpath \
--disable-static \
--disable-update-check \
--disable-silent-rules \
--disable-mfx \
--enable-ncurses \
--enable-a52 \
--enable-aa \
--enable-alsa \
--enable-archive \
--enable-avcodec \
--enable-avformat \
--enable-postproc \
--enable-bluray \
--enable-dc1394 \
--enable-dbus \
--enable-dca \
--enable-dvbpsi \
--enable-dvdnav \
--enable-dvdread \
--enable-faad \
--enable-fast-install \
--enable-flac \
--enable-freetype \
--enable-fribidi \
--enable-gnutls \
--enable-libcddb \
--enable-libmpeg2 \
--enable-libxml2 \
--enable-lirc \
--enable-libva \
--enable-live555 \
--enable-lua \
--enable-mad \
--enable-mod \
--enable-mpc \
--enable-nls \
--enable-ogg \
--enable-opus \
--enable-png \
--enable-projectm \
--enable-pulse \
--enable-realrtsp \
--enable-screen \
--enable-sftp \
--enable-schroedinger \
--enable-shared \
--enable-smbclient \
--enable-sout \
--enable-speex \
--enable-svg \
--enable-theora \
--enable-twolame \
--enable-upnp \
--enable-v4l2 \
--enable-vlc \
--enable-vcd \
--enable-mtp \
--enable-vlm \
--enable-vorbis \
--enable-x264 \
--enable-x265 \
--enable-aribsub \
--enable-xvideo \
")
#enable-skins2 \ --disable-qt4 \
#shelltools.export("CFLAGS", "%s -fPIC -O2 -Wall -Wextra -DLUA_COMPAT_5_1" % get.CFLAGS())
# for fix unused dependency
pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
def build():
autotools.make()
def install():
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
for icon in ("128x128", "48x48", "32x32", "16x16"):
pisitools.insinto("/usr/share/icons/hicolor/%s/apps/" % icon, "share/icons/%s/vlc*.png" % icon)
pisitools.dodoc("AUTHORS", "THANKS", "NEWS", "README", "COPYING")
@@ -0,0 +1,15 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import glob
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
os.system("/usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugins")
def preRemove():
for cache in glob.glob("/usr/lib/vlc/plugins/plugins-*-*.dat"):
try:
os.unlink(cache)
except OSError:
pass
@@ -0,0 +1,37 @@
From 622360c2c4335fff793f81f5e673326a581f5c0c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
Date: Thu, 19 Apr 2018 18:25:07 +0300
Subject: [PATCH] aom: Remove unsupported pixel formats
Support for these was apparently never in the codebase, and the enum
values were recently removed from the public headers [1].
This fixes build with latest libaom build.
[1] https://aomedia.googlesource.com/aom/+/3f29cc20e3a4c348cb41a797c68de856ddb84e12
---
modules/codec/aom.c | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/modules/codec/aom.c b/modules/codec/aom.c
index 5bb442b5d50..60034158c47 100644
--- a/modules/codec/aom.c
+++ b/modules/codec/aom.c
@@ -116,17 +116,6 @@ static const struct
{ VLC_CODEC_YV12, AOM_IMG_FMT_YV12, 8, 0 },
{ VLC_CODEC_YUVA, AOM_IMG_FMT_444A, 8, 0 },
- { VLC_CODEC_YUYV, AOM_IMG_FMT_YUY2, 8, 0 },
- { VLC_CODEC_UYVY, AOM_IMG_FMT_UYVY, 8, 0 },
- { VLC_CODEC_YVYU, AOM_IMG_FMT_YVYU, 8, 0 },
-
- { VLC_CODEC_RGB15, AOM_IMG_FMT_RGB555, 8, 0 },
- { VLC_CODEC_RGB16, AOM_IMG_FMT_RGB565, 8, 0 },
- { VLC_CODEC_RGB24, AOM_IMG_FMT_RGB24, 8, 0 },
- { VLC_CODEC_RGB32, AOM_IMG_FMT_RGB32, 8, 0 },
-
- { VLC_CODEC_ARGB, AOM_IMG_FMT_ARGB, 8, 0 },
- { VLC_CODEC_BGRA, AOM_IMG_FMT_ARGB_LE, 8, 0 },
{ VLC_CODEC_GBR_PLANAR, AOM_IMG_FMT_I444, 8, 1 },
{ VLC_CODEC_GBR_PLANAR_10L, AOM_IMG_FMT_I44416, 10, 1 },
@@ -0,0 +1,208 @@
diff -ruNp vlc-2.2.3.orig/configure.ac vlc-2.2.3/configure.ac
--- vlc-2.2.3.orig/configure.ac 2016-04-05 02:45:40.000000000 +0200
+++ vlc-2.2.3/configure.ac 2016-05-21 19:19:05.527202127 +0200
@@ -2323,9 +2323,6 @@ AC_ARG_ENABLE(avcodec,
[ --enable-avcodec libavcodec codec (default enabled)])
AS_IF([test "${enable_avcodec}" != "no"], [
PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [
- PKG_CHECK_EXISTS([libavutil < 55],, [
- AC_MSG_ERROR([libavutil versions 55 and later are not supported.])
- ])
VLC_SAVE_FLAGS
CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
@@ -2382,9 +2379,6 @@ have_avcodec_vaapi="no"
AS_IF([test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"], [
case "${avfork}" in
ffmpeg)
- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [
- AC_MSG_ERROR([VA API requires FFmpeg libavcodec < 57.10 or libav.])
- ])
;;
esac
VLC_SAVE_FLAGS
@@ -2416,9 +2410,6 @@ AS_IF([test "${enable_dxva2}" != "no"],
AS_IF([test "x${have_avcodec}" = "xyes"], [
case "${avfork}" in
ffmpeg)
- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [
- AC_MSG_ERROR([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.])
- ])
;;
esac
AC_CHECK_HEADERS(dxva2api.h,
@@ -3180,9 +3171,6 @@ AS_IF([test "${have_vdpau}" = "yes" -a "
case "${avfork}" in
libav) av_vdpau_ver="55.26.0" ;;
ffmpeg) av_vdpau_ver="55.42.100"
- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [
- AC_MSG_ERROR([VDPAU requires FFmpeg libavcodec < 57.10 or libav.])
- ])
;;
esac
PKG_CHECK_EXISTS([libavutil >= 52.4.0 libavcodec >= ${av_vdpau_ver}], [
diff -ruNp vlc-2.2.3.orig/modules/codec/avcodec/audio.c vlc-2.2.3/modules/codec/avcodec/audio.c
--- vlc-2.2.3.orig/modules/codec/avcodec/audio.c 2015-12-08 17:18:56.000000000 +0100
+++ vlc-2.2.3/modules/codec/avcodec/audio.c 2016-05-21 19:19:05.527202127 +0200
@@ -39,7 +39,6 @@
#include <libavcodec/avcodec.h>
#include <libavutil/mem.h>
-#include <libavutil/audioconvert.h>
#include "avcodec.h"
diff -ruNp vlc-2.2.3.orig/modules/codec/avcodec/encoder.c vlc-2.2.3/modules/codec/avcodec/encoder.c
--- vlc-2.2.3.orig/modules/codec/avcodec/encoder.c 2015-10-21 18:36:45.000000000 +0200
+++ vlc-2.2.3/modules/codec/avcodec/encoder.c 2016-05-21 19:19:07.451194268 +0200
@@ -41,7 +41,6 @@
#include <vlc_cpu.h>
#include <libavcodec/avcodec.h>
-#include <libavutil/audioconvert.h>
#include "avcodec.h"
#include "avcommon.h"
@@ -311,7 +310,7 @@ int OpenEncoder( vlc_object_t *p_this )
else if( !GetFfmpegCodec( p_enc->fmt_out.i_codec, &i_cat, &i_codec_id,
&psz_namecodec ) )
{
- if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == PIX_FMT_NONE )
+ if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == AV_PIX_FMT_NONE )
return VLC_EGENERIC; /* handed chroma output */
i_cat = VIDEO_ES;
@@ -555,7 +554,7 @@ int OpenEncoder( vlc_object_t *p_this )
if( p_codec->pix_fmts )
{
- const enum PixelFormat *p = p_codec->pix_fmts;
+ const enum AVPixelFormat *p = p_codec->pix_fmts;
for( ; *p != -1; p++ )
{
if( *p == p_context->pix_fmt ) break;
@@ -1017,7 +1016,7 @@ errmsg:
}
}
- p_sys->frame = avcodec_alloc_frame();
+ p_sys->frame = av_frame_alloc();
if( !p_sys->frame )
{
goto error;
@@ -1088,7 +1087,7 @@ static block_t *EncodeVideo( encoder_t *
AVFrame *frame = NULL;
if( likely(p_pict) ) {
frame = p_sys->frame;
- avcodec_get_frame_defaults( frame );
+ av_frame_unref( frame );
for( i_plane = 0; i_plane < p_pict->i_planes; i_plane++ )
{
p_sys->frame->data[i_plane] = p_pict->p[i_plane].p_pixels;
@@ -1329,7 +1328,7 @@ static block_t *handle_delay_buffer( enc
//How much we need to copy from new packet
const int leftover = leftover_samples * p_sys->p_context->channels * p_sys->i_sample_bytes;
- avcodec_get_frame_defaults( p_sys->frame );
+ av_frame_unref( p_sys->frame );
p_sys->frame->format = p_sys->p_context->sample_fmt;
p_sys->frame->nb_samples = leftover_samples + p_sys->i_samples_delay;
@@ -1451,7 +1450,7 @@ static block_t *EncodeAudio( encoder_t *
while( ( p_aout_buf->i_nb_samples >= p_sys->i_frame_size ) ||
( p_sys->b_variable && p_aout_buf->i_nb_samples ) )
{
- avcodec_get_frame_defaults( p_sys->frame );
+ av_frame_unref( p_sys->frame );
if( p_sys->b_variable )
p_sys->frame->nb_samples = p_aout_buf->i_nb_samples;
else
@@ -1514,7 +1513,7 @@ void CloseEncoder( vlc_object_t *p_this
encoder_t *p_enc = (encoder_t *)p_this;
encoder_sys_t *p_sys = p_enc->p_sys;
- /*FIXME: we should use avcodec_free_frame, but we don't require so new avcodec that has it*/
+ /*FIXME: we should use av_frame_free, but we don't require so new avcodec that has it*/
av_freep( &p_sys->frame );
vlc_avcodec_lock();
diff -ruNp vlc-2.2.3.orig/modules/codec/avcodec/vaapi.c vlc-2.2.3/modules/codec/avcodec/vaapi.c
--- vlc-2.2.3.orig/modules/codec/avcodec/vaapi.c 2014-11-16 19:57:58.000000000 +0100
+++ vlc-2.2.3/modules/codec/avcodec/vaapi.c 2016-05-21 19:19:07.452194264 +0200
@@ -595,7 +595,7 @@ static int Create( vlc_va_t *p_va, AVCod
return err;
/* Only VLD supported */
- p_va->pix_fmt = PIX_FMT_VAAPI_VLD;
+ p_va->pix_fmt = AV_PIX_FMT_VAAPI_VLD;
p_va->setup = Setup;
p_va->get = Get;
p_va->release = Release;
diff -ruNp vlc-2.2.3.orig/modules/codec/avcodec/video.c vlc-2.2.3/modules/codec/avcodec/video.c
--- vlc-2.2.3.orig/modules/codec/avcodec/video.c 2016-04-05 02:45:24.000000000 +0200
+++ vlc-2.2.3/modules/codec/avcodec/video.c 2016-05-21 19:19:07.453194260 +0200
@@ -108,8 +108,8 @@ static int lavc_GetFrame(struct AVCodecC
static int ffmpeg_GetFrameBuf ( struct AVCodecContext *, AVFrame * );
static void ffmpeg_ReleaseFrameBuf( struct AVCodecContext *, AVFrame * );
#endif
-static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
- const enum PixelFormat * );
+static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *,
+ const enum AVPixelFormat * );
static uint32_t ffmpeg_CodecTag( vlc_fourcc_t fcc )
{
@@ -234,7 +234,7 @@ int InitVideoDec( decoder_t *p_dec, AVCo
p_sys->p_codec = p_codec;
p_sys->i_codec_id = i_codec_id;
p_sys->psz_namecodec = psz_namecodec;
- p_sys->p_ff_pic = avcodec_alloc_frame();
+ p_sys->p_ff_pic = av_frame_alloc();
p_sys->b_delayed_open = true;
p_sys->p_va = NULL;
vlc_sem_init( &p_sys->sem_mt, 0 );
@@ -446,7 +446,7 @@ int InitVideoDec( decoder_t *p_dec, AVCo
if( ffmpeg_OpenCodec( p_dec ) < 0 )
{
msg_Err( p_dec, "cannot open codec (%s)", p_sys->psz_namecodec );
- avcodec_free_frame( &p_sys->p_ff_pic );
+ av_frame_free( &p_sys->p_ff_pic );
vlc_sem_destroy( &p_sys->sem_mt );
free( p_sys );
return VLC_EGENERIC;
@@ -826,7 +826,7 @@ void EndVideoDec( decoder_t *p_dec )
wait_mt( p_sys );
if( p_sys->p_ff_pic )
- avcodec_free_frame( &p_sys->p_ff_pic );
+ av_frame_free( &p_sys->p_ff_pic );
if( p_sys->p_va )
vlc_va_Delete( p_sys->p_va );
@@ -1313,8 +1313,8 @@ static void ffmpeg_ReleaseFrameBuf( stru
}
#endif
-static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
- const enum PixelFormat *pi_fmt )
+static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
+ const enum AVPixelFormat *pi_fmt )
{
decoder_t *p_dec = p_context->opaque;
decoder_sys_t *p_sys = p_dec->p_sys;
@@ -1341,6 +1341,15 @@ static enum PixelFormat ffmpeg_GetFormat
if (!can_hwaccel)
goto end;
+#if (LIBAVCODEC_VERSION_MICRO >= 100) /* FFmpeg only */
+ if (p_context->active_thread_type)
+ {
+ msg_Warn(p_dec, "thread type %d: disabling hardware acceleration",
+ p_context->active_thread_type);
+ goto end;
+ }
+#endif
+
/* Profile and level information is needed now.
* TODO: avoid code duplication with avcodec.c */
if( p_context->profile != FF_PROFILE_UNKNOWN)
@@ -0,0 +1,16 @@
https://github.com/videolan/vlc/commit/c354efa3a2843d479c8fa9e929ff1064e5526bfa
--- modules/hw/vdpau/Makefile.am.orig 2015-04-16 22:29:26.299342749 -0700
+++ modules/hw/vdpau/Makefile.am 2015-04-16 22:31:40.886340950 -0700
@@ -45,6 +45,7 @@
libvdpau_chroma_plugin_la_LIBADD = libvlc_vdpau.la
vdpau_LTLIBRARIES += libvdpau_chroma_plugin.la
+if HAVE_XCB
libvdpau_display_plugin_la_SOURCES = display.c
libvdpau_display_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/../../video_output/xcb
libvdpau_display_plugin_la_CFLAGS = $(AM_CFLAGS) $(XCB_CFLAGS)
@@ -52,3 +53,4 @@
../../video_output/libvlc_xcb_events.la \
$(AM_LIBADD) $(X_LIBS) $(X_PRE_LIBS) -lX11 $(XCB_LIBS)
vdpau_LTLIBRARIES += libvdpau_display_plugin.la
+endif
@@ -0,0 +1,30 @@
commit 41caaa08cde60c4fec4bf2e5f9610e2a1b9e6a23
Author: Vinson Lee <vlee@freedesktop.org>
Date: Thu Feb 5 14:48:53 2015 -0800
lua: Define LUA_COMPAT_APIINTCASTS for Lua >= 5.3.0 compatibility.
In Lua 5.3.0, luaL_checkint was deprecated.
This patch fixes this build error with Lua 5.3.0.
lua/demux.c: In function ‘vlclua_demux_peek’:
lua/demux.c:55:5: error: implicit declaration of function ‘luaL_checkint’ [-Werror=implicit-function-declaration]
int n = luaL_checkint( L, 1 );
^
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
diff --git a/modules/lua/vlc.h b/modules/lua/vlc.h
index efd94f1..85c7fc1 100644
--- a/modules/lua/vlc.h
+++ b/modules/lua/vlc.h
@@ -38,6 +38,7 @@
#include <vlc_stream.h>
#include <vlc_demux.h>
+#define LUA_COMPAT_APIINTCASTS
#define LUA_COMPAT_MODULE
#include <lua.h> /* Low level lua C API */
#include <lauxlib.h> /* Higher level C API */
@@ -0,0 +1,51 @@
https://gist.github.com/karolherbst/fb9e3d8f6ba05f1f5d54
For use until upstream ever accepts this patch or fixes it themsleves
--- configure.ac.orig 2015-03-01 02:28:48.983932684 +0100
+++ configure.ac 2015-03-01 02:41:29.641927072 +0100
@@ -3709,7 +3709,8 @@
])
])
AS_IF([test "${enable_qt}" != "no"], [
- PKG_CHECK_MODULES([QT], [Qt5Core >= 5.1.0 Qt5Widgets Qt5Gui], [
+ AS_IF([test "${enable_qt}" != "4"], [
+ PKG_CHECK_MODULES([QT], [Qt5Core >= 5.1.0 Qt5Widgets Qt5Gui], [
PKG_CHECK_MODULES([QTX11], [Qt5X11Extras], [
VLC_ADD_LIBS([qt4],[${QTX11_LIBS}])
VLC_ADD_CXXFLAGS([qt4],[${QTX11_CFLAGS} -DQT5_HAS_X11])
@@ -3721,20 +3722,23 @@
AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
+ enable_qt="5"
- ], [
- PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [
- AS_IF([test -n "${enable_qt}"],[
- AC_MSG_ERROR([${QT_PKG_ERRORS}.])
- ],[
- AC_MSG_WARN([${QT_PKG_ERRORS}.])
- ])
- enable_qt="no"
+ ])
+ ])
+ AS_IF([test "${enable_qt}" != "5"], [
+ PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [
+ AS_IF([test -n "${enable_qt}"],[
+ AC_MSG_ERROR([${QT_PKG_ERRORS}.])
+ ],[
+ AC_MSG_WARN([${QT_PKG_ERRORS}.])
])
- QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
- AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
- AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
- AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
+ enable_qt="no"
])
+ QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
+ AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
+ AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
+ AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
+ ])
])
AS_IF([test "${enable_qt}" != "no"], [
VLC_ADD_PLUGIN([qt4])
@@ -0,0 +1,33 @@
diff -u -r vlc-3.0.10/modules/gui/qt/components/playlist/views.cpp vlc-3.0.10-qt-5.15/modules/gui/qt/components/playlist/views.cpp
--- vlc-3.0.10/modules/gui/qt/components/playlist/views.cpp 2017-11-24 15:29:17.000000000 +0000
+++ vlc-3.0.10-qt-5.15/modules/gui/qt/components/playlist/views.cpp 2020-05-29 20:50:09.267959371 +0000
@@ -27,6 +27,7 @@
#include "input_manager.hpp" /* THEMIM */
#include <QPainter>
+#include <QPainterPath>
#include <QRect>
#include <QStyleOptionViewItem>
#include <QFontMetrics>
diff -u -r vlc-3.0.10/modules/gui/qt/dialogs/plugins.cpp vlc-3.0.10-qt-5.15/modules/gui/qt/dialogs/plugins.cpp
--- vlc-3.0.10/modules/gui/qt/dialogs/plugins.cpp 2017-11-24 15:29:17.000000000 +0000
+++ vlc-3.0.10-qt-5.15/modules/gui/qt/dialogs/plugins.cpp 2020-05-29 20:49:44.114275108 +0000
@@ -53,6 +53,7 @@
#include <QListView>
#include <QListWidget>
#include <QPainter>
+#include <QPainterPath>
#include <QStyleOptionViewItem>
#include <QKeyEvent>
#include <QPushButton>
diff -u -r vlc-3.0.10/modules/gui/qt/util/timetooltip.hpp vlc-3.0.10-qt-5.15/modules/gui/qt/util/timetooltip.hpp
--- vlc-3.0.10/modules/gui/qt/util/timetooltip.hpp 2018-05-03 12:03:21.000000000 +0000
+++ vlc-3.0.10-qt-5.15/modules/gui/qt/util/timetooltip.hpp 2020-05-29 20:40:30.306628713 +0000
@@ -24,6 +24,7 @@
#include "qt.hpp"
+#include <QPainterPath>
#include <QWidget>
class TimeTooltip : public QWidget
@@ -0,0 +1,11 @@
--- modules/codec/dmo/dmo.c~ 2012-09-14 00:02:04.000000000 +0800
+++ modules/codec/dmo/dmo.c 2012-10-16 07:10:41.145463290 +0800
@@ -546,7 +546,7 @@
}
p_bih = &p_vih->bmiHeader;
- p_bih->biCompression = i_chroma == VLC_CODEC_RGB24 ? BI_RGB : i_chroma;
+ p_bih->biCompression = i_chroma == VLC_CODEC_RGB24 ? 0L : i_chroma;
p_bih->biHeight *= -1;
p_bih->biBitCount = p_dec->fmt_out.video.i_bits_per_pixel;
p_bih->biSizeImage = p_dec->fmt_in.video.i_width *
@@ -0,0 +1,11 @@
diff -rupN a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c
--- a/modules/codec/avcodec/vaapi.c 2013-01-22 09:51:40.000000000 +0000
+++ b/modules/codec/avcodec/vaapi.c 2013-07-27 17:23:37.965202118 +0000
@@ -47,6 +47,7 @@
#include <X11/Xlib.h>
#include <va/va_x11.h>
+#include <va/va_compat.h>
typedef struct
{
@@ -0,0 +1,23 @@
index 2debbcd..72e7fcf 100644
--- a/modules/audio_output/pulse.c
+++ b/modules/audio_output/pulse.c
@@ -472,8 +472,17 @@ static void stream_underflow_cb(pa_stream *s, void *userdata)
{
+ uint32_t rate = pa_stream_get_sample_spec(s)->rate;
audio_output_t *aout = userdata;
- msg_Dbg(aout, "underflow");
- (void) s;
+ msg_Warn(aout, "underflow");
+ stream_stop(s, aout);
+
+ aout_sys_t *sys = aout->sys;
+ sys->first_pts = VLC_TS_INVALID;
+
+ pa_operation *op = pa_stream_update_sample_rate(s, rate, NULL, NULL);
+ if (unlikely(op == NULL))
+ return;
+ pa_operation_unref(op);
}
static int stream_wait(pa_stream *stream, pa_threaded_mainloop *mainloop)
@@ -0,0 +1,9 @@
--- share/vlc.desktop.in.OSmanOS 2013-06-24 21:00:39.000000000 +0300
+++ share/vlc.desktop.in 2013-11-16 18:49:06.848928443 +0200
@@ -73,6 +73,7 @@
GenericName[sv]=Mediaspelare
Comment[sv]=Spelare för film och musik
+Comment[tr]=VLC medya oynatıcı
Name[te]=VLC మాధ్యమ ప్రదర్శకం
GenericName[te]=మాధ్యమ ప్రదర్శకం
Comment[te]=మీ బహుళమాధ్యమ ప్రవాహాలను చదువు, బంధించు మరియు ప్రసారం చేయి
@@ -0,0 +1,15 @@
diff --git a/configure.ac b/configure.ac
index a684338..053713a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2242,8 +2242,8 @@ AC_ARG_ENABLE(avcodec,
[ --enable-avcodec libavcodec codec (default enabled)])
AS_IF([test "${enable_avcodec}" != "no"], [
PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [
- PKG_CHECK_EXISTS([libavcodec < 56],, [
- AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.])
+ PKG_CHECK_EXISTS([libavcodec < 57],, [
+ AC_MSG_ERROR([libavcodec versions 57 and later are not supported yet.])
])
VLC_SAVE_FLAGS
CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
@@ -0,0 +1,23 @@
--- a/modules/access/rdp.c 2014-11-22 01:40:52.044973648 -0800
+++ b/modules/access/rdp.c 2014-11-22 01:36:44.291975380 -0800
@@ -399,7 +404,9 @@
if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0;
p_sys->i_frame_interval = 1000000 / p_sys->f_fps;
+#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2))
freerdp_channels_global_init();
+#endif
p_sys->p_instance = freerdp_new();
if ( !p_sys->p_instance )
@@ -475,7 +482,10 @@
freerdp_disconnect( p_sys->p_instance );
freerdp_free( p_sys->p_instance );
+
+#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2))
freerdp_channels_global_uninit();
+#endif
if ( p_sys->p_block )
block_Release( p_sys->p_block );
@@ -0,0 +1,13 @@
--- vlc-2.2.2/configure.ac
+++ vlc-2.2.2/configure.ac
@@ -3754,10 +3754,6 @@
AC_MSG_WARN([Not building Qt Interface with X11 helpers.])
])
- PKG_CHECK_EXISTS([Qt5Core >= 5.5.0 Qt5Core < 5.6.0], [
- AC_MSG_ERROR(["You cannot build VLC with Qt-5.5.0. You need to backport I78ef29975181ee22429c9bd4b11d96d9e68b7a9c"])
- ])
-
QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix Qt5Core)"
QT_HOST_PATH="$(eval $PKG_CONFIG --variable=host_bins Qt5Core)"
AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
@@ -0,0 +1,47 @@
X-Git-Url: https://git.videolan.org/?p=vlc.git;a=blobdiff_plain;f=modules%2Faudio_output%2Falsa.c;h=4e9fd53592d048baa8b57f30df15ab5806139d07;hp=2d1f99e9cb743bca12c6bdf32cc84a92d07fda8b;hb=47f74a83c161173b0d15e95dab8ceb7c97de51b4;hpb=6ae2905ef7fbc7de3a3a4a1bdf8ad6df46ce570a
diff --git a/modules/audio_output/alsa.c b/modules/audio_output/alsa.c
index 2d1f99e..4e9fd53 100644
--- a/modules/audio_output/alsa.c
+++ b/modules/audio_output/alsa.c
@@ -495,6 +495,15 @@ static int Start (audio_output_t *aout, audio_sample_format_t *restrict fmt)
}
sys->rate = fmt->i_rate;
+#if 1 /* work-around for period-long latency outputs (e.g. PulseAudio): */
+ param = AOUT_MIN_PREPARE_TIME;
+ val = snd_pcm_hw_params_set_period_time_near (pcm, hw, &param, NULL);
+ if (val)
+ {
+ msg_Err (aout, "cannot set period: %s", snd_strerror (val));
+ goto error;
+ }
+#endif
/* Set buffer size */
param = AOUT_MAX_ADVANCE_TIME;
val = snd_pcm_hw_params_set_buffer_time_near (pcm, hw, &param, NULL);
@@ -503,14 +512,22 @@ static int Start (audio_output_t *aout, audio_sample_format_t *restrict fmt)
msg_Err (aout, "cannot set buffer duration: %s", snd_strerror (val));
goto error;
}
-
- param = AOUT_MIN_PREPARE_TIME;
+#if 0
+ val = snd_pcm_hw_params_get_buffer_time (hw, &param, NULL);
+ if (val)
+ {
+ msg_Warn (aout, "cannot get buffer time: %s", snd_strerror(val));
+ param = AOUT_MIN_PREPARE_TIME;
+ }
+ else
+ param /= 2;
val = snd_pcm_hw_params_set_period_time_near (pcm, hw, &param, NULL);
if (val)
{
msg_Err (aout, "cannot set period: %s", snd_strerror (val));
goto error;
}
+#endif
/* Commit hardware parameters */
val = snd_pcm_hw_params (pcm, hw);
@@ -0,0 +1,11 @@
--- a/configure.ac 2016-09-21 07:10:58.885508665 +0200
+++ b/configure.ac 2016-09-21 07:19:17.835725004 +0200
@@ -3746,7 +3746,7 @@
PKG_CHECK_MODULES([QT], [Qt5Core >= 5.1.0 Qt5Widgets Qt5Gui], [
PKG_CHECK_MODULES([QTX11], [Qt5X11Extras], [
VLC_ADD_LIBS([qt4],[${QTX11_LIBS}])
- VLC_ADD_CXXFLAGS([qt4],[${QTX11_CFLAGS} -DQT5_HAS_X11])
+ VLC_ADD_CXXFLAGS([qt4],[${QTX11_CFLAGS} -DQT5_HAS_X11 -std=c++0x])
PKG_CHECK_MODULES([XI], [xi], [
VLC_ADD_LIBS([qt4], [${XI_LIBS}])
VLC_ADD_CXXFLAGS([qt4], [${XI_CFLAGS} -DHAVE_XI])
@@ -0,0 +1,47 @@
X-Git-Url: https://git.videolan.org/?p=vlc.git;a=blobdiff_plain;f=src%2Finput%2Fdecoder.c;h=fe3cd428c65c18bfbdadb55baf11521afdc2bfc7;hp=83aa5bf54e2c29ad93fae803117558e4fcd0f658;hb=6ae2905ef7fbc7de3a3a4a1bdf8ad6df46ce570a;hpb=5b2de76965ee8b1ab5e3257f8b6d71bbb4e9e3f9
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -1162,7 +1162,10 @@
b_paused = p_owner->b_paused;
if (!p_audio)
+ {
+ vlc_mutex_unlock( &p_owner->lock );
break;
+ }
/* */
int i_rate = INPUT_RATE_DEFAULT;
@@ -1180,6 +1183,9 @@
if( unlikely(p_owner->b_paused != b_paused) )
continue; /* race with input thread? retry... */
+
+ vlc_mutex_unlock( &p_owner->lock );
+
if( p_aout == NULL )
b_reject = true;
@@ -1199,7 +1205,6 @@
break;
}
- vlc_mutex_unlock( &p_owner->lock );
}
static void DecoderDecodeAudio( decoder_t *p_dec, block_t *p_block )
@@ -1961,11 +1966,10 @@
/* Parameters changed, restart the aout */
vlc_mutex_lock( &p_owner->lock );
-
- aout_DecDelete( p_owner->p_aout );
p_owner->p_aout = NULL;
-
vlc_mutex_unlock( &p_owner->lock );
+ aout_DecDelete( p_owner->p_aout );
+
input_resource_PutAout( p_owner->p_resource, p_aout );
}
@@ -0,0 +1,9 @@
--- a/modules/codec/avcodec/audio.c 2016-09-10 13:46:51.066453337 -0700
+++ a/modules/codec/avcodec/audio.c 2016-09-10 13:42:26.061451090 -0700
@@ -38,6 +38,7 @@
#include <libavcodec/avcodec.h>
#include <libavutil/mem.h>
+#include <libavutil/channel_layout.h>
#include "avcodec.h"
@@ -0,0 +1,284 @@
As the 2.2 headers are still using vlc_atomics (picture)
we cannot have a way to avoid collisions with early
or late <atomic> inclusion when using GCC >= 4.7
Conditionals in vlc_atomic won't work.
Happens in ProjectM and Qt5.
---
modules/gui/qt4/actions_manager.cpp | 2 ++
modules/gui/qt4/adapters/seekpoints.cpp | 4 +--
modules/gui/qt4/adapters/seekpoints.hpp | 4 +--
modules/gui/qt4/components/controller.cpp | 2 ++
.../gui/qt4/components/playlist/playlist_model.hpp | 4 +--
modules/gui/qt4/components/playlist/views.cpp | 6 ++++
modules/gui/qt4/dialogs/messages.cpp | 2 ++
modules/gui/qt4/dialogs/vlm.cpp | 4 ---
modules/gui/qt4/dialogs/vlm.hpp | 4 ++-
modules/gui/qt4/input_manager.cpp | 2 ++
modules/gui/qt4/input_manager.hpp | 3 +-
modules/gui/qt4/menus.cpp | 2 ++
modules/gui/qt4/qt4.hpp | 32 ++++++++++++++++++----
modules/gui/qt4/util/pictureflow.cpp | 2 ++
modules/visualization/projectm.cpp | 4 +++
15 files changed, 56 insertions(+), 21 deletions(-)
diff --git a/modules/gui/qt4/actions_manager.cpp b/modules/gui/qt4/actions_manager.cpp
index eff40d9..b7ca967 100644
--- a/modules/gui/qt4/actions_manager.cpp
+++ b/modules/gui/qt4/actions_manager.cpp
@@ -25,6 +25,8 @@
# include "config.h"
#endif
+#include "qt4.hpp"
+
#include <vlc_vout.h>
#include <vlc_keys.h>
diff --git a/modules/gui/qt4/adapters/seekpoints.cpp b/modules/gui/qt4/adapters/seekpoints.cpp
index fbf2957..a3564bb 100644
--- a/modules/gui/qt4/adapters/seekpoints.cpp
+++ b/modules/gui/qt4/adapters/seekpoints.cpp
@@ -19,14 +19,12 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+#include "seekpoints.hpp"
#include "recents.hpp"
#include "dialogs_provider.hpp"
#include "menus.hpp"
-#include "seekpoints.hpp"
-
-#include "qt4.hpp"
#include "input_manager.hpp"
SeekPoints::SeekPoints( QObject *parent, intf_thread_t *p_intf_ ) :
diff --git a/modules/gui/qt4/adapters/seekpoints.hpp b/modules/gui/qt4/adapters/seekpoints.hpp
index 0083989..bbb9214 100644
--- a/modules/gui/qt4/adapters/seekpoints.hpp
+++ b/modules/gui/qt4/adapters/seekpoints.hpp
@@ -22,9 +22,7 @@
#ifndef SEEKPOINTS_HPP
#define SEEKPOINTS_HPP
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
+#include "qt4.hpp"
#include <vlc_common.h>
#include <vlc_interface.h>
diff --git a/modules/gui/qt4/components/controller.cpp b/modules/gui/qt4/components/controller.cpp
index d93e0db..c43d929 100644
--- a/modules/gui/qt4/components/controller.cpp
+++ b/modules/gui/qt4/components/controller.cpp
@@ -26,6 +26,8 @@
# include "config.h"
#endif
+#include "qt4.hpp"
+
#include <vlc_vout.h> /* vout_thread_t for FSC */
/* Widgets */
diff --git a/modules/gui/qt4/components/playlist/playlist_model.hpp b/modules/gui/qt4/components/playlist/playlist_model.hpp
index f9d1d0c..1f71ac9 100644
--- a/modules/gui/qt4/components/playlist/playlist_model.hpp
+++ b/modules/gui/qt4/components/playlist/playlist_model.hpp
@@ -25,9 +25,7 @@
#ifndef _PLAYLIST_MODEL_H_
#define _PLAYLIST_MODEL_H_
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "qt4.hpp"
#include <vlc_input.h>
#include <vlc_playlist.h>
diff --git a/modules/gui/qt4/components/playlist/views.cpp b/modules/gui/qt4/components/playlist/views.cpp
index 59f6535..0066205 100644
--- a/modules/gui/qt4/components/playlist/views.cpp
+++ b/modules/gui/qt4/components/playlist/views.cpp
@@ -21,6 +21,12 @@
* 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "qt4.hpp"
+
#include "components/playlist/views.hpp"
#include "components/playlist/vlc_model.hpp" /* VLCModel */
#include "components/playlist/sorting.h" /* Columns List */
diff --git a/modules/gui/qt4/dialogs/messages.cpp b/modules/gui/qt4/dialogs/messages.cpp
index 30793a2..9c79c99 100644
--- a/modules/gui/qt4/dialogs/messages.cpp
+++ b/modules/gui/qt4/dialogs/messages.cpp
@@ -24,6 +24,8 @@
# include "config.h"
#endif
+#include "qt4.hpp"
+
#include "dialogs/messages.hpp"
#include <QPlainTextEdit>
diff --git a/modules/gui/qt4/dialogs/vlm.cpp b/modules/gui/qt4/dialogs/vlm.cpp
index 0da88cc..595f015 100644
--- a/modules/gui/qt4/dialogs/vlm.cpp
+++ b/modules/gui/qt4/dialogs/vlm.cpp
@@ -23,10 +23,6 @@
* Foundation, Inc., 51 Franklin street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
#include "dialogs/vlm.hpp"
#ifdef ENABLE_VLM
diff --git a/modules/gui/qt4/dialogs/vlm.hpp b/modules/gui/qt4/dialogs/vlm.hpp
index a3c6e5d..dcf7110 100644
--- a/modules/gui/qt4/dialogs/vlm.hpp
+++ b/modules/gui/qt4/dialogs/vlm.hpp
@@ -25,8 +25,10 @@
#ifndef QVLC_VLM_DIALOG_H_
#define QVLC_VLM_DIALOG_H_ 1
+#include "qt4.hpp"
+
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#ifdef ENABLE_VLM
diff --git a/modules/gui/qt4/input_manager.cpp b/modules/gui/qt4/input_manager.cpp
index fd45f4a..c50cb6c 100644
--- a/modules/gui/qt4/input_manager.cpp
+++ b/modules/gui/qt4/input_manager.cpp
@@ -30,6 +30,8 @@
# include "config.h"
#endif
+#include "qt4.hpp"
+
#include "input_manager.hpp"
#include "recents.hpp"
diff --git a/modules/gui/qt4/input_manager.hpp b/modules/gui/qt4/input_manager.hpp
index 7d3b76a..4fbecbb 100644
--- a/modules/gui/qt4/input_manager.hpp
+++ b/modules/gui/qt4/input_manager.hpp
@@ -29,9 +29,10 @@
# include "config.h"
#endif
+#include "qt4.hpp"
+
#include <vlc_input.h>
-#include "qt4.hpp"
#include "util/singleton.hpp"
#include "adapters/variables.hpp"
diff --git a/modules/gui/qt4/menus.cpp b/modules/gui/qt4/menus.cpp
index 116e98c..46240b0 100644
--- a/modules/gui/qt4/menus.cpp
+++ b/modules/gui/qt4/menus.cpp
@@ -34,6 +34,8 @@
# include "config.h"
#endif
+#include "qt4.hpp"
+
#include <vlc_common.h>
#include <vlc_intf_strings.h>
#include <vlc_vout.h> /* vout_thread_t */
diff --git a/modules/gui/qt4/qt4.hpp b/modules/gui/qt4/qt4.hpp
index 44d7db6..5aec957 100644
--- a/modules/gui/qt4/qt4.hpp
+++ b/modules/gui/qt4/qt4.hpp
@@ -29,12 +29,7 @@
# include "config.h"
#endif
-#include <vlc_common.h> /* VLC_COMMON_MEMBERS for vlc_interface.h */
-#include <vlc_interface.h> /* intf_thread_t */
-#include <vlc_playlist.h> /* playlist_t */
-
-#define QT_NO_CAST_TO_ASCII
-#include <QString>
+#include <QtGlobal>
#if ( QT_VERSION < 0x040600 )
# error Update your Qt version to at least 4.6.0
@@ -43,6 +38,31 @@
#define HAS_QT47 ( QT_VERSION >= 0x040700 )
#define HAS_QT5 ( QT_VERSION >= 0x050000 )
+#if HAS_QT5
+ #include <QtCore/qcompilerdetection.h>
+ #if defined(Q_COMPILER_ATOMICS) && \
+ ( __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7 ) )
+ #define VLC_ATOMIC_H
+ #include <atomic>
+ using namespace std;
+ # define atomic_store(object,desired) \
+ do { \
+ *(object) = (desired); \
+ __sync_synchronize(); \
+ } while (0)
+
+ # define atomic_load(object) \
+ (__sync_synchronize(), *(object))
+ #endif
+#endif
+
+#include <vlc_common.h> /* VLC_COMMON_MEMBERS for vlc_interface.h */
+#include <vlc_interface.h> /* intf_thread_t */
+#include <vlc_playlist.h> /* playlist_t */
+
+#define QT_NO_CAST_TO_ASCII
+#include <QString>
+
enum {
DialogEventTypeOffset = 0,
IMEventTypeOffset = 100,
diff --git a/modules/gui/qt4/util/pictureflow.cpp b/modules/gui/qt4/util/pictureflow.cpp
index 9318953..a7e6a01 100644
--- a/modules/gui/qt4/util/pictureflow.cpp
+++ b/modules/gui/qt4/util/pictureflow.cpp
@@ -29,6 +29,8 @@
THE SOFTWARE.
*/
+#include "qt4.hpp"
+
#include "pictureflow.hpp"
#include <QApplication>
diff --git a/modules/visualization/projectm.cpp b/modules/visualization/projectm.cpp
index e80fbf4..96d532d 100644
--- a/modules/visualization/projectm.cpp
+++ b/modules/visualization/projectm.cpp
@@ -30,6 +30,10 @@
#endif
#include <assert.h>
+#if defined(__GNUC__) && \
+ ( __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7 ) )
+ #define VLC_ATOMIC_H /* Ensure C atomics wont collide with old intrinsics */
+#endif
#include <vlc_common.h>
#include <vlc_plugin.h>
--
2.7.4
@@ -0,0 +1,12 @@
--- a/modules/codec/avcodec/vaapi.c
+++ b/modules/codec/avcodec/vaapi.c
@@ -34,6 +34,9 @@
#ifdef VLC_VA_BACKEND_XLIB
# include <vlc_xlib.h>
# include <va/va_x11.h>
+#if VA_MINOR_VERSION >= 34
+# include <va/va_compat.h>
+#endif
#endif
#ifdef VLC_VA_BACKEND_DRM
# include <sys/types.h>
@@ -0,0 +1,388 @@
From 66842e08e177e3c458fa0e4db970deae84feb625 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Kempf <jb@videolan.org>
Date: Tue, 26 May 2015 13:39:00 +0200
Subject: [PATCH 01/13] Fix C++11 compilation of atomic
Close #14569
---
include/vlc_atomic.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 72 insertions(+)
Index: vlc-2.2.3/include/vlc_atomic.h
===================================================================
--- vlc-2.2.3.orig/include/vlc_atomic.h
+++ vlc-2.2.3/include/vlc_atomic.h
@@ -26,13 +26,20 @@
* Atomic operations do not require locking, but they are not very powerful.
*/
-# if !defined (__cplusplus) && (__STDC_VERSION__ >= 201112L) \
- && !defined (__STDC_NO_ATOMICS__)
+/* Clang older versions support atomics but lacks the stdatomic.h header */
+#if defined(__clang__)
+# if !defined(__has_include) || !__has_include(<stdatomic.h>)
+# define __STDC_NO_ATOMICS__ 1
+# endif
+#endif
+# ifndef __cplusplus
+# if (__STDC_VERSION__ >= 201112L) && !defined (__STDC_NO_ATOMICS__)
/*** Native C11 atomics ***/
-# include <stdatomic.h>
+# include <stdatomic.h>
-# else
+# else
+/*** Intel/GCC atomics ***/
# define ATOMIC_FLAG_INIT false
@@ -53,22 +60,6 @@
# define atomic_is_lock_free(obj) \
false
-/* In principles, __sync_*() only supports int, long and long long and their
- * unsigned equivalents, i.e. 4-bytes and 8-bytes types, although GCC also
- * supports 1 and 2-bytes types. Some non-x86 architectures do not support
- * 8-byte atomic types (or not efficiently). */
-# if defined (_MSC_VER)
-/* Some atomic operations of the Interlocked API are only
- available for desktop apps. Thus we define the atomic types to
- be at least 32 bits wide. */
-typedef int_least32_t atomic_flag;
-typedef int_least32_t atomic_bool;
-typedef int_least32_t atomic_char;
-typedef int_least32_t atomic_schar;
-typedef uint_least32_t atomic_uchar;
-typedef int_least32_t atomic_short;
-typedef uint_least32_t atomic_ushort;
-# else
typedef bool atomic_flag;
typedef bool atomic_bool;
typedef char atomic_char;
@@ -76,7 +67,6 @@ typedef signed char atomic_schar;
typedef unsigned char atomic_uchar;
typedef short atomic_short;
typedef unsigned short atomic_ushort;
-# endif
typedef int atomic_int;
typedef unsigned int atomic_uint;
typedef long atomic_long;
@@ -109,10 +99,6 @@ typedef ptrdiff_t atomic_ptrdiff
typedef intmax_t atomic_intmax_t;
typedef uintmax_t atomic_uintmax_t;
-# if defined (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) || (defined (__clang__) && (defined (__x86_64__) || defined (__i386__)))
-
-/*** Intel/GCC atomics ***/
-
# define atomic_store(object,desired) \
do { \
*(object) = (desired); \
@@ -203,204 +189,7 @@ typedef uintmax_t atomic_uintmax
# define atomic_flag_clear_explicit(object,order) \
atomic_flag_clear(object)
-# elif defined (__GNUC__)
-
-/*** No atomics ***/
-
-# define atomic_store(object,desired) \
- do { \
- typeof (object) _obj = (object); \
- typeof (*object) _des = (desired); \
- vlc_global_lock(VLC_ATOMIC_MUTEX); \
- *_obj = _des; \
- vlc_global_unlock(VLC_ATOMIC_MUTEX); \
- } while (0)
-# define atomic_store_explicit(object,desired,order) \
- atomic_store(object,desired)
-
-# define atomic_load(object) \
-({ \
- typeof (object) _obj = (object); \
- typeof (*object) _old; \
- vlc_global_lock(VLC_ATOMIC_MUTEX); \
- _old = *_obj; \
- vlc_global_unlock(VLC_ATOMIC_MUTEX); \
- _old; \
-})
-# define atomic_load_explicit(object,order) \
- atomic_load(object)
-
-# define atomic_exchange(object,desired) \
-({ \
- typeof (object) _obj = (object); \
- typeof (*object) _des = (desired); \
- typeof (*object) _old; \
- vlc_global_lock(VLC_ATOMIC_MUTEX); \
- _old = *_obj; \
- *_obj = _des; \
- vlc_global_unlock(VLC_ATOMIC_MUTEX); \
- _old; \
-})
-# define atomic_exchange_explicit(object,desired,order) \
- atomic_exchange(object,desired)
-
-# define atomic_compare_exchange_strong(object,expected,desired) \
-({ \
- typeof (object) _obj = (object); \
- typeof (object) _exp = (expected); \
- typeof (*object) _des = (desired); \
- bool ret; \
- vlc_global_lock(VLC_ATOMIC_MUTEX); \
- ret = *_obj == *_exp; \
- if (ret) \
- *_obj = _des; \
- else \
- *_exp = *_obj; \
- vlc_global_unlock(VLC_ATOMIC_MUTEX); \
- ret; \
-})
-# define atomic_compare_exchange_strong_explicit(object,expected,desired,order) \
- atomic_compare_exchange_strong(object, expected, desired)
-# define atomic_compare_exchange_weak(object,expected,desired) \
- atomic_compare_exchange_strong(object, expected, desired)
-# define atomic_compare_exchange_weak_explicit(object,expected,desired,order) \
- atomic_compare_exchange_weak(object, expected, desired)
-
-# define atomic_fetch_OP(object,desired,op) \
-({ \
- typeof (object) _obj = (object); \
- typeof (*object) _des = (desired); \
- typeof (*object) _old; \
- vlc_global_lock(VLC_ATOMIC_MUTEX); \
- _old = *_obj; \
- *_obj = (*_obj) op (_des); \
- vlc_global_unlock(VLC_ATOMIC_MUTEX); \
- _old; \
-})
-
-# define atomic_fetch_add(object,operand) \
- atomic_fetch_OP(object,operand,+)
-# define atomic_fetch_add_explicit(object,operand,order) \
- atomic_fetch_add(object,operand)
-
-# define atomic_fetch_sub(object,operand) \
- atomic_fetch_OP(object,operand,-)
-# define atomic_fetch_sub_explicit(object,operand,order) \
- atomic_fetch_sub(object,operand)
-
-# define atomic_fetch_or(object,operand) \
- atomic_fetch_OP(object,operand,|)
-# define atomic_fetch_or_explicit(object,operand,order) \
- atomic_fetch_or(object,operand)
-
-# define atomic_fetch_xor(object,operand) \
- atomic_fetch_OP(object,operand,^)
-# define atomic_fetch_xor_explicit(object,operand,order) \
- atomic_fetch_sub(object,operand)
-
-# define atomic_fetch_and(object,operand) \
- atomic_fetch_OP(object,operand,&)
-# define atomic_fetch_and_explicit(object,operand,order) \
- atomic_fetch_and(object,operand)
-
-# define atomic_flag_test_and_set(object) \
- atomic_exchange(object, true)
-
-# define atomic_flag_test_and_set_explicit(object,order) \
- atomic_flag_test_and_set(object)
-
-# define atomic_flag_clear(object) \
- atomic_store(object, false)
-
-# define atomic_flag_clear_explicit(object,order) \
- atomic_flag_clear(object)
-
-# elif defined (_MSC_VER)
-
-# include <windows.h>
-
-/*** Use the Interlocked API. ***/
-
-/* Define macros in order to dispatch to the correct function depending on the type.
- Several ranges are need because some operations are not implemented for all types. */
-# define atomic_type_dispatch_32_64(operation, object, ...) \
- (sizeof(*object) == 4 ? operation((LONG *)object, __VA_ARGS__) : \
- sizeof(*object) == 8 ? operation##64((LONGLONG *)object, __VA_ARGS__) : \
- (abort(), 0))
-
-# define atomic_type_dispatch_16_64(operation, object, ...) \
- (sizeof(*object) == 2 ? operation##16((short *)object, __VA_ARGS__) : \
- atomic_type_dispatch_32_64(operation, object, __VA_ARGS__))
-
-# define atomic_type_dispatch_8_64(operation, object, ...) \
- (sizeof(*object) == 1 ? operation##8((char *)object, __VA_ARGS__) : \
- atomic_type_dispatch_16_64(operation, object, __VA_ARGS__))
-
-# define atomic_store(object,desired) \
- atomic_type_dispatch_16_64(InterlockedExchange, object, desired)
-# define atomic_store_explicit(object,desired,order) \
- atomic_store(object, desired)
-
-# define atomic_load(object) \
- atomic_type_dispatch_16_64(InterlockedCompareExchange, object, 0, 0)
-# define atomic_load_explicit(object,order) \
- atomic_load(object)
-
-# define atomic_exchange(object,desired) \
- atomic_type_dispatch_16_64(InterlockedExchange, object, desired)
-# define atomic_exchange_explicit(object,desired,order) \
- atomic_exchange(object, desired)
-
-# define atomic_compare_exchange_strong(object,expected,desired) \
- atomic_type_dispatch_16_64(InterlockedCompareExchange, object, *expected, desired) == *expected
-# define atomic_compare_exchange_strong_explicit(object,expected,desired,order) \
- atomic_compare_exchange_strong(object, expected, desired)
-# define atomic_compare_exchange_weak(object,expected,desired) \
- atomic_compare_exchange_strong(object, expected, desired)
-# define atomic_compare_exchange_weak_explicit(object,expected,desired,order) \
- atomic_compare_exchange_weak(object, expected, desired)
-
-# define atomic_fetch_add(object,operand) \
- atomic_type_dispatch_32_64(InterlockedExchangeAdd, object, operand)
-# define atomic_fetch_add_explicit(object,operand,order) \
- atomic_fetch_add(object, operand)
-
-# define atomic_fetch_sub(object,operand) \
- atomic_type_dispatch_32_64(InterlockedExchangeAdd, object, -(LONGLONG)operand)
-# define atomic_fetch_sub_explicit(object,operand,order) \
- atomic_fetch_sub(object, operand)
-
-# define atomic_fetch_or(object,operand) \
- atomic_type_dispatch_8_64(InterlockedOr, object, operand)
-# define atomic_fetch_or_explicit(object,operand,order) \
- atomic_fetch_or(object, operand)
-
-# define atomic_fetch_xor(object,operand) \
- atomic_type_dispatch_8_64(InterlockedXor, object, operand)
-# define atomic_fetch_xor_explicit(object,operand,order) \
- atomic_fetch_sub(object, operand)
-
-# define atomic_fetch_and(object,operand) \
- atomic_type_dispatch_8_64(InterlockedAnd, object, operand)
-# define atomic_fetch_and_explicit(object,operand,order) \
- atomic_fetch_and(object, operand)
-
-# define atomic_flag_test_and_set(object) \
- atomic_exchange(object, true)
-
-# define atomic_flag_test_and_set_explicit(object,order) \
- atomic_flag_test_and_set(object)
-
-# define atomic_flag_clear(object) \
- atomic_store(object, false)
-
-# define atomic_flag_clear_explicit(object,order) \
- atomic_flag_clear(object)
-
-# else
-# error FIXME: implement atomic operations for this compiler.
-# endif
-# endif
+# endif /* !C11 */
typedef atomic_uint_least32_t vlc_atomic_float;
@@ -427,4 +216,9 @@ static inline void vlc_atomic_store_floa
atomic_store(atom, u.i);
}
+# else /* C++ */
+/*** Native C++11 atomics ***/
+# include <atomic>
+# endif /* C++ */
+
#endif
Index: vlc-2.2.3/include/vlc_spu.h
===================================================================
--- vlc-2.2.3.orig/include/vlc_spu.h
+++ vlc-2.2.3/include/vlc_spu.h
@@ -45,9 +45,6 @@ extern "C" {
typedef struct spu_private_t spu_private_t;
-/* Default subpicture channel ID */
-#define SPU_DEFAULT_CHANNEL (1)
-
/**
* Subpicture unit descriptor
*/
Index: vlc-2.2.3/include/vlc_vout_osd.h
===================================================================
--- vlc-2.2.3.orig/include/vlc_vout_osd.h
+++ vlc-2.2.3/include/vlc_vout_osd.h
@@ -26,12 +26,13 @@
#ifndef VLC_VOUT_OSD_H
#define VLC_VOUT_OSD_H 1
-#include <vlc_spu.h>
-
#ifdef __cplusplus
extern "C" {
#endif
+//* Default subpicture channel ID */
+#define SPU_DEFAULT_CHANNEL (1)
+
/**
* OSD menu position and picture type defines
*/
Index: vlc-2.2.3/src/video_output/video_output.c
===================================================================
--- vlc-2.2.3.orig/src/video_output/video_output.c
+++ vlc-2.2.3/src/video_output/video_output.c
@@ -43,6 +43,7 @@
#include <vlc_vout.h>
#include <vlc_filter.h>
+#include <vlc_spu.h>
#include <vlc_vout_osd.h>
#include <vlc_image.h>
Index: vlc-2.2.3/modules/gui/qt4/dialogs/messages.hpp
===================================================================
--- vlc-2.2.3.orig/modules/gui/qt4/dialogs/messages.hpp
+++ vlc-2.2.3/modules/gui/qt4/dialogs/messages.hpp
@@ -28,8 +28,8 @@
#include "util/singleton.hpp"
#include "ui/messages_panel.h"
#include <stdarg.h>
-#include <vlc_atomic.h>
#include <QMutex>
+#include <QAtomicInt>
class QTabWidget;
class QPushButton;
@@ -55,7 +55,7 @@ private:
void sinkMessage( const MsgEvent * );
bool matchFilter( const QString& );
- atomic_uint verbosity;
+ QAtomicInt verbosity;
static void MsgCallback( void *, int, const vlc_log_t *, const char *,
va_list );
Index: vlc-2.2.3/modules/gui/qt4/dialogs/messages.cpp
===================================================================
--- vlc-2.2.3.orig/modules/gui/qt4/dialogs/messages.cpp
+++ vlc-2.2.3/modules/gui/qt4/dialogs/messages.cpp
@@ -143,7 +143,7 @@ MessagesDialog::~MessagesDialog()
void MessagesDialog::changeVerbosity( int i_verbosity )
{
- atomic_store( &this->verbosity, i_verbosity );
+ verbosity = i_verbosity;
}
void MessagesDialog::updateConfig()
@@ -337,7 +337,7 @@ void MessagesDialog::MsgCallback( void *
{
MessagesDialog *dialog = (MessagesDialog *)self;
char *str;
- int verbosity = atomic_load( &dialog->verbosity );
+ int verbosity = dialog->verbosity;
if( verbosity < 0 || verbosity < (type - VLC_MSG_ERR)
|| unlikely(vasprintf( &str, format, ap ) == -1) )
+466
View File
@@ -0,0 +1,466 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>vlc</Name>
<Homepage>http://www.videolan.org/vlc</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>LGPLv2</License>
<Icon>vlc</Icon>
<IsA>app:gui</IsA>
<Summary>VLC media player</Summary>
<Description>VLC is a famous video player and streamer.</Description>
<Archive sha1sum="39ef414a07202ec6569acda4c5d91e8576d453bf" type="tarxz">http://mirrors.netix.net/vlc/vlc/3.0.12/vlc-3.0.12.tar.xz</Archive>
<BuildDependencies>
<Dependency>qt5-svg-devel</Dependency>
<Dependency>wayland-client</Dependency>
<Dependency>libcdio-devel</Dependency>
<Dependency>eudev-devel</Dependency>
<Dependency>lua-devel</Dependency>
<Dependency>libgcrypt-devel</Dependency>
<Dependency>xcb-proto</Dependency>
<Dependency>zlib-devel</Dependency>
<Dependency>gtk2-devel</Dependency>
<Dependency>gtk3-devel</Dependency>
<Dependency>zvbi-devel</Dependency>
<Dependency>faac-devel</Dependency>
<Dependency>flac-devel</Dependency>
<Dependency>lirc-devel</Dependency>
<Dependency>mesa-devel</Dependency>
<Dependency>x265-devel</Dependency>
<Dependency>x264-devel</Dependency>
<Dependency>dbus-devel</Dependency>
<Dependency>avahi-devel</Dependency>
<Dependency>samba-devel</Dependency>
<Dependency>aalib-devel</Dependency>
<Dependency>faad2-devel</Dependency>
<Dependency>speex-devel</Dependency>
<Dependency>libva-devel</Dependency>
<Dependency>libXt-devel</Dependency>
<Dependency>libXv-devel</Dependency>
<Dependency>cairo-devel</Dependency>
<Dependency>util-macros</Dependency>
<Dependency>libxcb-devel</Dependency>
<Dependency>libarchive-devel</Dependency>
<Dependency>libXau-devel</Dependency>
<Dependency>libtar-devel</Dependency>
<Dependency>libvpx-devel</Dependency>
<Dependency>ffmpeg-devel</Dependency>
<Dependency>libass-devel</Dependency>
<Dependency>libXpm-devel</Dependency>
<Dependency>gnutls-devel</Dependency>
<Dependency>libv4l-devel</Dependency>
<Dependency>libdca-devel</Dependency>
<Dependency>libmtp-devel</Dependency>
<Dependency>libmad-devel</Dependency>
<Dependency>libogg-devel</Dependency>
<Dependency>libsdl-devel</Dependency>
<Dependency>libsdl2-devel</Dependency>
<Dependency>taglib-devel</Dependency>
<Dependency>a52dec-devel</Dependency>
<Dependency>libebml-devel</Dependency>
<Dependency>libxml2-devel</Dependency>
<Dependency>libcddb-devel</Dependency>
<Dependency>libcaca-devel</Dependency>
<Dependency>libXext-devel</Dependency>
<Dependency>librsvg-devel</Dependency>
<Dependency>libcdio-devel</Dependency>
<Dependency>fribidi-devel</Dependency>
<Dependency>libupnp-devel</Dependency>
<Dependency>libkate-devel</Dependency>
<Dependency>freerdp-devel</Dependency>
<Dependency>twolame-devel</Dependency>
<Dependency>minizip-devel</Dependency>
<Dependency>live555-devel</Dependency>
<Dependency>libopus-devel</Dependency>
<Dependency>freetype-devel</Dependency>
<Dependency>libXdmcp-devel</Dependency>
<Dependency>kernel-headers</Dependency>
<Dependency>xcb-util-devel</Dependency>
<Dependency>libmpeg2-devel</Dependency>
<Dependency>alsa-lib-devel</Dependency>
<Dependency>libshout-devel</Dependency>
<Dependency>libdvbpsi-devel</Dependency>
<Dependency>libtheora-devel</Dependency>
<Dependency>libbluray-devel</Dependency>
<Dependency>libgcrypt-devel</Dependency>
<Dependency>libnotify-devel</Dependency>
<Dependency>libssh2-devel</Dependency>
<Dependency>openssl-devel</Dependency>
<Dependency>libvorbis-devel</Dependency>
<Dependency>libdc1394-devel</Dependency>
<Dependency>ncurses-devel</Dependency>
<Dependency>libid3tag-devel</Dependency>
<Dependency>sdl-image-devel</Dependency>
<Dependency>libmpcdec-devel</Dependency>
<Dependency>libdvdcss-devel</Dependency>
<Dependency>libdvdnav-devel</Dependency>
<Dependency>vcdimager-devel</Dependency>
<Dependency>libraw1394-devel</Dependency>
<Dependency>fluidsynth-devel</Dependency>
<Dependency>libdvdread-devel</Dependency>
<Dependency>fontconfig-devel</Dependency>
<Dependency>libavc1394-devel</Dependency>
<Dependency>libmodplug-devel</Dependency>
<Dependency>libXxf86vm-devel</Dependency>
<Dependency>gdk-pixbuf-devel</Dependency>
<Dependency>libmatroska-devel</Dependency>
<Dependency>libXinerama-devel</Dependency>
<Dependency>schroedinger-devel</Dependency>
<Dependency>crystalhd-firmware</Dependency>
<Dependency>libgpg-error-devel</Dependency>
<Dependency>libvncserver-devel</Dependency>
<Dependency>libsamplerate-devel</Dependency>
<Dependency>libjpeg-turbo-devel</Dependency>
<Dependency>qt5-base-devel</Dependency>
<Dependency>qt5-x11extras-devel</Dependency>
<Dependency>libchromaprint-devel</Dependency>
<Dependency>gstreamer-devel</Dependency>
<Dependency>pulseaudio-libs-devel</Dependency>
<Dependency>xcb-util-keysyms-devel</Dependency>
<Dependency>gst-plugins-base-devel</Dependency>
<Dependency>zvbi-devel</Dependency>
<Dependency>wayland-protocols-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">lua53_compat.patch</Patch>
<Patch level="1">qt_5_15.patch</Patch>
<!-- <Patch level="1">build_fix.patch</Patch> -->
</Patches>
</Source>
<Package>
<Name>vlc</Name>
<RuntimeDependencies>
<Dependency>lua</Dependency>
<Dependency>dbus</Dependency>
<Dependency>qt5-base</Dependency>
<Dependency>qt5-svg</Dependency>
<Dependency>wayland-client</Dependency>
<Dependency>qt5-x11extras</Dependency>
<Dependency>ncurses</Dependency>
<Dependency>libtar</Dependency>
<Dependency>libXpm</Dependency>
<Dependency>fribidi</Dependency>
<Dependency>libXi</Dependency>
<Dependency>libXext</Dependency>
<Dependency>minizip</Dependency>
<Dependency>zlib</Dependency>
<Dependency>libX11</Dependency>
<Dependency>libgcc</Dependency>
<Dependency>freetype</Dependency>
<Dependency version="current">vlc-libs</Dependency>
<Dependency>libXinerama</Dependency>
<Dependency>dejavu-fonts</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/usr/bin</Path>
<!-- Gui library files. -->
<Path fileType="library">/usr/lib/vlc/plugins/gui</Path>
<Path fileType="data">/usr/share/vlc</Path>
<Path fileType="data">/usr/share/applications</Path>
<Path fileType="data">/usr/share/icons</Path>
<Path fileType="data">/usr/share/kde4/apps/solid/actions</Path>
<Path fileType="data">/usr/share/metainfo</Path>
<Path fileType="data">/usr/share/solid</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="man">/usr/share/man</Path>
<Path fileType="localedata">/usr/share/locale</Path>
</Files>
<Provides>
<COMAR script="package.py">System.Package</COMAR>
</Provides>
</Package>
<Package>
<Name>vlc-lua</Name>
<Summary>Lua scripting for VLC</Summary>
<RuntimeDependencies>
<Dependency>lua</Dependency>
<Dependency version="current">vlc-libs</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/vlc/lua</Path>
<Path fileType="library">/usr/lib/vlc/plugins/lua/liblua_plugin.so</Path>
</Files>
</Package>
<Package>
<Name>vlc-libs</Name>
<Summary>Codec and plugin library files for VLC</Summary>
<RuntimeDependencies>
<Dependency>lua</Dependency>
<Dependency>libX11</Dependency>
<Dependency>x264</Dependency>
<Dependency>libgcc</Dependency>
<Dependency>freetype</Dependency>
<Dependency>dbus</Dependency>
<Dependency>zlib</Dependency>
<Dependency>gtk3</Dependency>
<Dependency>lirc</Dependency>
<Dependency>flac</Dependency>
<Dependency>zvbi</Dependency>
<Dependency>x265</Dependency>
<Dependency>libglvnd</Dependency>
<Dependency>libva</Dependency>
<Dependency>faad2</Dependency>
<Dependency>samba</Dependency>
<Dependency>speex</Dependency>
<Dependency>aalib</Dependency>
<Dependency>cairo</Dependency>
<Dependency>glib2</Dependency>
<Dependency>eudev</Dependency>
<Dependency>libpng</Dependency>
<Dependency>libxcb</Dependency>
<Dependency>harfbuzz</Dependency>
<Dependency>libidn</Dependency>
<Dependency>libmad</Dependency>
<Dependency>libass</Dependency>
<Dependency>gnutls</Dependency>
<Dependency>libdca</Dependency>
<Dependency>libsdl</Dependency>
<Dependency>ffmpeg</Dependency>
<Dependency>a52dec</Dependency>
<Dependency>libmtp</Dependency>
<Dependency>taglib</Dependency>
<Dependency>libogg</Dependency>
<Dependency>libvpx</Dependency>
<Dependency>libxml2</Dependency>
<Dependency>libssh2</Dependency>
<Dependency>libcddb</Dependency>
<Dependency>freerdp</Dependency>
<Dependency>libopus</Dependency>
<Dependency>libcaca</Dependency>
<Dependency>twolame</Dependency>
<Dependency>libebml</Dependency>
<Dependency>libcdio</Dependency>
<Dependency>librsvg</Dependency>
<Dependency>live555</Dependency>
<Dependency>minizip</Dependency>
<Dependency>fribidi</Dependency>
<Dependency>libkate</Dependency>
<Dependency>libupnp</Dependency>
<Dependency>libshout</Dependency>
<Dependency>libarchive</Dependency>
<Dependency>avahi-libs</Dependency>
<Dependency>alsa-lib</Dependency>
<Dependency>libvdpau</Dependency>
<Dependency>libmpeg2</Dependency>
<Dependency>libdvbpsi</Dependency>
<Dependency>libdc1394</Dependency>
<Dependency>sdl-image</Dependency>
<Dependency>vcdimager</Dependency>
<Dependency>libbluray</Dependency>
<Dependency>libnotify</Dependency>
<Dependency>libdvdnav</Dependency>
<Dependency>libmpcdec</Dependency>
<Dependency>libtheora</Dependency>
<Dependency>libvorbis</Dependency>
<Dependency>libgcrypt</Dependency>
<Dependency>fontconfig</Dependency>
<Dependency>libraw1394</Dependency>
<Dependency>fluidsynth</Dependency>
<Dependency>libmodplug</Dependency>
<Dependency>libdvdread</Dependency>
<Dependency>gdk-pixbuf</Dependency>
<Dependency>libavc1394</Dependency>
<Dependency>libmatroska</Dependency>
<Dependency>schroedinger</Dependency>
<Dependency>wayland-client</Dependency>
<Dependency>libvncserver</Dependency>
<Dependency>libgpg-error</Dependency>
<Dependency>libsamplerate</Dependency>
<Dependency>libjpeg-turbo</Dependency>
<Dependency>gstreamer</Dependency>
<Dependency>libchromaprint</Dependency>
<Dependency>pulseaudio-libs</Dependency>
<Dependency>xcb-util-keysyms</Dependency>
<Dependency>crystalhd-firmware</Dependency>
<Dependency>gst-plugins-base</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/libvlc*</Path>
<Path fileType="library">/usr/lib/vlc</Path>
</Files>
</Package>
<Package>
<Name>vlc-devel</Name>
<Summary>Development files for vlc</Summary>
<RuntimeDependencies>
<Dependency version="current">vlc-libs</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
</Files>
</Package>
<History>
<Update release="22">
<Date>2021-02-13</Date>
<Version>3.0.12</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="21">
<Date>2020-12-17</Date>
<Version>3.0.11.1</Version>
<Comment>Rebuild.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="20">
<Date>2020-09-19</Date>
<Version>3.0.11.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="19">
<Date>2020-06-17</Date>
<Version>3.0.11</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="18">
<Date>2020-04-29</Date>
<Version>3.0.10</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="17">
<Date>2020-03-03</Date>
<Version>3.0.8</Version>
<Comment>Rebuild.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="16">
<Date>2019-10-14</Date>
<Version>3.0.8</Version>
<Comment>Rebuild.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="15">
<Date>2019-09-15</Date>
<Version>3.0.8</Version>
<Comment>Version bump.</Comment>
<Name>Idris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="14">
<Date>2019-04-12</Date>
<Version>3.0.6</Version>
<Comment>Rebuild.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="13">
<Date>2019-01-22</Date>
<Version>3.0.6</Version>
<Comment>Version Bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="12">
<Date>2018-12-28</Date>
<Version>3.0.5</Version>
<Comment>Version Bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="11">
<Date>2018-09-16</Date>
<Version>3.0.3</Version>
<Comment>Version Bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="10">
<Date>2018-05-19</Date>
<Version>3.0.2</Version>
<Comment>Rebuild.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="9">
<Date>2018-04-28</Date>
<Version>3.0.2</Version>
<Comment>Version Bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="8">
<Date>2018-03-03</Date>
<Version>3.0.1</Version>
<Comment>Version Bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="7">
<Date>2018-02-18</Date>
<Version>3.0.0</Version>
<Comment>Version Bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="6">
<Date>2018-01-13</Date>
<Version>2.2.8</Version>
<Comment>Rebuild</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="5">
<Date>2017-12-21</Date>
<Version>2.2.8</Version>
<Comment>Version Bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="4">
<Date>2017-03-05</Date>
<Version>2.2.4</Version>
<Comment>Rebuild</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="4">
<Date>2016-12-24</Date>
<Version>2.2.4</Version>
<Comment>Rebuild.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="3">
<Date>2016-06-20</Date>
<Version>2.2.4</Version>
<Comment>Version Bump</Comment>
<Name>Alihan Öztürk</Name>
<Email>alihan@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2016-06-09</Date>
<Version>2.2.0</Version>
<Comment>Release Bump</Comment>
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2016-03-27</Date>
<Version>2.2.0</Version>
<Comment>First release</Comment>
<Name>Stefan Gronewold(groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,28 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>vlc</Name>
<Summary xml:lang="tr">VLC çoklu ortam oynatıcısı</Summary>
<Summary xml:lang="pl">Odtwarzacz plików multimedialnych i serwer strumieni </Summary>
<Summary xml:lang="es">VLC reproductor multimedia</Summary>
<Description xml:lang="tr">Media oynatıcısı ve yayın dinleyici</Description>
<Description xml:lang="pl">VLC jest odtwarzaczem multimediów projektu VideoLAN. Odtwarza pliki MPEG, MPEG2, MPEG4, DivX, MOV, WMV, QuickTime, WebM, FLAC, MP3, Ogg/Vorbis, płyty DVD, VCD, podkasty oraz strumienie multimedialne z różnych źródeł w sieci.</Description>
<Description xml:lang="es">VLC es un poderoso reproductor de medios para todo tipo de formatos multimedia</Description>
</Source>
<Package>
<Name>vlc-devel</Name>
<Summary xml:lang="tr">vlc için geliştirme dosyaları</Summary>
<Summary xml:lang="pl">Pliki nagłówkowe vlc</Summary>
</Package>
<Package>
<Name>vlc-firefox</Name>
<Summary xml:lang="tr">Firefox için vlc eklentisi</Summary>
</Package>
<Package>
<Name>vlc-libs</Name>
<Summary xml:lang="tr">vlc için codec ve eklenti kitaplık dosyaları</Summary>
</Package>
</PISI>