Removed patch 0004, applied upstream.
Renumbered remaining patches.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
--- /dev/null
+From 6515c423f9e6b8b607678a260a16db2684d88a4e Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Tue, 1 May 2018 22:30:09 +0200
+Subject: [PATCH] Don't hardcode the name of the vorbis and ogg libraries
+
+Fixes linking error with tremor due to wrong library name.
+
+Downloaded from Gentoo package
+https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vlc/files/vlc-2.1.0-fix-libtremor-libs.patch?view=markup
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ modules/codec/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
+index 10132a92f3..2fb52a586e 100644
+--- a/modules/codec/Makefile.am
++++ b/modules/codec/Makefile.am
+@@ -324,7 +324,7 @@ codec_LTLIBRARIES += $(LTLIBdaala)
+ libtremor_plugin_la_SOURCES = codec/vorbis.c
+ libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
+ libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
+-libtremor_plugin_la_LIBADD = -lvorbisdec -logg
++libtremor_plugin_la_LIBADD = $(VORBIS_LIBS) $(OGG_LIBS)
+ EXTRA_LTLIBRARIES += libtremor_plugin.la
+ codec_LTLIBRARIES += $(LTLIBtremor)
+
+--
+2.14.4
+
+++ /dev/null
-From 30211b7336f2ed6048953390340e86f6cca9eb6f Mon Sep 17 00:00:00 2001
-From: Dominique Leuenberger <dimstar@opensuse.org>
-Date: Thu, 17 May 2018 17:40:37 +0200
-Subject: [PATCH] qt: fix build against Qt 5.11
-
-Qt 5.11 is in RC phase now, and some headers need to be explicitly
-included in order to build successfully.
-
-Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
-
-Downloaded from
-https://sources.debian.org/src/vlc/3.0.3-1-3/debian/patches/0003-qt-fix-build-against-Qt-5.11.patch/
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- modules/gui/qt/components/simple_preferences.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/modules/gui/qt/components/simple_preferences.cpp b/modules/gui/qt/components/simple_preferences.cpp
-index 635cc274c0..7a31a6ea6f 100644
---- a/modules/gui/qt/components/simple_preferences.cpp
-+++ b/modules/gui/qt/components/simple_preferences.cpp
-@@ -36,6 +36,7 @@
- #include <QString>
- #include <QFont>
- #include <QToolButton>
-+#include <QButtonGroup>
- #include <QSignalMapper>
- #include <QVBoxLayout>
- #include <QScrollArea>
---
-2.14.4
-
+++ /dev/null
-From 6515c423f9e6b8b607678a260a16db2684d88a4e Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Tue, 1 May 2018 22:30:09 +0200
-Subject: [PATCH] Don't hardcode the name of the vorbis and ogg libraries
-
-Fixes linking error with tremor due to wrong library name.
-
-Downloaded from Gentoo package
-https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vlc/files/vlc-2.1.0-fix-libtremor-libs.patch?view=markup
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- modules/codec/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
-index 10132a92f3..2fb52a586e 100644
---- a/modules/codec/Makefile.am
-+++ b/modules/codec/Makefile.am
-@@ -324,7 +324,7 @@ codec_LTLIBRARIES += $(LTLIBdaala)
- libtremor_plugin_la_SOURCES = codec/vorbis.c
- libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
- libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
--libtremor_plugin_la_LIBADD = -lvorbisdec -logg
-+libtremor_plugin_la_LIBADD = $(VORBIS_LIBS) $(OGG_LIBS)
- EXTRA_LTLIBRARIES += libtremor_plugin.la
- codec_LTLIBRARIES += $(LTLIBtremor)
-
---
-2.14.4
-
--- /dev/null
+From bbb15b9cbf9353423619f2c40abdf95d861e66ba Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Sat, 2 Apr 2016 16:49:54 +0200
+Subject: [PATCH] Fix build error using uClibc by adding sys/types.h
+
+Fixes
+
+ CC core.lo
+In file included from libvlc_internal.h:35:0,
+ from core.c:28:
+../include/vlc/libvlc_media.h:313:18: error: expected declaration specifiers or '...' before '*' token
+ typedef ssize_t (*libvlc_media_read_cb)(void *opaque, unsigned char *buf,
+ ^
+../include/vlc/libvlc_media.h:423:36: error: unknown type name 'libvlc_media_read_cb'
+ libvlc_media_read_cb read_cb,
+ ^
+Bug was reported to trac:
+https://trac.videolan.org/vlc/ticket/16768
+
+This patch was suggested by courmisch in the trac ticket.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+[Patch sent upstream:
+ https://mailman.videolan.org/pipermail/vlc-devel/2016-April/106952.html]
+---
+ include/vlc/libvlc_media.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/include/vlc/libvlc_media.h b/include/vlc/libvlc_media.h
+index 383f366b69..1cbf00c3e3 100644
+--- a/include/vlc/libvlc_media.h
++++ b/include/vlc/libvlc_media.h
+@@ -26,6 +26,8 @@
+ #ifndef VLC_LIBVLC_MEDIA_H
+ #define VLC_LIBVLC_MEDIA_H 1
+
++#include <sys/types.h> /* for ssize_t */
++
+ # ifdef __cplusplus
+ extern "C" {
+ # endif
+--
+2.14.4
+
--- /dev/null
+From 0435cf37308652af1cf244b6429e919fa7ffaa95 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Tue, 1 May 2018 22:31:23 +0200
+Subject: [PATCH] Don't assume strerror_l() is available
+
+Fix compile error
+
+ CCLD vlc
+/home/br/br3/output/build/vlc-2.2.1/src/.libs/libvlccore.so: undefined reference to `strerror_l'
+
+Code for #else condition was taken from
+http://patches.osdyson.org/patch/series/view/vlc/2.2.0~rc2-1+dyson2/dyson.patch
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ configure.ac | 2 +-
+ src/posix/error.c | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index dfb4c1c329..bfe43512a2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -590,7 +590,7 @@ dnl Check for system libs needed
+ need_libc=false
+
+ dnl Check for usual libc functions
+-AC_CHECK_FUNCS([accept4 daemon fcntl flock fstatvfs fork getenv getpwuid_r isatty lstat memalign mkostemp mmap newlocale open_memstream openat pipe2 pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp strptime uselocale])
++AC_CHECK_FUNCS([accept4 daemon fcntl flock fstatvfs fork getenv getpwuid_r isatty lstat memalign mkostemp mmap newlocale open_memstream openat pipe2 pread posix_fadvise posix_madvise posix_memalign setlocale strerror_l stricmp strnicmp strptime uselocale])
+ AC_REPLACE_FUNCS([aligned_alloc atof atoll dirfd fdopendir ffsll flockfile fsync getdelim getpid lldiv memrchr nrand48 poll recvmsg rewind sendmsg setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strnstr strsep strtof strtok_r strtoll swab tdestroy tfind timegm timespec_get strverscmp pathconf])
+ AC_REPLACE_FUNCS([gettimeofday])
+ AC_CHECK_FUNC(fdatasync,,
+diff --git a/src/posix/error.c b/src/posix/error.c
+index db51004601..b4aa6fb3ca 100644
+--- a/src/posix/error.c
++++ b/src/posix/error.c
+@@ -31,6 +31,7 @@
+
+ static const char *vlc_strerror_l(int errnum, const char *lname)
+ {
++#ifdef HAVE_STRERROR_L
+ int saved_errno = errno;
+ locale_t loc = newlocale(LC_MESSAGES_MASK, lname, (locale_t)0);
+
+@@ -51,6 +52,9 @@ static const char *vlc_strerror_l(int errnum, const char *lname)
+ const char *buf = strerror_l(errnum, loc);
+
+ freelocale(loc);
++#else
++ const char *buf = strerror(errnum);
++#endif
+ return buf;
+ }
+
+--
+2.14.4
+
+++ /dev/null
-From bbb15b9cbf9353423619f2c40abdf95d861e66ba Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Sat, 2 Apr 2016 16:49:54 +0200
-Subject: [PATCH] Fix build error using uClibc by adding sys/types.h
-
-Fixes
-
- CC core.lo
-In file included from libvlc_internal.h:35:0,
- from core.c:28:
-../include/vlc/libvlc_media.h:313:18: error: expected declaration specifiers or '...' before '*' token
- typedef ssize_t (*libvlc_media_read_cb)(void *opaque, unsigned char *buf,
- ^
-../include/vlc/libvlc_media.h:423:36: error: unknown type name 'libvlc_media_read_cb'
- libvlc_media_read_cb read_cb,
- ^
-Bug was reported to trac:
-https://trac.videolan.org/vlc/ticket/16768
-
-This patch was suggested by courmisch in the trac ticket.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-[Patch sent upstream:
- https://mailman.videolan.org/pipermail/vlc-devel/2016-April/106952.html]
----
- include/vlc/libvlc_media.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/include/vlc/libvlc_media.h b/include/vlc/libvlc_media.h
-index 383f366b69..1cbf00c3e3 100644
---- a/include/vlc/libvlc_media.h
-+++ b/include/vlc/libvlc_media.h
-@@ -26,6 +26,8 @@
- #ifndef VLC_LIBVLC_MEDIA_H
- #define VLC_LIBVLC_MEDIA_H 1
-
-+#include <sys/types.h> /* for ssize_t */
-+
- # ifdef __cplusplus
- extern "C" {
- # endif
---
-2.14.4
-
+++ /dev/null
-From 0435cf37308652af1cf244b6429e919fa7ffaa95 Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Tue, 1 May 2018 22:31:23 +0200
-Subject: [PATCH] Don't assume strerror_l() is available
-
-Fix compile error
-
- CCLD vlc
-/home/br/br3/output/build/vlc-2.2.1/src/.libs/libvlccore.so: undefined reference to `strerror_l'
-
-Code for #else condition was taken from
-http://patches.osdyson.org/patch/series/view/vlc/2.2.0~rc2-1+dyson2/dyson.patch
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- configure.ac | 2 +-
- src/posix/error.c | 4 ++++
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index dfb4c1c329..bfe43512a2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -590,7 +590,7 @@ dnl Check for system libs needed
- need_libc=false
-
- dnl Check for usual libc functions
--AC_CHECK_FUNCS([accept4 daemon fcntl flock fstatvfs fork getenv getpwuid_r isatty lstat memalign mkostemp mmap newlocale open_memstream openat pipe2 pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp strptime uselocale])
-+AC_CHECK_FUNCS([accept4 daemon fcntl flock fstatvfs fork getenv getpwuid_r isatty lstat memalign mkostemp mmap newlocale open_memstream openat pipe2 pread posix_fadvise posix_madvise posix_memalign setlocale strerror_l stricmp strnicmp strptime uselocale])
- AC_REPLACE_FUNCS([aligned_alloc atof atoll dirfd fdopendir ffsll flockfile fsync getdelim getpid lldiv memrchr nrand48 poll recvmsg rewind sendmsg setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strnstr strsep strtof strtok_r strtoll swab tdestroy tfind timegm timespec_get strverscmp pathconf])
- AC_REPLACE_FUNCS([gettimeofday])
- AC_CHECK_FUNC(fdatasync,,
-diff --git a/src/posix/error.c b/src/posix/error.c
-index db51004601..b4aa6fb3ca 100644
---- a/src/posix/error.c
-+++ b/src/posix/error.c
-@@ -31,6 +31,7 @@
-
- static const char *vlc_strerror_l(int errnum, const char *lname)
- {
-+#ifdef HAVE_STRERROR_L
- int saved_errno = errno;
- locale_t loc = newlocale(LC_MESSAGES_MASK, lname, (locale_t)0);
-
-@@ -51,6 +52,9 @@ static const char *vlc_strerror_l(int errnum, const char *lname)
- const char *buf = strerror_l(errnum, loc);
-
- freelocale(loc);
-+#else
-+ const char *buf = strerror(errnum);
-+#endif
- return buf;
- }
-
---
-2.14.4
-
--- /dev/null
+From 5d561e1e2dcde3c9fca4d925f12447009d0d4a4c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Wed, 18 Apr 2018 17:23:57 +0300
+Subject: [PATCH] posix: remove ancient run-time fallback to real-time clock
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+posix: remove ancient run-time fallback to real-time clock
+
+For hysterical raisins, GNU/Linux and possibly some other OSes still
+report that monotonic clock must be checked at run-time, although I
+doubt that VLC or even current glibc would run on such old kernel.
+
+Drop that to simplify and avoid the systematic one-time init check.
+
+Downloaded from upstream commit to fix build error on m68k:
+
+posix/thread.c:79:5: warning: #warning Monotonic clock not available. Expect timing issues. [-Wcpp]
+ # warning Monotonic clock not available. Expect timing issues.
+ ^~~~~~~
+posix/thread.c: In function ‘vlc_clock_setup_once’:
+posix/thread.c:88:18: error: lvalue required as left operand of assignment
+ vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC;
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ src/posix/thread.c | 96 +++++++-----------------------------------------------
+ 1 file changed, 11 insertions(+), 85 deletions(-)
+
+diff --git a/src/posix/thread.c b/src/posix/thread.c
+index dab8b71f97..8878941913 100644
+--- a/src/posix/thread.c
++++ b/src/posix/thread.c
+@@ -51,62 +51,16 @@
+ # include <sys/pset.h>
+ #endif
+
+-#if !defined (_POSIX_TIMERS)
+-# define _POSIX_TIMERS (-1)
+-#endif
+-#if !defined (_POSIX_CLOCK_SELECTION)
+-/* Clock selection was defined in 2001 and became mandatory in 2008. */
+-# define _POSIX_CLOCK_SELECTION (-1)
+-#endif
+-#if !defined (_POSIX_MONOTONIC_CLOCK)
+-# define _POSIX_MONOTONIC_CLOCK (-1)
+-#endif
+-
+-#if (_POSIX_TIMERS > 0)
+ static unsigned vlc_clock_prec;
+
+-# if (_POSIX_MONOTONIC_CLOCK > 0) && (_POSIX_CLOCK_SELECTION > 0)
+-/* Compile-time POSIX monotonic clock support */
+-# define vlc_clock_id (CLOCK_MONOTONIC)
+-
+-# elif (_POSIX_MONOTONIC_CLOCK == 0) && (_POSIX_CLOCK_SELECTION > 0)
+-/* Run-time POSIX monotonic clock support (see clock_setup() below) */
+-static clockid_t vlc_clock_id;
+-
+-# else
+-/* No POSIX monotonic clock support */
+-# define vlc_clock_id (CLOCK_REALTIME)
+-# warning Monotonic clock not available. Expect timing issues.
+-
+-# endif /* _POSIX_MONOTONIC_CLOKC */
+-
+ static void vlc_clock_setup_once (void)
+ {
+-# if (_POSIX_MONOTONIC_CLOCK == 0)
+- long val = sysconf (_SC_MONOTONIC_CLOCK);
+- assert (val != 0);
+- vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC;
+-# endif
+-
+ struct timespec res;
+- if (unlikely(clock_getres (vlc_clock_id, &res) != 0 || res.tv_sec != 0))
++ if (unlikely(clock_getres(CLOCK_MONOTONIC, &res) != 0 || res.tv_sec != 0))
+ abort ();
+ vlc_clock_prec = (res.tv_nsec + 500) / 1000;
+ }
+
+-static pthread_once_t vlc_clock_once = PTHREAD_ONCE_INIT;
+-
+-# define vlc_clock_setup() \
+- pthread_once(&vlc_clock_once, vlc_clock_setup_once)
+-
+-#else /* _POSIX_TIMERS */
+-
+-# include <sys/time.h> /* gettimeofday() */
+-
+-# define vlc_clock_setup() (void)0
+-# warning Monotonic clock not available. Expect timing issues.
+-#endif /* _POSIX_TIMERS */
+-
+ static struct timespec mtime_to_ts (mtime_t date)
+ {
+ lldiv_t d = lldiv (date, CLOCK_FREQ);
+@@ -233,14 +187,11 @@ void vlc_cond_init (vlc_cond_t *p_condvar)
+ {
+ pthread_condattr_t attr;
+
+- if (unlikely(pthread_condattr_init (&attr)))
+- abort ();
+-#if (_POSIX_CLOCK_SELECTION > 0)
+- vlc_clock_setup ();
+- pthread_condattr_setclock (&attr, vlc_clock_id);
+-#endif
+- if (unlikely(pthread_cond_init (p_condvar, &attr)))
++ if (unlikely(pthread_condattr_init (&attr))
++ || unlikely(pthread_condattr_setclock(&attr, CLOCK_MONOTONIC))
++ || unlikely(pthread_cond_init (p_condvar, &attr)))
+ abort ();
++
+ pthread_condattr_destroy (&attr);
+ }
+
+@@ -625,44 +576,27 @@ void vlc_control_cancel (int cmd, ...)
+
+ mtime_t mdate (void)
+ {
+-#if (_POSIX_TIMERS > 0)
+ struct timespec ts;
+
+- vlc_clock_setup ();
+- if (unlikely(clock_gettime (vlc_clock_id, &ts) != 0))
++ if (unlikely(clock_gettime(CLOCK_MONOTONIC, &ts) != 0))
+ abort ();
+
+ return (INT64_C(1000000) * ts.tv_sec) + (ts.tv_nsec / 1000);
+-
+-#else
+- struct timeval tv;
+-
+- if (unlikely(gettimeofday (&tv, NULL) != 0))
+- abort ();
+- return (INT64_C(1000000) * tv.tv_sec) + tv.tv_usec;
+-
+-#endif
+ }
+
+ #undef mwait
+ void mwait (mtime_t deadline)
+ {
+-#if (_POSIX_CLOCK_SELECTION > 0)
+- vlc_clock_setup ();
++ static pthread_once_t vlc_clock_once = PTHREAD_ONCE_INIT;
++
+ /* If the deadline is already elapsed, or within the clock precision,
+ * do not even bother the system timer. */
++ pthread_once(&vlc_clock_once, vlc_clock_setup_once);
+ deadline -= vlc_clock_prec;
+
+ struct timespec ts = mtime_to_ts (deadline);
+
+- while (clock_nanosleep (vlc_clock_id, TIMER_ABSTIME, &ts, NULL) == EINTR);
+-
+-#else
+- deadline -= mdate ();
+- if (deadline > 0)
+- msleep (deadline);
+-
+-#endif
++ while (clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &ts, NULL) == EINTR);
+ }
+
+ #undef msleep
+@@ -670,15 +604,7 @@ void msleep (mtime_t delay)
+ {
+ struct timespec ts = mtime_to_ts (delay);
+
+-#if (_POSIX_CLOCK_SELECTION > 0)
+- vlc_clock_setup ();
+- while (clock_nanosleep (vlc_clock_id, 0, &ts, &ts) == EINTR);
+-
+-#else
+- while (nanosleep (&ts, &ts) == -1)
+- assert (errno == EINTR);
+-
+-#endif
++ while (clock_nanosleep(CLOCK_MONOTONIC, 0, &ts, &ts) == EINTR);
+ }
+
+ unsigned vlc_GetCPUCount(void)
+--
+2.14.4
+
+++ /dev/null
-From 5d561e1e2dcde3c9fca4d925f12447009d0d4a4c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
-Date: Wed, 18 Apr 2018 17:23:57 +0300
-Subject: [PATCH] posix: remove ancient run-time fallback to real-time clock
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-posix: remove ancient run-time fallback to real-time clock
-
-For hysterical raisins, GNU/Linux and possibly some other OSes still
-report that monotonic clock must be checked at run-time, although I
-doubt that VLC or even current glibc would run on such old kernel.
-
-Drop that to simplify and avoid the systematic one-time init check.
-
-Downloaded from upstream commit to fix build error on m68k:
-
-posix/thread.c:79:5: warning: #warning Monotonic clock not available. Expect timing issues. [-Wcpp]
- # warning Monotonic clock not available. Expect timing issues.
- ^~~~~~~
-posix/thread.c: In function ‘vlc_clock_setup_once’:
-posix/thread.c:88:18: error: lvalue required as left operand of assignment
- vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC;
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- src/posix/thread.c | 96 +++++++-----------------------------------------------
- 1 file changed, 11 insertions(+), 85 deletions(-)
-
-diff --git a/src/posix/thread.c b/src/posix/thread.c
-index dab8b71f97..8878941913 100644
---- a/src/posix/thread.c
-+++ b/src/posix/thread.c
-@@ -51,62 +51,16 @@
- # include <sys/pset.h>
- #endif
-
--#if !defined (_POSIX_TIMERS)
--# define _POSIX_TIMERS (-1)
--#endif
--#if !defined (_POSIX_CLOCK_SELECTION)
--/* Clock selection was defined in 2001 and became mandatory in 2008. */
--# define _POSIX_CLOCK_SELECTION (-1)
--#endif
--#if !defined (_POSIX_MONOTONIC_CLOCK)
--# define _POSIX_MONOTONIC_CLOCK (-1)
--#endif
--
--#if (_POSIX_TIMERS > 0)
- static unsigned vlc_clock_prec;
-
--# if (_POSIX_MONOTONIC_CLOCK > 0) && (_POSIX_CLOCK_SELECTION > 0)
--/* Compile-time POSIX monotonic clock support */
--# define vlc_clock_id (CLOCK_MONOTONIC)
--
--# elif (_POSIX_MONOTONIC_CLOCK == 0) && (_POSIX_CLOCK_SELECTION > 0)
--/* Run-time POSIX monotonic clock support (see clock_setup() below) */
--static clockid_t vlc_clock_id;
--
--# else
--/* No POSIX monotonic clock support */
--# define vlc_clock_id (CLOCK_REALTIME)
--# warning Monotonic clock not available. Expect timing issues.
--
--# endif /* _POSIX_MONOTONIC_CLOKC */
--
- static void vlc_clock_setup_once (void)
- {
--# if (_POSIX_MONOTONIC_CLOCK == 0)
-- long val = sysconf (_SC_MONOTONIC_CLOCK);
-- assert (val != 0);
-- vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC;
--# endif
--
- struct timespec res;
-- if (unlikely(clock_getres (vlc_clock_id, &res) != 0 || res.tv_sec != 0))
-+ if (unlikely(clock_getres(CLOCK_MONOTONIC, &res) != 0 || res.tv_sec != 0))
- abort ();
- vlc_clock_prec = (res.tv_nsec + 500) / 1000;
- }
-
--static pthread_once_t vlc_clock_once = PTHREAD_ONCE_INIT;
--
--# define vlc_clock_setup() \
-- pthread_once(&vlc_clock_once, vlc_clock_setup_once)
--
--#else /* _POSIX_TIMERS */
--
--# include <sys/time.h> /* gettimeofday() */
--
--# define vlc_clock_setup() (void)0
--# warning Monotonic clock not available. Expect timing issues.
--#endif /* _POSIX_TIMERS */
--
- static struct timespec mtime_to_ts (mtime_t date)
- {
- lldiv_t d = lldiv (date, CLOCK_FREQ);
-@@ -233,14 +187,11 @@ void vlc_cond_init (vlc_cond_t *p_condvar)
- {
- pthread_condattr_t attr;
-
-- if (unlikely(pthread_condattr_init (&attr)))
-- abort ();
--#if (_POSIX_CLOCK_SELECTION > 0)
-- vlc_clock_setup ();
-- pthread_condattr_setclock (&attr, vlc_clock_id);
--#endif
-- if (unlikely(pthread_cond_init (p_condvar, &attr)))
-+ if (unlikely(pthread_condattr_init (&attr))
-+ || unlikely(pthread_condattr_setclock(&attr, CLOCK_MONOTONIC))
-+ || unlikely(pthread_cond_init (p_condvar, &attr)))
- abort ();
-+
- pthread_condattr_destroy (&attr);
- }
-
-@@ -625,44 +576,27 @@ void vlc_control_cancel (int cmd, ...)
-
- mtime_t mdate (void)
- {
--#if (_POSIX_TIMERS > 0)
- struct timespec ts;
-
-- vlc_clock_setup ();
-- if (unlikely(clock_gettime (vlc_clock_id, &ts) != 0))
-+ if (unlikely(clock_gettime(CLOCK_MONOTONIC, &ts) != 0))
- abort ();
-
- return (INT64_C(1000000) * ts.tv_sec) + (ts.tv_nsec / 1000);
--
--#else
-- struct timeval tv;
--
-- if (unlikely(gettimeofday (&tv, NULL) != 0))
-- abort ();
-- return (INT64_C(1000000) * tv.tv_sec) + tv.tv_usec;
--
--#endif
- }
-
- #undef mwait
- void mwait (mtime_t deadline)
- {
--#if (_POSIX_CLOCK_SELECTION > 0)
-- vlc_clock_setup ();
-+ static pthread_once_t vlc_clock_once = PTHREAD_ONCE_INIT;
-+
- /* If the deadline is already elapsed, or within the clock precision,
- * do not even bother the system timer. */
-+ pthread_once(&vlc_clock_once, vlc_clock_setup_once);
- deadline -= vlc_clock_prec;
-
- struct timespec ts = mtime_to_ts (deadline);
-
-- while (clock_nanosleep (vlc_clock_id, TIMER_ABSTIME, &ts, NULL) == EINTR);
--
--#else
-- deadline -= mdate ();
-- if (deadline > 0)
-- msleep (deadline);
--
--#endif
-+ while (clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &ts, NULL) == EINTR);
- }
-
- #undef msleep
-@@ -670,15 +604,7 @@ void msleep (mtime_t delay)
- {
- struct timespec ts = mtime_to_ts (delay);
-
--#if (_POSIX_CLOCK_SELECTION > 0)
-- vlc_clock_setup ();
-- while (clock_nanosleep (vlc_clock_id, 0, &ts, &ts) == EINTR);
--
--#else
-- while (nanosleep (&ts, &ts) == -1)
-- assert (errno == EINTR);
--
--#endif
-+ while (clock_nanosleep(CLOCK_MONOTONIC, 0, &ts, &ts) == EINTR);
- }
-
- unsigned vlc_GetCPUCount(void)
---
-2.14.4
-
--- /dev/null
+From dd37405dc527c5653f512966263284e7e18b7f9f Mon Sep 17 00:00:00 2001
+From: Ilkka Ollakka <ileoo@videolan.org>
+Date: Sat, 24 Mar 2018 11:23:33 +0200
+Subject: [PATCH] x264: drop <148 build support and fix 10bit support
+
+x264: drop <148 build support and fix 10bit support
+
+Drop old #if as 148 is not that recent anymore.
+
+fixes #19581
+
+Downloaded from upstream commit
+http://git.videolan.org/?p=vlc.git;a=commitdiff;h=a8953ba707cca1f2de372ca24513296bcfcdaaa8
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ modules/codec/x264.c | 65 ++++++++--------------------------------------------
+ 1 file changed, 10 insertions(+), 55 deletions(-)
+
+diff --git a/modules/codec/x264.c b/modules/codec/x264.c
+index e02048f075..bcf3c89a10 100644
+--- a/modules/codec/x264.c
++++ b/modules/codec/x264.c
+@@ -84,13 +84,7 @@ static void x264_log( void *, int i_level, const char *psz, va_list );
+ "I-frames, but do not start a new GOP." )
+
+ #define OPENGOP_TEXT N_("Use recovery points to close GOPs")
+-#if X264_BUILD < 115
+-#define OPENGOP_LONGTEXT N_("none: use closed GOPs only\n"\
+- "normal: use standard open GOPs\n" \
+- "bluray: use Blu-ray compatible open GOPs" )
+-#else
+ #define OPENGOP_LONGTEXT N_("use open GOP, for bluray compatibility use also bluray-compat option")
+-#endif
+
+ #define BLURAY_TEXT N_("Enable compatibility hacks for Blu-ray support")
+ #define BLURAY_LONGTEXT N_("Enable hacks for Blu-ray support, this doesn't enforce every aspect of Blu-ray compatibility\n" \
+@@ -469,16 +463,10 @@ vlc_module_begin ()
+ add_integer( SOUT_CFG_PREFIX "min-keyint", 25, MIN_KEYINT_TEXT,
+ MIN_KEYINT_LONGTEXT, true )
+
+-#if X264_BUILD >= 102 && X264_BUILD <= 114
+- add_string( SOUT_CFG_PREFIX "opengop", "none", OPENGOP_TEXT,
+- OPENGOP_LONGTEXT, true )
+- change_string_list( x264_open_gop_names, x264_open_gop_names )
+-#elif X264_BUILD > 114
+ add_bool( SOUT_CFG_PREFIX "opengop", false, OPENGOP_TEXT,
+ OPENGOP_LONGTEXT, true )
+ add_bool( SOUT_CFG_PREFIX "bluray-compat", false, BLURAY_TEXT,
+ BLURAY_LONGTEXT, true )
+-#endif
+
+ add_integer( SOUT_CFG_PREFIX "scenecut", 40, SCENE_TEXT,
+ SCENE_LONGTEXT, true )
+@@ -498,13 +486,8 @@ vlc_module_begin ()
+ B_BIAS_LONGTEXT, true )
+ change_integer_range( -100, 100 )
+
+-#if X264_BUILD >= 87
+ add_string( SOUT_CFG_PREFIX "bpyramid", "normal", BPYRAMID_TEXT,
+ BPYRAMID_LONGTEXT, true )
+-#else
+- add_string( SOUT_CFG_PREFIX "bpyramid", "none", BPYRAMID_TEXT,
+- BPYRAMID_LONGTEXT, true )
+-#endif
+ change_string_list( bpyramid_list, bpyramid_list )
+
+ add_bool( SOUT_CFG_PREFIX "cabac", true, CABAC_TEXT, CABAC_LONGTEXT,
+@@ -541,22 +524,18 @@ vlc_module_begin ()
+ add_bool( SOUT_CFG_PREFIX "interlaced", false, INTERLACED_TEXT, INTERLACED_LONGTEXT,
+ true )
+
+-#if X264_BUILD >= 111
+ add_integer( SOUT_CFG_PREFIX "frame-packing", -1, FRAMEPACKING_TEXT, FRAMEPACKING_LONGTEXT, true )
+ change_integer_list( framepacking_list, framepacking_list_text )
+ change_integer_range( -1, 6)
+-#endif
+
+ add_integer( SOUT_CFG_PREFIX "slices", 0, SLICE_COUNT, SLICE_COUNT_LONGTEXT, true )
+ add_integer( SOUT_CFG_PREFIX "slice-max-size", 0, SLICE_MAX_SIZE, SLICE_MAX_SIZE_LONGTEXT, true )
+ add_integer( SOUT_CFG_PREFIX "slice-max-mbs", 0, SLICE_MAX_MBS, SLICE_MAX_MBS_LONGTEXT, true )
+
+-#if X264_BUILD >= 89
+ add_string( SOUT_CFG_PREFIX "hrd", "none", HRD_TEXT, HRD_TEXT, true )
+ vlc_config_set (VLC_CONFIG_LIST,
+ (sizeof(x264_nal_hrd_names) / sizeof (char*)) - 1,
+ x264_nal_hrd_names, x264_nal_hrd_names);
+-#endif
+
+
+ /* Ratecontrol */
+@@ -842,20 +821,14 @@ static int Open ( vlc_object_t *p_this )
+ fullrange |= p_enc->fmt_in.video.b_color_range_full;
+ p_enc->fmt_in.i_codec = fullrange ? VLC_CODEC_J420 : VLC_CODEC_I420;
+ p_sys->i_colorspace = X264_CSP_I420;
+-#if X264_BUILD >= 118
+ char *psz_profile = var_GetString( p_enc, SOUT_CFG_PREFIX "profile" );
+- if( psz_profile )
+- {
+- const int mask = x264_bit_depth > 8 ? X264_CSP_HIGH_DEPTH : 0;
+-
+-
+ # ifdef MODULE_NAME_IS_x26410b
+- if( mask == 0)
+- {
+- msg_Err( p_enc, "Only high bit depth encoding supported, bit depth:%d", x264_bit_depth);
+- return VLC_EGENERIC;
+- }
++ const int mask = X264_CSP_HIGH_DEPTH;
++# else
++ const int mask = 0;
+ # endif
++ if( psz_profile )
++ {
+
+ if( !strcmp( psz_profile, "high10" ) )
+ {
+@@ -878,7 +851,6 @@ static int Open ( vlc_object_t *p_this )
+ msg_Err( p_enc, "Only high-profiles and 10-bit are supported");
+ return VLC_EGENERIC;
+ }
+-
+ # endif
+ }
+ # ifdef MODULE_NAME_IS_x26410b
+@@ -889,7 +861,6 @@ static int Open ( vlc_object_t *p_this )
+ }
+ # endif
+ free( psz_profile );
+-#endif //X264_BUILD
+
+ p_enc->pf_encode_video = Encode;
+ p_enc->pf_encode_audio = NULL;
+@@ -912,6 +883,10 @@ static int Open ( vlc_object_t *p_this )
+ #else
+ x264_param_default( &p_sys->param );
+ x264_param_default_preset( &p_sys->param, psz_preset, psz_tune );
++# if X264_BUILD > 152
++ if( mask )
++ p_sys->param.i_bitdepth = 10;
++# endif
+ #endif
+ free( psz_preset );
+ free( psz_tune );
+@@ -1089,10 +1064,8 @@ static int Open ( vlc_object_t *p_this )
+ if( fabs( var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" ) - 1.0) > 0.005 )
+ p_sys->param.rc.f_aq_strength = var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" );
+
+-#if X264_BUILD >= 111
+ if( var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" ) > -1 )
+ p_sys->param.i_frame_packing = var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" );
+-#endif
+
+ if( var_GetBool( p_enc, SOUT_CFG_PREFIX "verbose" ) )
+ p_sys->param.i_log_level = X264_LOG_DEBUG;
+@@ -1108,26 +1081,14 @@ static int Open ( vlc_object_t *p_this )
+
+ i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "keyint" );
+ if( i_val > 0 && i_val != 250 ) p_sys->param.i_keyint_max = i_val;
+-#if X264_BUILD >= 102
+ if( i_val == -1 ) p_sys->param.i_keyint_max = X264_KEYINT_MAX_INFINITE;
+-#endif
+
+ i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "min-keyint" );
+ if( i_val > 0 && i_val != 25 ) p_sys->param.i_keyint_min = i_val;
+
+-#if X264_BUILD >= 102 && X264_BUILD <= 114
+- psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "opengop" );
+- if( !strcmp( psz_val, "none" ) )
+- p_sys->param.i_open_gop = X264_OPEN_GOP_NONE;
+- else if( !strcmp( psz_val, "normal" ) )
+- p_sys->param.i_open_gop = X264_OPEN_GOP_NORMAL;
+- else if( !strcmp( psz_val, "bluray" ) )
+- p_sys->param.i_open_gop = X264_OPEN_GOP_BLURAY;
+- free( psz_val );
+-#elif X264_BUILD >= 115
+ p_sys->param.b_open_gop = var_GetBool( p_enc, SOUT_CFG_PREFIX "opengop" );
+ p_sys->param.b_bluray_compat = var_GetBool( p_enc, SOUT_CFG_PREFIX "bluray-compat" );
+-#endif
++
+ i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "bframes" );
+ if( i_val >= 0 && i_val <= 16 && i_val != 3 )
+ p_sys->param.i_bframe = i_val;
+@@ -1165,14 +1126,12 @@ static int Open ( vlc_object_t *p_this )
+ if( i_val >= 1 && i_val != 7 )
+ p_sys->param.analyse.i_subpel_refine = i_val;
+
+-#if X264_BUILD >= 89
+ psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "hrd");
+ if( !strcmp( psz_val, "vbr" ) )
+ p_sys->param.i_nal_hrd = X264_NAL_HRD_VBR;
+ else if( !strcmp( psz_val, "cbr" ) )
+ p_sys->param.i_nal_hrd = X264_NAL_HRD_CBR;
+ free( psz_val );
+-#endif
+
+ //TODO: psz_val == NULL ?
+ psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "me" );
+@@ -1531,11 +1490,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict )
+ int i_nal=0, i_out=0, i=0;
+
+ /* init pic */
+-#if X264_BUILD >= 98
+ x264_picture_init( &pic );
+-#else
+- memset( &pic, 0, sizeof( x264_picture_t ) );
+-#endif
+ if( likely(p_pict) ) {
+ pic.i_pts = p_pict->date;
+ pic.img.i_csp = p_sys->i_colorspace;
+--
+2.14.4
+
--- /dev/null
+From 3780bbb20bf35aa8f21ac672da3f0c5f408468e9 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Thu, 16 Aug 2018 12:27:40 +0200
+Subject: [PATCH] Add support for freerdp2
+
+Downloaded from
+https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/vlc/files/vlc-2.2.8-freerdp-2.patch
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ configure.ac | 2 +-
+ modules/access/rdp.c | 51 ++++++++++++++-------------------------------------
+ 2 files changed, 15 insertions(+), 38 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index bfe43512a2..4808b8becf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1992,7 +1992,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
+
+ dnl RDP/Remote Desktop access module
+ dnl
+-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
++PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) )
+
+ dnl
+ dnl Real RTSP plugin
+diff --git a/modules/access/rdp.c b/modules/access/rdp.c
+index 2992090219..49986f5da9 100644
+--- a/modules/access/rdp.c
++++ b/modules/access/rdp.c
+@@ -45,18 +45,6 @@
+ # include <freerdp/version.h>
+ #endif
+
+-#if !defined(FREERDP_VERSION_MAJOR) || \
+- (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)))
+-# define SoftwareGdi sw_gdi
+-# define Fullscreen fullscreen
+-# define ServerHostname hostname
+-# define Username username
+-# define Password password
+-# define ServerPort port
+-# define EncryptionMethods encryption
+-# define ContextSize context_size
+-#endif
+-
+ #include <errno.h>
+ #ifdef HAVE_POLL
+ # include <poll.h>
+@@ -144,6 +132,7 @@ static void desktopResizeHandler( rdpContext *p_context )
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
+ demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+ rdpGdi *p_gdi = p_context->gdi;
++ unsigned bytesPerPixel;
+
+ if ( p_sys->es )
+ {
+@@ -153,17 +142,21 @@ static void desktopResizeHandler( rdpContext *p_context )
+
+ /* Now init and fill es format */
+ vlc_fourcc_t i_chroma;
+- switch( p_gdi->bytesPerPixel )
++ switch( p_gdi->dstFormat )
+ {
+ default:
+- case 16:
++ msg_Dbg( p_vlccontext->p_demux, "unhandled dstFormat %x bpp", p_gdi->dstFormat);
++ case PIXEL_FORMAT_BGR16:
+ i_chroma = VLC_CODEC_RGB16;
++ bytesPerPixel = 16;
+ break;
+- case 24:
++ case PIXEL_FORMAT_BGR24:
+ i_chroma = VLC_CODEC_RGB24;
++ bytesPerPixel = 24;
+ break;
+- case 32:
++ case PIXEL_FORMAT_BGRA32:
+ i_chroma = VLC_CODEC_RGB32;
++ bytesPerPixel = 32;
+ break;
+ }
+ es_format_t fmt;
+@@ -176,7 +169,7 @@ static void desktopResizeHandler( rdpContext *p_context )
+ fmt.video.i_height = p_gdi->height;
+ fmt.video.i_frame_rate_base = 1000;
+ fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
+- p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel;
++ p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * bytesPerPixel;
+
+ if ( p_sys->p_block )
+ p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize );
+@@ -237,28 +230,19 @@ static bool postConnectHandler( freerdp *p_instance )
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
+
+ msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
+-#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))
+ p_instance->settings->DesktopWidth,
+ p_instance->settings->DesktopHeight,
+ p_instance->settings->ColorDepth
+-#else
+- p_instance->settings->width,
+- p_instance->settings->height,
+- p_instance->settings->color_depth
+-#endif
+ );
+
+ p_instance->update->DesktopResize = desktopResizeHandler;
+ p_instance->update->BeginPaint = beginPaintHandler;
+ p_instance->update->EndPaint = endPaintHandler;
+
+- gdi_init( p_instance,
+- CLRBUF_16BPP |
+-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
+- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2))
+- CLRBUF_24BPP |
+-#endif
+- CLRBUF_32BPP, NULL );
++ if ( p_instance->settings->ColorDepth > 16 )
++ gdi_init( p_instance, PIXEL_FORMAT_XRGB32);
++ else
++ gdi_init( p_instance, PIXEL_FORMAT_RGB16);
+
+ desktopResizeHandler( p_instance->context );
+ return true;
+@@ -432,10 +416,6 @@ static int Open( vlc_object_t *p_this )
+ if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0;
+ p_sys->i_frame_interval = 1000000 / p_sys->f_fps;
+
+-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
+- freerdp_channels_global_init();
+-#endif
+-
+ p_sys->p_instance = freerdp_new();
+ if ( !p_sys->p_instance )
+ {
+@@ -508,9 +488,6 @@ static void Close( vlc_object_t *p_this )
+
+ freerdp_disconnect( p_sys->p_instance );
+ freerdp_free( p_sys->p_instance );
+-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
+- freerdp_channels_global_uninit();
+-#endif
+
+ if ( p_sys->p_block )
+ block_Release( p_sys->p_block );
+--
+2.14.4
+
+++ /dev/null
-From dd37405dc527c5653f512966263284e7e18b7f9f Mon Sep 17 00:00:00 2001
-From: Ilkka Ollakka <ileoo@videolan.org>
-Date: Sat, 24 Mar 2018 11:23:33 +0200
-Subject: [PATCH] x264: drop <148 build support and fix 10bit support
-
-x264: drop <148 build support and fix 10bit support
-
-Drop old #if as 148 is not that recent anymore.
-
-fixes #19581
-
-Downloaded from upstream commit
-http://git.videolan.org/?p=vlc.git;a=commitdiff;h=a8953ba707cca1f2de372ca24513296bcfcdaaa8
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- modules/codec/x264.c | 65 ++++++++--------------------------------------------
- 1 file changed, 10 insertions(+), 55 deletions(-)
-
-diff --git a/modules/codec/x264.c b/modules/codec/x264.c
-index e02048f075..bcf3c89a10 100644
---- a/modules/codec/x264.c
-+++ b/modules/codec/x264.c
-@@ -84,13 +84,7 @@ static void x264_log( void *, int i_level, const char *psz, va_list );
- "I-frames, but do not start a new GOP." )
-
- #define OPENGOP_TEXT N_("Use recovery points to close GOPs")
--#if X264_BUILD < 115
--#define OPENGOP_LONGTEXT N_("none: use closed GOPs only\n"\
-- "normal: use standard open GOPs\n" \
-- "bluray: use Blu-ray compatible open GOPs" )
--#else
- #define OPENGOP_LONGTEXT N_("use open GOP, for bluray compatibility use also bluray-compat option")
--#endif
-
- #define BLURAY_TEXT N_("Enable compatibility hacks for Blu-ray support")
- #define BLURAY_LONGTEXT N_("Enable hacks for Blu-ray support, this doesn't enforce every aspect of Blu-ray compatibility\n" \
-@@ -469,16 +463,10 @@ vlc_module_begin ()
- add_integer( SOUT_CFG_PREFIX "min-keyint", 25, MIN_KEYINT_TEXT,
- MIN_KEYINT_LONGTEXT, true )
-
--#if X264_BUILD >= 102 && X264_BUILD <= 114
-- add_string( SOUT_CFG_PREFIX "opengop", "none", OPENGOP_TEXT,
-- OPENGOP_LONGTEXT, true )
-- change_string_list( x264_open_gop_names, x264_open_gop_names )
--#elif X264_BUILD > 114
- add_bool( SOUT_CFG_PREFIX "opengop", false, OPENGOP_TEXT,
- OPENGOP_LONGTEXT, true )
- add_bool( SOUT_CFG_PREFIX "bluray-compat", false, BLURAY_TEXT,
- BLURAY_LONGTEXT, true )
--#endif
-
- add_integer( SOUT_CFG_PREFIX "scenecut", 40, SCENE_TEXT,
- SCENE_LONGTEXT, true )
-@@ -498,13 +486,8 @@ vlc_module_begin ()
- B_BIAS_LONGTEXT, true )
- change_integer_range( -100, 100 )
-
--#if X264_BUILD >= 87
- add_string( SOUT_CFG_PREFIX "bpyramid", "normal", BPYRAMID_TEXT,
- BPYRAMID_LONGTEXT, true )
--#else
-- add_string( SOUT_CFG_PREFIX "bpyramid", "none", BPYRAMID_TEXT,
-- BPYRAMID_LONGTEXT, true )
--#endif
- change_string_list( bpyramid_list, bpyramid_list )
-
- add_bool( SOUT_CFG_PREFIX "cabac", true, CABAC_TEXT, CABAC_LONGTEXT,
-@@ -541,22 +524,18 @@ vlc_module_begin ()
- add_bool( SOUT_CFG_PREFIX "interlaced", false, INTERLACED_TEXT, INTERLACED_LONGTEXT,
- true )
-
--#if X264_BUILD >= 111
- add_integer( SOUT_CFG_PREFIX "frame-packing", -1, FRAMEPACKING_TEXT, FRAMEPACKING_LONGTEXT, true )
- change_integer_list( framepacking_list, framepacking_list_text )
- change_integer_range( -1, 6)
--#endif
-
- add_integer( SOUT_CFG_PREFIX "slices", 0, SLICE_COUNT, SLICE_COUNT_LONGTEXT, true )
- add_integer( SOUT_CFG_PREFIX "slice-max-size", 0, SLICE_MAX_SIZE, SLICE_MAX_SIZE_LONGTEXT, true )
- add_integer( SOUT_CFG_PREFIX "slice-max-mbs", 0, SLICE_MAX_MBS, SLICE_MAX_MBS_LONGTEXT, true )
-
--#if X264_BUILD >= 89
- add_string( SOUT_CFG_PREFIX "hrd", "none", HRD_TEXT, HRD_TEXT, true )
- vlc_config_set (VLC_CONFIG_LIST,
- (sizeof(x264_nal_hrd_names) / sizeof (char*)) - 1,
- x264_nal_hrd_names, x264_nal_hrd_names);
--#endif
-
-
- /* Ratecontrol */
-@@ -842,20 +821,14 @@ static int Open ( vlc_object_t *p_this )
- fullrange |= p_enc->fmt_in.video.b_color_range_full;
- p_enc->fmt_in.i_codec = fullrange ? VLC_CODEC_J420 : VLC_CODEC_I420;
- p_sys->i_colorspace = X264_CSP_I420;
--#if X264_BUILD >= 118
- char *psz_profile = var_GetString( p_enc, SOUT_CFG_PREFIX "profile" );
-- if( psz_profile )
-- {
-- const int mask = x264_bit_depth > 8 ? X264_CSP_HIGH_DEPTH : 0;
--
--
- # ifdef MODULE_NAME_IS_x26410b
-- if( mask == 0)
-- {
-- msg_Err( p_enc, "Only high bit depth encoding supported, bit depth:%d", x264_bit_depth);
-- return VLC_EGENERIC;
-- }
-+ const int mask = X264_CSP_HIGH_DEPTH;
-+# else
-+ const int mask = 0;
- # endif
-+ if( psz_profile )
-+ {
-
- if( !strcmp( psz_profile, "high10" ) )
- {
-@@ -878,7 +851,6 @@ static int Open ( vlc_object_t *p_this )
- msg_Err( p_enc, "Only high-profiles and 10-bit are supported");
- return VLC_EGENERIC;
- }
--
- # endif
- }
- # ifdef MODULE_NAME_IS_x26410b
-@@ -889,7 +861,6 @@ static int Open ( vlc_object_t *p_this )
- }
- # endif
- free( psz_profile );
--#endif //X264_BUILD
-
- p_enc->pf_encode_video = Encode;
- p_enc->pf_encode_audio = NULL;
-@@ -912,6 +883,10 @@ static int Open ( vlc_object_t *p_this )
- #else
- x264_param_default( &p_sys->param );
- x264_param_default_preset( &p_sys->param, psz_preset, psz_tune );
-+# if X264_BUILD > 152
-+ if( mask )
-+ p_sys->param.i_bitdepth = 10;
-+# endif
- #endif
- free( psz_preset );
- free( psz_tune );
-@@ -1089,10 +1064,8 @@ static int Open ( vlc_object_t *p_this )
- if( fabs( var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" ) - 1.0) > 0.005 )
- p_sys->param.rc.f_aq_strength = var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" );
-
--#if X264_BUILD >= 111
- if( var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" ) > -1 )
- p_sys->param.i_frame_packing = var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" );
--#endif
-
- if( var_GetBool( p_enc, SOUT_CFG_PREFIX "verbose" ) )
- p_sys->param.i_log_level = X264_LOG_DEBUG;
-@@ -1108,26 +1081,14 @@ static int Open ( vlc_object_t *p_this )
-
- i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "keyint" );
- if( i_val > 0 && i_val != 250 ) p_sys->param.i_keyint_max = i_val;
--#if X264_BUILD >= 102
- if( i_val == -1 ) p_sys->param.i_keyint_max = X264_KEYINT_MAX_INFINITE;
--#endif
-
- i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "min-keyint" );
- if( i_val > 0 && i_val != 25 ) p_sys->param.i_keyint_min = i_val;
-
--#if X264_BUILD >= 102 && X264_BUILD <= 114
-- psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "opengop" );
-- if( !strcmp( psz_val, "none" ) )
-- p_sys->param.i_open_gop = X264_OPEN_GOP_NONE;
-- else if( !strcmp( psz_val, "normal" ) )
-- p_sys->param.i_open_gop = X264_OPEN_GOP_NORMAL;
-- else if( !strcmp( psz_val, "bluray" ) )
-- p_sys->param.i_open_gop = X264_OPEN_GOP_BLURAY;
-- free( psz_val );
--#elif X264_BUILD >= 115
- p_sys->param.b_open_gop = var_GetBool( p_enc, SOUT_CFG_PREFIX "opengop" );
- p_sys->param.b_bluray_compat = var_GetBool( p_enc, SOUT_CFG_PREFIX "bluray-compat" );
--#endif
-+
- i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "bframes" );
- if( i_val >= 0 && i_val <= 16 && i_val != 3 )
- p_sys->param.i_bframe = i_val;
-@@ -1165,14 +1126,12 @@ static int Open ( vlc_object_t *p_this )
- if( i_val >= 1 && i_val != 7 )
- p_sys->param.analyse.i_subpel_refine = i_val;
-
--#if X264_BUILD >= 89
- psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "hrd");
- if( !strcmp( psz_val, "vbr" ) )
- p_sys->param.i_nal_hrd = X264_NAL_HRD_VBR;
- else if( !strcmp( psz_val, "cbr" ) )
- p_sys->param.i_nal_hrd = X264_NAL_HRD_CBR;
- free( psz_val );
--#endif
-
- //TODO: psz_val == NULL ?
- psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "me" );
-@@ -1531,11 +1490,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict )
- int i_nal=0, i_out=0, i=0;
-
- /* init pic */
--#if X264_BUILD >= 98
- x264_picture_init( &pic );
--#else
-- memset( &pic, 0, sizeof( x264_picture_t ) );
--#endif
- if( likely(p_pict) ) {
- pic.i_pts = p_pict->date;
- pic.img.i_csp = p_sys->i_colorspace;
---
-2.14.4
-
+++ /dev/null
-From 3780bbb20bf35aa8f21ac672da3f0c5f408468e9 Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Thu, 16 Aug 2018 12:27:40 +0200
-Subject: [PATCH] Add support for freerdp2
-
-Downloaded from
-https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/vlc/files/vlc-2.2.8-freerdp-2.patch
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- configure.ac | 2 +-
- modules/access/rdp.c | 51 ++++++++++++++-------------------------------------
- 2 files changed, 15 insertions(+), 38 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index bfe43512a2..4808b8becf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1992,7 +1992,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
-
- dnl RDP/Remote Desktop access module
- dnl
--PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
-+PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) )
-
- dnl
- dnl Real RTSP plugin
-diff --git a/modules/access/rdp.c b/modules/access/rdp.c
-index 2992090219..49986f5da9 100644
---- a/modules/access/rdp.c
-+++ b/modules/access/rdp.c
-@@ -45,18 +45,6 @@
- # include <freerdp/version.h>
- #endif
-
--#if !defined(FREERDP_VERSION_MAJOR) || \
-- (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)))
--# define SoftwareGdi sw_gdi
--# define Fullscreen fullscreen
--# define ServerHostname hostname
--# define Username username
--# define Password password
--# define ServerPort port
--# define EncryptionMethods encryption
--# define ContextSize context_size
--#endif
--
- #include <errno.h>
- #ifdef HAVE_POLL
- # include <poll.h>
-@@ -144,6 +132,7 @@ static void desktopResizeHandler( rdpContext *p_context )
- vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
- demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
- rdpGdi *p_gdi = p_context->gdi;
-+ unsigned bytesPerPixel;
-
- if ( p_sys->es )
- {
-@@ -153,17 +142,21 @@ static void desktopResizeHandler( rdpContext *p_context )
-
- /* Now init and fill es format */
- vlc_fourcc_t i_chroma;
-- switch( p_gdi->bytesPerPixel )
-+ switch( p_gdi->dstFormat )
- {
- default:
-- case 16:
-+ msg_Dbg( p_vlccontext->p_demux, "unhandled dstFormat %x bpp", p_gdi->dstFormat);
-+ case PIXEL_FORMAT_BGR16:
- i_chroma = VLC_CODEC_RGB16;
-+ bytesPerPixel = 16;
- break;
-- case 24:
-+ case PIXEL_FORMAT_BGR24:
- i_chroma = VLC_CODEC_RGB24;
-+ bytesPerPixel = 24;
- break;
-- case 32:
-+ case PIXEL_FORMAT_BGRA32:
- i_chroma = VLC_CODEC_RGB32;
-+ bytesPerPixel = 32;
- break;
- }
- es_format_t fmt;
-@@ -176,7 +169,7 @@ static void desktopResizeHandler( rdpContext *p_context )
- fmt.video.i_height = p_gdi->height;
- fmt.video.i_frame_rate_base = 1000;
- fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
-- p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel;
-+ p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * bytesPerPixel;
-
- if ( p_sys->p_block )
- p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize );
-@@ -237,28 +230,19 @@ static bool postConnectHandler( freerdp *p_instance )
- vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
-
- msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
--#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))
- p_instance->settings->DesktopWidth,
- p_instance->settings->DesktopHeight,
- p_instance->settings->ColorDepth
--#else
-- p_instance->settings->width,
-- p_instance->settings->height,
-- p_instance->settings->color_depth
--#endif
- );
-
- p_instance->update->DesktopResize = desktopResizeHandler;
- p_instance->update->BeginPaint = beginPaintHandler;
- p_instance->update->EndPaint = endPaintHandler;
-
-- gdi_init( p_instance,
-- CLRBUF_16BPP |
--#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
-- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2))
-- CLRBUF_24BPP |
--#endif
-- CLRBUF_32BPP, NULL );
-+ if ( p_instance->settings->ColorDepth > 16 )
-+ gdi_init( p_instance, PIXEL_FORMAT_XRGB32);
-+ else
-+ gdi_init( p_instance, PIXEL_FORMAT_RGB16);
-
- desktopResizeHandler( p_instance->context );
- return true;
-@@ -432,10 +416,6 @@ static int Open( vlc_object_t *p_this )
- if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0;
- p_sys->i_frame_interval = 1000000 / p_sys->f_fps;
-
--#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
-- freerdp_channels_global_init();
--#endif
--
- p_sys->p_instance = freerdp_new();
- if ( !p_sys->p_instance )
- {
-@@ -508,9 +488,6 @@ static void Close( vlc_object_t *p_this )
-
- freerdp_disconnect( p_sys->p_instance );
- freerdp_free( p_sys->p_instance );
--#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
-- freerdp_channels_global_uninit();
--#endif
-
- if ( p_sys->p_block )
- block_Release( p_sys->p_block );
---
-2.14.4
-
--- /dev/null
+From 27635f902831fac898586f1f3dc98369f12582c9 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Sun, 26 Aug 2018 12:51:04 +0200
+Subject: [PATCH] configure.ac: also use AC_PATH_PROG to check for
+ wayland-scanner
+
+When cross-compiling the .pc file might point to the wrong
+wayland-scanner binary (target rather than host) resulting in a
+non-executable and wrong scanner.
+Try searching the PATH first, and if that fails fall back into
+pkg-config.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ configure.ac | 19 +++++++++++--------
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4808b8becf..a18641ed23 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3140,14 +3140,17 @@ AS_IF([test "${enable_wayland}" != "no"], [
+ AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors 'wayland-protocols >= 1.4')])
+ ])
+
+- AC_MSG_CHECKING([for the Wayland scanner])
+- PKG_CHECK_EXISTS([wayland-scanner], [
+- WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)"
+- AC_MSG_RESULT([${WAYLAND_SCANNER}])
+- ], [
+- AC_MSG_RESULT([not found])
+- AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors wayland-scanner)])
+- ])
++ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
++ if test "x$WAYLAND_SCANNER" = x; then
++ AC_MSG_CHECKING([for the Wayland scanner])
++ PKG_CHECK_EXISTS([wayland-scanner], [
++ WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)"
++ AC_MSG_RESULT([${WAYLAND_SCANNER}])
++ ], [
++ AC_MSG_RESULT([not found])
++ AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors wayland-scanner)])
++ ])
++ fi
+
+ have_wayland="yes"
+
+--
+2.18.0
+
+++ /dev/null
-From 27635f902831fac898586f1f3dc98369f12582c9 Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Sun, 26 Aug 2018 12:51:04 +0200
-Subject: [PATCH] configure.ac: also use AC_PATH_PROG to check for
- wayland-scanner
-
-When cross-compiling the .pc file might point to the wrong
-wayland-scanner binary (target rather than host) resulting in a
-non-executable and wrong scanner.
-Try searching the PATH first, and if that fails fall back into
-pkg-config.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- configure.ac | 19 +++++++++++--------
- 1 file changed, 11 insertions(+), 8 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4808b8becf..a18641ed23 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3140,14 +3140,17 @@ AS_IF([test "${enable_wayland}" != "no"], [
- AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors 'wayland-protocols >= 1.4')])
- ])
-
-- AC_MSG_CHECKING([for the Wayland scanner])
-- PKG_CHECK_EXISTS([wayland-scanner], [
-- WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)"
-- AC_MSG_RESULT([${WAYLAND_SCANNER}])
-- ], [
-- AC_MSG_RESULT([not found])
-- AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors wayland-scanner)])
-- ])
-+ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
-+ if test "x$WAYLAND_SCANNER" = x; then
-+ AC_MSG_CHECKING([for the Wayland scanner])
-+ PKG_CHECK_EXISTS([wayland-scanner], [
-+ WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)"
-+ AC_MSG_RESULT([${WAYLAND_SCANNER}])
-+ ], [
-+ AC_MSG_RESULT([not found])
-+ AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors wayland-scanner)])
-+ ])
-+ fi
-
- have_wayland="yes"
-
---
-2.18.0
-
-# From http://download.videolan.org/pub/videolan/vlc/3.0.3/vlc-3.0.3.tar.xz.sha256
-sha256 9ba8b04bdb13f7860a2041768ac83b47b397a36549c71c530b94028a3cfd5b51 vlc-3.0.3.tar.xz
-# From http://download.videolan.org/pub/videolan/vlc/3.0.3/vlc-3.0.3.tar.xz.sha1
-sha1 dd1b7350bb0a7848e172e9dbbe0705ec5bb3d48c vlc-3.0.3.tar.xz
-# From http://download.videolan.org/pub/videolan/vlc/3.0.3/vlc-3.0.3.tar.xz.md5
-md5 cf01d4755c719fe1c8605ceb40d8f1d2 vlc-3.0.3.tar.xz
+# From http://download.videolan.org/pub/videolan/vlc/3.0.4/vlc-3.0.4.tar.xz.sha256
+sha256 01f3db3790714038c01f5e23c709e31ecd6f1c046ac93d19e1dde38b3fc05a9e vlc-3.0.4.tar.xz
+# From http://download.videolan.org/pub/videolan/vlc/3.0.4/vlc-3.0.4.tar.xz.sha1
+sha1 218603f05ab5f30de0cc87b0ccceb57bb1efcfa4 vlc-3.0.4.tar.xz
+# From http://download.videolan.org/pub/videolan/vlc/3.0.4/vlc-3.0.4.tar.xz.md5
+md5 f5e49a0fb9594ab8debf934a710e92f1 vlc-3.0.4.tar.xz
# Locally computed
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
#
################################################################################
-VLC_VERSION = 3.0.3
+VLC_VERSION = 3.0.4
VLC_SITE = https://get.videolan.org/vlc/$(VLC_VERSION)
VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz
VLC_LICENSE = GPL-2.0+, LGPL-2.1+