switch-frame-tap

LOW
maintainer Gabantax 0 votes scanned 2026-10-24 11:40:05.027745
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: Gabantax <ve20@web.de>
2pkgname=switch-frame-tap
3pkgver=0.7.14
4pkgrel=2
5pkgdesc='PC viewer for Switch Frame Tap: watch and record your Nintendo Switch streamed over USB or network'
6arch=('x86_64')
7url='https://github.com/TomasUribe/switch-frame-tap'
8license=('GPL-2.0-only')
9depends=('ffmpeg' 'sdl2' 'libusb' 'libva' 'systemd-libs')
10optdepends=('libva-mesa-driver: VAAPI decoding on AMD'
11 'intel-media-driver: VAAPI decoding on Intel'
12 'nvidia-utils: NVDEC decoding on NVIDIA')
13source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
14sha256sums=('92ba8ebfd07bab4134c9b6177e6d91a65a152ba6f31bf0c93595f7a464f972fe')
15
16prepare() {
17 # sdl2-compat: SDL_RenderGetScale() includes the logical-size scale, but
18 # SDL_RenderSetScale() sets only the renderer's own one. The viewer saves and
19 # restores the scale around its overlays each frame, so in a window bigger
20 # than the picture the scale compounds to inf and the picture goes black
21 # (upscaling off). Hand back what SDL_RenderSetScale() needs; SDL 2: no change.
22 cat > sdl2-compat-scale.h <<'EOF'
23#include <SDL2/SDL.h>
24static inline void sft_render_get_scale(SDL_Renderer *ren, float *scaleX, float *scaleY)
25{
26 float sx = 1.0f, sy = 1.0f, ux = 1.0f, uy = 1.0f;
27 int lw = 0, lh = 0;
28 SDL_RenderGetScale(ren, &sx, &sy);
29 SDL_RenderGetLogicalSize(ren, &lw, &lh);
30 if (lw > 0 && lh > 0) {
31 SDL_RenderSetScale(ren, 1.0f, 1.0f);
32 SDL_RenderGetScale(ren, &ux, &uy);
33 if (ux > 0.0f) sx /= ux;
34 if (uy > 0.0f) sy /= uy;
35 SDL_RenderSetScale(ren, sx, sy);
36 }
37 if (scaleX) *scaleX = sx;
38 if (scaleY) *scaleY = sy;
39}
40#define SDL_RenderGetScale sft_render_get_scale
41EOF
42}
43
44build() {
45 cd "$pkgname-$pkgver"
46 gcc -O2 -Wall -Wextra \
47 -include "$srcdir/sdl2-compat-scale.h" \
48 -DSFT_H264 -DSFT_MP4 -DSFT_VERSION="\"$pkgver\"" \
49 $(pkg-config --cflags sdl2 libusb-1.0 libavformat libavcodec libavutil libva) \
50 -o switch-frame-tap-viewer tools/raw-recv/raw-view.c \
51 $(pkg-config --libs sdl2 libusb-1.0 libavformat libavcodec libavutil libva libva-drm libudev) \
52 -lpthread -lm -ldl
53}
54
55package() {
56 cd "$pkgname-$pkgver"
57 local id=io.github.TomasUribe.SwitchFrameTap
58
59 install -Dm755 switch-frame-tap-viewer "$pkgdir/usr/bin/switch-frame-tap-viewer"
60 install -Dm644 tools/raw-recv/switch-frame-tap.svg \
61 "$pkgdir/usr/share/icons/hicolor/scalable/apps/$id.svg"
62
63 install -Dm644 "flatpak/$id.desktop" "$pkgdir/usr/share/applications/$id.desktop"
64 install -Dm644 "flatpak/$id.metainfo.xml" "$pkgdir/usr/share/metainfo/$id.metainfo.xml"
65
66 install -Dm644 tools/raw-recv/99-switch-frame-tap.rules \
67 "$pkgdir/usr/lib/udev/rules.d/70-switch-frame-tap.rules"
68}
69

Changes since previous scan

--- PKGBUILD @ 2026-10-23 17:38
+++ PKGBUILD @ 2026-10-24 11:40
@@ -1,7 +1,7 @@
# Maintainer: Gabantax <ve20@web.de>
pkgname=switch-frame-tap
pkgver=0.7.14
-pkgrel=1
+pkgrel=2
pkgdesc='PC viewer for Switch Frame Tap: watch and record your Nintendo Switch streamed over USB or network'
arch=('x86_64')
url='https://github.com/TomasUribe/switch-frame-tap'
@@ -13,9 +13,38 @@
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('92ba8ebfd07bab4134c9b6177e6d91a65a152ba6f31bf0c93595f7a464f972fe')
+prepare() {
+ # sdl2-compat: SDL_RenderGetScale() includes the logical-size scale, but
+ # SDL_RenderSetScale() sets only the renderer's own one. The viewer saves and
+ # restores the scale around its overlays each frame, so in a window bigger
+ # than the picture the scale compounds to inf and the picture goes black
+ # (upscaling off). Hand back what SDL_RenderSetScale() needs; SDL 2: no change.
+ cat > sdl2-compat-scale.h <<'EOF'
+#include <SDL2/SDL.h>
+static inline void sft_render_get_scale(SDL_Renderer *ren, float *scaleX, float *scaleY)
+{
+ float sx = 1.0f, sy = 1.0f, ux = 1.0f, uy = 1.0f;
+ int lw = 0, lh = 0;
+ SDL_RenderGetScale(ren, &sx, &sy);
+ SDL_RenderGetLogicalSize(ren, &lw, &lh);
+ if (lw > 0 && lh > 0) {
+ SDL_RenderSetScale(ren, 1.0f, 1.0f);
+ SDL_RenderGetScale(ren, &ux, &uy);
+ if (ux > 0.0f) sx /= ux;
+ if (uy > 0.0f) sy /= uy;
+ SDL_RenderSetScale(ren, sx, sy);
+ }
+ if (scaleX) *scaleX = sx;
+ if (scaleY) *scaleY = sy;
+}
+#define SDL_RenderGetScale sft_render_get_scale
+EOF
+}
+
build() {
cd "$pkgname-$pkgver"
gcc -O2 -Wall -Wextra \
+ -include "$srcdir/sdl2-compat-scale.h" \
-DSFT_H264 -DSFT_MP4 -DSFT_VERSION="\"$pkgver\"" \
$(pkg-config --cflags sdl2 libusb-1.0 libavformat libavcodec libavutil libva) \
-o switch-frame-tap-viewer tools/raw-recv/raw-view.c \

Scan history

Scanned at (UTC)SeverityRules
2026-10-24 11:40:05 Low 1
2026-10-24 00:14:55 Clean 2
2026-10-23 19:38:15 Low 1
2026-10-23 17:38:05 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion