From 6715f4b2277235564afcc420afe2c75becf152ae Mon Sep 17 00:00:00 2001 From: Matteo Benedetto Date: Mon, 23 Mar 2026 23:50:11 +0100 Subject: [PATCH] player: log last DLNA URL to /tmp/dlna_last_url.txt on play(); tests: auto-load it in diagnostic script --- src/r36s_dlna_browser/player/gstreamer_backend.py | 5 +++++ tests/test_video_playback_device.py | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/r36s_dlna_browser/player/gstreamer_backend.py b/src/r36s_dlna_browser/player/gstreamer_backend.py index 5e0b015..d676c69 100644 --- a/src/r36s_dlna_browser/player/gstreamer_backend.py +++ b/src/r36s_dlna_browser/player/gstreamer_backend.py @@ -299,6 +299,11 @@ class GStreamerBackend(PlayerBackend): self._set_playing(True, notify=False) self._event_callback("buffering", 100) log.info("Starting SDL-rendered GStreamer playback: %s", url) + try: + with open("/tmp/dlna_last_url.txt", "w") as _f: + _f.write(url + "\n") + except OSError: + pass def stop(self) -> None: with self._lock: diff --git a/tests/test_video_playback_device.py b/tests/test_video_playback_device.py index 76ce385..7b3b8a2 100644 --- a/tests/test_video_playback_device.py +++ b/tests/test_video_playback_device.py @@ -218,11 +218,21 @@ if not audio_ok: test_url = sys.argv[1] if len(sys.argv) > 1 else None +if not test_url: + try: + with open("/tmp/dlna_last_url.txt") as _f: + test_url = _f.read().strip() or None + if test_url: + print(f"\n [auto] Loaded last DLNA URL from /tmp/dlna_last_url.txt") + except FileNotFoundError: + pass + _section("6. Live URL / file playback") if not test_url: _warn("No URL provided — skipping live playback test.") - print(" Pass a media URL or path as the first argument to test real decode.") + print(" Pass a media URL or path as the first argument, or start the app and") + print(" play something; the URL will be saved to /tmp/dlna_last_url.txt.") else: print(f" URL: {test_url}") live_frames = 0