Commit Graph

9 Commits (v1.0.3)

Author SHA1 Message Date
zijiren d560b8efce
fix: harden Bilibili playback reliability (#412)
## Summary

- Treat explicit null collection fields in Bilibili VOD playback
responses as empty collections.
- Cover DASH streams, backup URLs, Dolby audio, supported formats, DURL
responses, subtitles, video pages, UGC collections, and PGC episodes.
- Resolve Bilibili DASH resources from versioned playback metadata and
provide every equivalent CDN URL to the existing candidate executor.
- Prefer the URL selected by the player, then retry primary and backup
CDNs before committing the downstream response.

## Root cause

Bilibili occasionally emits explicit null for fields normally
represented as JSON arrays, which caused playback/start deserialization
errors. Proxy DASH resource requests also used a single CDN even though
the provider response included backup URLs.

## Validation

- cargo fmt --all -- --check
- cargo check for synctv-api-common, synctv-api-http, and
synctv-api-grpc
- synctv-media-providers Bilibili tests: 91 passed
- synctv-core Bilibili tests: 17 passed, 2 ignored
- candidate executor tests: 2 passed
- Real playback/start, proxy MPD, Range request, CDN fault injection,
dev build, and dev smoke checks
1 month ago
zijiren233 5425eaf436 chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
zijiren233 0df11b9592 chore: update gitignore 1 year ago
zijiren233 f583999ea7 Fix: cd error 3 years ago
zijiren233 c5d72bf2c2 Feat: cgo support 3 years ago
zijiren233 4a0dae3739 Feat: load env and db filed type 3 years ago
zijiren233 31d692dc4c Feat: support database 3 years ago
zijiren233 0745cecee0 Feat: build wordflow and auto dev 3 years ago
zijiren233 acf7718c0a Feat: synctv init 3 years ago