Skip to content

v0.14.0 - VLC support

Latest
Compare
Choose a tag to compare
@yuroyami yuroyami released this 13 Apr 04:37
· 6 commits to master since this release

⚠️ This is NOT backward-compatible with the previous version (0.13.0), Uninstall the old one then install the new one.

Core Changes:

  • Full iOS support: The project now compiles and runs on iOS devices and is usable. Volunteers interested in hosting the app on the Apple Store to make it available for installation to all users are encouraged to contribute.

  • Fixed issue with Preference Saving: Resolved a significant issue where user preferences were not saved or applied upon exiting the preference screen, affecting both in-room settings and global settings (#92).

  • VLC Integration: Implemented additional video playback support through the inclusion of VLC video playback engine (via libVLC). It is powerful but not as stable as mpv. VLC is also implemented on the iOS side via MobileVLCKit.

  • Reactivated Shared Playlist feature: although it is still experiencing functionality issues. Updates include:

    • Syncplay now scans for files within subfolders of media directories to address issue #54.
    • Fixed a bug where the UI playlist play indicator failed to update with server index changes.
  • New Network Setting Option: Introduced a new network engine selection option within global home settings (Settings -> Network -> Network Engine), enabling users to choose their preferred network engine.

    • For Android, options include Netty (Default, comes with TLS support) and Ktor (experimental, doesn't support TLS).
    • For iOS, options include SwiftNIO (basically the Netty equivalent, stable and supports TLS) and Ktor (no TLS).
  • Addition of MPV Options: Included two new MPV options, 'video sync mode' and 'profile preset', to control how mpv syncs the video (either by setting it sync video to the audio or to the display). This also fixes the “Framerate interpolation” which had no effect due to mpv applying the ‘audio’ video sync option by default. Note that this option is not exactly phone-performance-friendly especially when the display refresh rate is higher than 60 FPS. (#59 requested by @Zhaodaidai)

  • Bug Fixes and Improvements :

    • Resolved an issue where MPV would become permanently broken after reaching the end of a file.
    • Fixed track selection malfunction with ExoPlayer (#94 raised by @Grandark1231, #95 raised by @ahmady2001).
    • Addressed issues where player continued playback after leaving a room (#84 by @soredake).
    • Fixed playback persistence after closing the PIP window (#67 by @soredake).
    • Corrected a bug where the player received playback events while in the background (#76 raised by @soredake).
    • Adjustments to Picture-in-Picture Mode: Modified the behavior of entering picture-in-picture mode to prevent poor user experiences. Instead of automatic activation upon app minimization, users can now access PIP mode through the overflow menu in the top right corner of the room.
    • Set gpu-next as the default value for the MPV engine to prevent black screens caused by differing rendering logic in libMPV (#85 raised by @soredake).
    • Fixed an issue where the setting “Pause when someone leaves” would result in resuming playback when the media is already paused, as well as another issue where it tries to take effect even when there is no media, potentially causing a crash.
    • Fixed an issue where subtitles could not be loaded due to filename having a non-lowercase extension.
    • Added a new "General" setting Remove all shortcuts to quickly remove existing dynamic home shortcuts.
    • Introduced Russian translation (#47) by @ivy-reps (Thanks!) - requested by @b0s-at-works.
  • Known iOS Limitations:

    • Shortcuts may not function when the app is not in the background due to Kotlin/Native Cinterop limitations.
    • Picture-in-Picture mode is not supported on the VLC engine due to VLCKit constraints.
    • Joining a room using the Ktor network engine on iOS may result in occasional app crashes.

Which APK should you download ?

If you're not familiar with different phone architectures, go ahead and download the arm64-v8a APK. It should work on most phones out there. In case it doesn't work, you can try the armeabi-v7a APK as an alternative. Keep in mind that there are some devices with rare architectures such as x86_64 or x86. Please note that I won't be providing a universal APK since it would be too large (around 300MBs).

If you don't want all video engines (mpv, VLC and ExoPlayer), go ahead and download syncplay-version-exo-only.apk which contains only ExoPlayer (which should be compatible and stable with any phone, although I personally prefer running mpv).