[Android] libvlc: add video exclusive patch

Thomas Guillem git at videolan.org
Thu Jul 2 15:57:09 CEST 2020


vlc-android | branch: master | Thomas Guillem <thomas at gllm.fr> | Thu Jul  2 15:08:20 2020 +0200| [c11724acfb273fd999707669f4b2dae91e699b8a] | committer: Thomas Guillem

libvlc: add video exclusive patch

This patch allow to switch from one enabled video track to an other enabled one.

> https://code.videolan.org/videolan/vlc-android/commit/c11724acfb273fd999707669f4b2dae91e699b8a
---

 ...-compat-Workaround-sendmsg-bug-on-android.patch | 10 ++++----
 ...02-libvlc-events-Add-callbacks-for-record.patch | 10 ++++----
 ...work-tls-Handle-errors-from-older-kernels.patch | 10 ++++----
 ...tput-file-Add-error-dialog-for-write-open.patch | 16 ++++++------
 ...005-libvlc-media_player-Add-record-method.patch | 10 ++++----
 .../0006-input-es_out-set-video-exclusive.patch    | 30 ++++++++++++++++++++++
 6 files changed, 58 insertions(+), 28 deletions(-)

diff --git a/libvlc/patches/vlc3/0001-compat-Workaround-sendmsg-bug-on-android.patch b/libvlc/patches/vlc3/0001-compat-Workaround-sendmsg-bug-on-android.patch
index 4676886d7..796ea1f65 100644
--- a/libvlc/patches/vlc3/0001-compat-Workaround-sendmsg-bug-on-android.patch
+++ b/libvlc/patches/vlc3/0001-compat-Workaround-sendmsg-bug-on-android.patch
@@ -1,8 +1,8 @@
-From 253998cefd559e3e1103788d6a6c7466ec5f1faa Mon Sep 17 00:00:00 2001
-Message-Id: <253998cefd559e3e1103788d6a6c7466ec5f1faa.1571382591.git.thomas at gllm.fr>
+From b75b490465c538e50780039dc796724974033db0 Mon Sep 17 00:00:00 2001
+Message-Id: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
 From: =?UTF-8?q?Hugo=20Beauz=C3=A9e-Luyssen?= <hugo at beauzee.fr>
 Date: Thu, 28 Mar 2019 15:23:48 +0100
-Subject: [PATCH 1/5] compat: Workaround sendmsg bug on android
+Subject: [PATCH 1/6] compat: Workaround sendmsg bug on android
 
 This only happens on 64bits builds, see compat/sendmsg.c comments
 ---
@@ -47,10 +47,10 @@ index 0f42e782f8..8d69048746 100644
  #else
  #error sendmsg not implemented on your platform!
 diff --git a/configure.ac b/configure.ac
