i created an app with claude "ai" that uses invidious instances. you need python 3.11 from wunderw for this. install yt-dlp with "/opt/wunderw/bin/python3.11 -m pip install yt-dlp"
| Attachment | Size | Date |
|---|---|---|
| 14.74 KB | 19/12/2025 - 01:15 | |
| 15.53 KB | 20/12/2025 - 23:48 | |
| 15.84 KB | 21/12/2025 - 00:42 | |
| 14.63 KB | 17/01/2026 - 11:13 | |
| 15.36 KB | 17/01/2026 - 11:54 | |
| 15.35 KB | 18/01/2026 - 12:26 | |
| 22.61 KB | 11/04/2026 - 01:46 | |
| 24.38 KB | 11/04/2026 - 02:56 | |
| 24.54 KB | 13/04/2026 - 15:59 |
youtube-harmattan (1.7.3) unstable; urgency=low
* Complete proxy rewrite: use sequence number prediction (sq=N+1)
instead of playlist refresh, eliminating all caching issues
* Proxy now fetches one segment at a time by incrementing the sequence
number, matching YouTube's segment production rate
* Removed broken cache-busting code that corrupted YouTube URLs
youtube-harmattan (1.7.1) unstable; urgency=low
* Fix livestream stopping after ~1 min: add Cache-Control and Pragma
no-cache headers to prevent HTTP caching of HLS playlist, which caused
the proxy to never see new segments after the first refresh batch
youtube-harmattan (1.7.0) unstable; urgency=low
* Cap livestream quality at 240p (format 92) regardless of quality
setting - higher formats exceed N9 bandwidth for real-time streaming
* Quality setting still applies to normal (non-live) video playback
* 8 segment pre-buffer with 1 second refresh for stable livestreams
youtube-harmattan (1.6.8) unstable; urgency=low
* Increase pre-buffer back to 8 segments (~40s) for stable playback
* Add max-lateness=-1 to xvimagesink to prevent frame dropping
* Keep 1 second refresh interval for aggressive segment fetching
youtube-harmattan (1.6.8) unstable; urgency=low
* Add 144p quality option for smooth DSP-accelerated livestream playback
youtube-harmattan (1.6.7) unstable; urgency=low
* Increase pre-buffer to 5 segments (~25s) for reliable playback
* Reduce playlist refresh interval to 1 second to prevent buffer underrun
youtube-harmattan (1.6.6) unstable; urgency=low
* Reduce pre-buffer from 8 to 3 segments for faster livestream startup
youtube-harmattan (1.6.5) unstable; urgency=low
* Fix wrapper script: use file-based readiness check instead of socket
connect (which consumed pre-buffered data) and seq (not in BusyBox)
* Proxy creates /tmp/hls_proxy.ready file when ready to accept players
youtube-harmattan (1.6.4) unstable; urgency=low
* Fix port conflict: kill old proxy via PID file before starting new one
* Fix app relaunch: use python instead of invoker (not an ELF binary)
* Clean up proxy PID file on exit
youtube-harmattan (1.6.3) unstable; urgency=low
* Completely new livestream approach: app quits to release XV port and
DSP, external wrapper script (livestream_player.sh) handles proxy +
gst-launch with full hardware acceleration (dspvdec + xvimagesink)
* App automatically relaunches after playback ends via invoker
* Fullscreen hardware-accelerated video with DSP decode and XV overlay
youtube-harmattan (1.6.2) unstable; urgency=low
* Use dspvdec + ffmpegcolorspace + ximagesink pipeline: hardware H.264
decode via TI DSP, software colorspace conversion, X11 display
* No XV overlay conflict - app window stays visible during playback
* Remove view hide/show logic (no longer needed)
youtube-harmattan (1.6.1) unstable; urgency=low
* Fix XV port release: call view.hide() directly from Python (Qt main
thread) instead of QML visible=false, which actually destroys the
MeeGo GL surface and frees the XVideo overlay port
* Restore view with showFullScreen() after GStreamer exits
youtube-harmattan (1.6.0) unstable; urgency=low
* Fix XV overlay conflict: hide app window via Qt (visible=false) before
starting GStreamer, restore after player exits
* Add hideWindow/showWindow signals for clean window lifecycle management
* Hardware-accelerated livestream playback with dspvdec + xvimagesink
youtube-harmattan (1.5.9) unstable; urgency=low
* Revert to xvimagesink + dspvdec for hardware-accelerated rendering
* Minimize app window via D-Bus (exit_app_view) before starting GStreamer
to free the XV overlay port
youtube-harmattan (1.5.8) unstable; urgency=low
* Use ximagesink instead of xvimagesink to avoid XV port conflict with
the app's MeeGo graphics system (BadAccess error)
youtube-harmattan (1.5.7) unstable; urgency=low
* Fix XV port lock: kill previous gst-launch process before starting a
new livestream, preventing BadAccess errors on the XVideo extension
* Track GStreamer process alongside proxy for proper cleanup
youtube-harmattan (1.5.6) unstable; urgency=low
* Livestream quality selection: map preferred quality setting to YouTube
HLS format IDs (91=144p, 92=240p, 93=360p, 94=480p, 300=720p)
* Quality menu setting now applies to both normal videos and livestreams
youtube-harmattan (1.5.5) unstable; urgency=low
* Fix critical bug: GStreamer was launched twice (duplicate Popen call),
causing two players to compete for proxy data and crash within seconds
* Remove setsid workaround (caused premature proxy cleanup)
youtube-harmattan (1.5.4) unstable; urgency=low
* Fix launcher race condition: wait for READY marker from proxy stdout
instead of socket connect test that consumed an accept() and wasted
pre-buffered data
* Use python -u for unbuffered proxy output to prevent pipe buffer
blocking
* Drain proxy stdout in background thread to prevent proxy from blocking
on print statements after pipe buffer fills up
youtube-harmattan (1.5.3) unstable; urgency=low
* Fix livestream stopping after initial buffer: start playlist refresh
immediately without waiting, increase pre-buffer from 5 to 8 segments
* Pre-buffer segments before opening server socket to eliminate race
condition with GStreamer connection timeout
youtube-harmattan (1.5.2) unstable; urgency=low
* Use TI OMAP3 DSP hardware video decoder (dspvdec) instead of software
ffdec_h264 for much lower CPU usage and proper fullscreen overlay
* Fix version string in launcher
youtube-harmattan (1.5.1) unstable; urgency=low
* Fix GStreamer pipeline: use nokiaaacdec (Nokia DSP AAC decoder) instead
of ffdec_aac which crashes on HE-AAC/SBR streams
* Add aacparse between demuxer and decoder for proper stream framing
* Use dynamic pad names (d.) for ffdemux_mpegts compatibility
* Fix HLS proxy: pre-buffer 5 segments (~25s) instead of 1 to prevent
GStreamer from starving and generating premature EOS
* Reduce playlist refresh interval to (target_dur - 2) seconds to stay
ahead of playback
* Add error counting and retry logic in live streaming loop
youtube-harmattan (1.5.0) unstable; urgency=low
* Livestream support: detect live videos (duration == -1) and display
red LIVE badge in video list
* HLS proxy for livestream playback: automatically starts a local proxy
that fetches HLS MPEG-TS segments and streams them to GStreamer
* Livestream playback via gst-launch-0.10 with ffdemux_mpegts pipeline
* Search pagination: "Load more" button at the end of search results
using Piped nextpage API
* Client-side sorting: sort by date (parses relative time strings) and
view count since Piped API does not support server-side sorting
* Download quality selection: long-press menu now offers 360p, 720p,
and best available quality options
* Show duration string and upload date in video list items
* Format listing via yt-dlp for future format picker integration
* Livestream detection in yt-dlp backend: uses -j to check is_live
field before selecting format strategy
* download_format API command for downloading specific format IDs
* Version bump to 1.5.0
Recent comments