summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Rabert2018-03-10 13:02:11 -0500
committerAndrew Rabert2018-03-10 13:02:11 -0500
commit3973082677e46bf33db4aac1c4ae7f0bf9d9346d (patch)
tree14cbd0c6bad3464dd2f428f0d22d98f540212972
parent2bb5c89b2bbcbb646bec0454042031345bef7cbf (diff)
downloadaur-3973082677e46bf33db4aac1c4ae7f0bf9d9346d.tar.gz
Backport memory leak fixes
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD22
-rw-r--r--fix_decoder_memory_leak.patch18
3 files changed, 38 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index eab113f759f1..f15ece3af785 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = scrcpy
pkgdesc = Display and control your Android device
pkgver = 1.0
- pkgrel = 4
+ pkgrel = 5
url = https://github.com/Genymobile/scrcpy
arch = i686
arch = x86_64
@@ -13,8 +13,10 @@ pkgbase = scrcpy
optdepends = android-sdk-platform-tools: required if adb is not already installed
source = https://github.com/Genymobile/scrcpy/archive/v1.0.tar.gz
source = scrcpy-server.jar::https://github.com/Genymobile/scrcpy/releases/download/v1.0/scrcpy-server-v1.0.jar
+ source = fix_decoder_memory_leak.patch
sha256sums = fda84b2fc6a60bf808f7b87f7c9a985a446bad69d4de8e63e9ce699871f8026f
sha256sums = b573b06a6072476b85b6308e3ad189f2665ad5be4f8ca3a6b9ec81d64df20558
+ sha256sums = aabef958c4736cb31d81ebdbe2e87f8a63b096d47a8fc1ec5f5678f0bd41a20d
pkgname = scrcpy
diff --git a/PKGBUILD b/PKGBUILD
index 48b4e2671830..35eb447a55c1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=scrcpy
pkgver=1.0
-pkgrel=4
+pkgrel=5
pkgdesc='Display and control your Android device'
arch=('i686' 'x86_64')
url='https://github.com/Genymobile/scrcpy'
@@ -11,13 +11,25 @@ depends=('ffmpeg' 'sdl2')
makedepends=('gcc' 'meson')
optdepends=('android-sdk-platform-tools: required if adb is not already installed')
source=("https://github.com/Genymobile/scrcpy/archive/v${pkgver}.tar.gz"
- "scrcpy-server.jar::https://github.com/Genymobile/scrcpy/releases/download/v1.0/scrcpy-server-v${pkgver}.jar")
+ "scrcpy-server.jar::https://github.com/Genymobile/scrcpy/releases/download/v1.0/scrcpy-server-v${pkgver}.jar"
+ 'fix_decoder_memory_leak.patch')
sha256sums=('fda84b2fc6a60bf808f7b87f7c9a985a446bad69d4de8e63e9ce699871f8026f'
- 'b573b06a6072476b85b6308e3ad189f2665ad5be4f8ca3a6b9ec81d64df20558')
+ 'b573b06a6072476b85b6308e3ad189f2665ad5be4f8ca3a6b9ec81d64df20558'
+ 'aabef958c4736cb31d81ebdbe2e87f8a63b096d47a8fc1ec5f5678f0bd41a20d')
+_srcname="scrcpy-${pkgver}"
+
+
+prepare() {
+ cd "${_srcname}"
+
+ # backport memory leak fixes https://github.com/Genymobile/scrcpy/issues/26
+ patch -Np1 -i ../fix_decoder_memory_leak.patch
+}
build() {
- cd scrcpy-${pkgver}
+ cd ${_srcname}
+
rm -rf build
meson build --buildtype release --strip -Db_lto=true \
-Dbuild_server=false \
@@ -28,6 +40,6 @@ build() {
package() {
mkdir -p "${pkgdir}"/usr/bin "${pkgdir}"/usr/share/scrcpy
- install -m 755 scrcpy-${pkgver}/build/app/scrcpy "${pkgdir}"/usr/bin/
+ install -m 755 ${_srcname}/build/app/scrcpy "${pkgdir}"/usr/bin/
install -m 755 scrcpy-server.jar "${pkgdir}"/usr/share/scrcpy/
}
diff --git a/fix_decoder_memory_leak.patch b/fix_decoder_memory_leak.patch
new file mode 100644
index 000000000000..aab660154cff
--- /dev/null
+++ b/fix_decoder_memory_leak.patch
@@ -0,0 +1,18 @@
+--- a/app/src/decoder.c
++++ b/app/src/decoder.c
+@@ -106,6 +106,7 @@
+ push_frame(decoder);
+ } else if (ret != AVERROR(EAGAIN)) {
+ LOGE("Could not receive video frame: %d", ret);
++ av_packet_unref(&packet);
+ goto run_quit;
+ }
+ #else
+@@ -123,6 +124,7 @@
+ packet.data += len;
+ }
+ #endif
++ av_packet_unref(&packet);
+ }
+
+ LOGD("End of frames");