-index 3f98f90b86..0dc30ed100 100644
+index 50f40e2d98..2449d33184 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -365,6 +365,9 @@ AS_IF([test "$SYS" = linux],[
+@@ -405,6 +405,9 @@ AS_IF([test "$SYS" = linux],[
      ],[
        HAVE_ANDROID="1"
        AC_MSG_RESULT([yes])
diff --git a/libvlc/patches/vlc3/0002-libvlc-events-Add-callbacks-for-record.patch b/libvlc/patches/vlc3/0002-libvlc-events-Add-callbacks-for-record.patch
index 50ba13b5b..17954c98a 100644
--- a/libvlc/patches/vlc3/0002-libvlc-events-Add-callbacks-for-record.patch
+++ b/libvlc/patches/vlc3/0002-libvlc-events-Add-callbacks-for-record.patch
@@ -1,10 +1,10 @@
-From 72117752e2fb99e51fa170d125e8c617a2c7d4da Mon Sep 17 00:00:00 2001
-Message-Id: <72117752e2fb99e51fa170d125e8c617a2c7d4da.1571382591.git.thomas at gllm.fr>
-In-Reply-To: <253998cefd559e3e1103788d6a6c7466ec5f1faa.1571382591.git.thomas at gllm.fr>
-References: <253998cefd559e3e1103788d6a6c7466ec5f1faa.1571382591.git.thomas at gllm.fr>
+From 5b9396f1f52bbbde75adaf92922b9e45a1fb1e78 Mon Sep 17 00:00:00 2001
+Message-Id: <5b9396f1f52bbbde75adaf92922b9e45a1fb1e78.1593695247.git.thomas at gllm.fr>
+In-Reply-To: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
+References: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
 From: Soomin Lee <bubu at mikan.io>
 Date: Thu, 27 Sep 2018 18:40:39 +0200
-Subject: [PATCH 2/5] libvlc: events: Add callbacks for record
+Subject: [PATCH 2/6] libvlc: events: Add callbacks for record
 
 ---
  include/vlc/libvlc_events.h |  9 +++++++++
diff --git a/libvlc/patches/vlc3/0003-network-tls-Handle-errors-from-older-kernels.patch b/libvlc/patches/vlc3/0003-network-tls-Handle-errors-from-older-kernels.patch
index 157c94de8..5522b9a31 100644
--- a/libvlc/patches/vlc3/0003-network-tls-Handle-errors-from-older-kernels.patch
+++ b/libvlc/patches/vlc3/0003-network-tls-Handle-errors-from-older-kernels.patch
@@ -1,10 +1,10 @@
-From a9b5c1b34459d6ba866beb20ba86d1d6cc61c0db Mon Sep 17 00:00:00 2001
-Message-Id: <a9b5c1b34459d6ba866beb20ba86d1d6cc61c0db.1571382591.git.thomas at gllm.fr>
-In-Reply-To: <253998cefd559e3e1103788d6a6c7466ec5f1faa.1571382591.git.thomas at gllm.fr>
-References: <253998cefd559e3e1103788d6a6c7466ec5f1faa.1571382591.git.thomas at gllm.fr>
+From a90ead426217722818e46a40281ca8581969749e Mon Sep 17 00:00:00 2001
+Message-Id: <a90ead426217722818e46a40281ca8581969749e.1593695247.git.thomas at gllm.fr>
+In-Reply-To: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
+References: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
 From: =?UTF-8?q?Hugo=20Beauz=C3=A9e-Luyssen?= <hugo at beauzee.fr>
 Date: Fri, 29 Mar 2019 10:56:26 +0100
-Subject: [PATCH 3/5] network: tls: Handle errors from older kernels
+Subject: [PATCH 3/6] network: tls: Handle errors from older kernels
 
 If MSG_FASTOPEN is defined, but turns out to be unimplemented by the
 underlying kernel (as is the case on android where the NDK claims to
diff --git a/libvlc/patches/vlc3/0004-access_output-file-Add-error-dialog-for-write-open.patch b/libvlc/patches/vlc3/0004-access_output-file-Add-error-dialog-for-write-open.patch
index a5aa190ad..d1f3c4db5 100644
--- a/libvlc/patches/vlc3/0004-access_output-file-Add-error-dialog-for-write-open.patch
+++ b/libvlc/patches/vlc3/0004-access_output-file-Add-error-dialog-for-write-open.patch
@@ -1,20 +1,20 @@
-From f1bcdad49eb0da544ec0d4899c302e00c0804cf9 Mon Sep 17 00:00:00 2001
-Message-Id: <f1bcdad49eb0da544ec0d4899c302e00c0804cf9.1571382591.git.thomas at gllm.fr>
-In-Reply-To: <253998cefd559e3e1103788d6a6c7466ec5f1faa.1571382591.git.thomas at gllm.fr>
-References: <253998cefd559e3e1103788d6a6c7466ec5f1faa.1571382591.git.thomas at gllm.fr>
+From b95a09a0bb9cb649ab7c8f0ac0034013dad55247 Mon Sep 17 00:00:00 2001
+Message-Id: <b95a09a0bb9cb649ab7c8f0ac0034013dad55247.1593695247.git.thomas at gllm.fr>
+In-Reply-To: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
+References: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
 From: Soomin Lee <bubu at mikan.io>
 Date: Mon, 1 Oct 2018 15:37:57 +0200
-Subject: [PATCH 4/5] access_output: file: Add error dialog for write/open
+Subject: [PATCH 4/6] access_output: file: Add error dialog for write/open
 
 ---
  modules/access_output/file.c | 8 ++++++++
  1 file changed, 8 insertions(+)
 
 diff --git a/modules/access_output/file.c b/modules/access_output/file.c
-index fbefce0be8..45de0fc75e 100644
+index ef4f2d18d1..55e4822b90 100644
 --- a/modules/access_output/file.c
 +++ b/modules/access_output/file.c
-@@ -88,6 +88,9 @@ static ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
+@@ -87,6 +87,9 @@ static ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
          {
              if (errno == EINTR)
                  continue;
@@ -24,7 +24,7 @@ index fbefce0be8..45de0fc75e 100644
              block_ChainRelease (p_buffer);
              msg_Err( p_access, "cannot write: %s", vlc_strerror_c(errno) );
              return -1;
-@@ -305,8 +308,13 @@ static int Open( vlc_object_t *p_this )
+@@ -304,8 +307,13 @@ static int Open( vlc_object_t *p_this )
              if (fd != -1)
                  break;
              if (fd == -1)
diff --git a/libvlc/patches/vlc3/0005-libvlc-media_player-Add-record-method.patch b/libvlc/patches/vlc3/0005-libvlc-media_player-Add-record-method.patch
index 202073f4a..4374853fe 100644
--- a/libvlc/patches/vlc3/0005-libvlc-media_player-Add-record-method.patch
+++ b/libvlc/patches/vlc3/0005-libvlc-media_player-Add-record-method.patch
@@ -1,10 +1,10 @@
-From 360c58b6cb05568c39aac668c6bb3ba6a5a9d29e Mon Sep 17 00:00:00 2001
-Message-Id: <360c58b6cb05568c39aac668c6bb3ba6a5a9d29e.1571382591.git.thomas at gllm.fr>
-In-Reply-To: <253998cefd559e3e1103788d6a6c7466ec5f1faa.1571382591.git.thomas at gllm.fr>
-References: <253998cefd559e3e1103788d6a6c7466ec5f1faa.1571382591.git.thomas at gllm.fr>
+From 4c22fcedd313e51abfc506a8670cd06e3cf6d0e7 Mon Sep 17 00:00:00 2001
+Message-Id: <4c22fcedd313e51abfc506a8670cd06e3cf6d0e7.1593695247.git.thomas at gllm.fr>
+In-Reply-To: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
+References: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
 From: Soomin Lee <bubu at mikan.io>
 Date: Wed, 31 Oct 2018 10:08:55 +0100
-Subject: [PATCH 5/5] libvlc: media_player: Add record method
+Subject: [PATCH 5/6] libvlc: media_player: Add record method
 
 ---
  include/vlc/libvlc_media_player.h | 13 +++++++++++++
diff --git a/libvlc/patches/vlc3/0006-input-es_out-set-video-exclusive.patch b/libvlc/patches/vlc3/0006-input-es_out-set-video-exclusive.patch
new file mode 100644
index 000000000..6818f83c0
--- /dev/null
+++ b/libvlc/patches/vlc3/0006-input-es_out-set-video-exclusive.patch
@@ -0,0 +1,30 @@
+From 30a515f551c3531931ab624f8c1b5ffa9b4e4c36 Mon Sep 17 00:00:00 2001
+Message-Id: <30a515f551c3531931ab624f8c1b5ffa9b4e4c36.1593695247.git.thomas at gllm.fr>
+In-Reply-To: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
+References: <b75b490465c538e50780039dc796724974033db0.1593695247.git.thomas at gllm.fr>
+From: Thomas Guillem <thomas at gllm.fr>
+Date: Thu, 2 Jul 2020 15:05:01 +0200
+Subject: [PATCH 6/6] input: es_out: set video exclusive
+
+Since there can be only one video at a time for now (only one Surface is
+supported).
+---
+ src/input/es_out.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/input/es_out.c b/src/input/es_out.c
+index 5a2b194688..c700f31db5 100644
+--- a/src/input/es_out.c
++++ b/src/input/es_out.c
+@@ -316,7 +316,7 @@ es_out_t *input_EsOutNew( input_thread_t *p_input, int i_rate )
+     TAB_INIT( p_sys->i_es, p_sys->es );
+ 
+     /* */
+-    EsOutPropsInit( &p_sys->video, true, p_input, ES_OUT_ES_POLICY_SIMULTANEOUS,
++    EsOutPropsInit( &p_sys->video, true, p_input, ES_OUT_ES_POLICY_EXCLUSIVE,
+                     NULL, NULL, NULL, NULL );
+     EsOutPropsInit( &p_sys->audio, true, p_input, ES_OUT_ES_POLICY_EXCLUSIVE,
+                     "audio-track-id", "audio-track", "audio-language", "audio" );
+-- 
+2.20.1
+



More information about the Android mailing list