diff options
author | Andrew Rabert | 2018-03-10 13:02:11 -0500 |
---|---|---|
committer | Andrew Rabert | 2018-03-10 13:02:11 -0500 |
commit | 3973082677e46bf33db4aac1c4ae7f0bf9d9346d (patch) | |
tree | 14cbd0c6bad3464dd2f428f0d22d98f540212972 | |
parent | 2bb5c89b2bbcbb646bec0454042031345bef7cbf (diff) | |
download | aur-3973082677e46bf33db4aac1c4ae7f0bf9d9346d.tar.gz |
Backport memory leak fixes
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 22 | ||||
-rw-r--r-- | fix_decoder_memory_leak.patch | 18 |
3 files changed, 38 insertions, 6 deletions
@@ -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 @@ -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"); |