crispy-catchup 0.1.1

Catchup and timeshift URL utilities for IPTV channels
Documentation

crispy-catchup

Catchup and timeshift URL helpers for IPTV streams.

What This Crate Is

crispy-catchup encapsulates catchup-mode parsing and URL generation for IPTV channels that support archive playback, timeshift playback, or VOD-style catchup flows.

What It Provides

  • catchup mode resolution
  • provider-specific source parsing
  • time-placeholder template expansion
  • helpers for:
    • timeshift playback
    • VOD catchup playback
    • live playback with “now” placeholders
  • catchup window validation

Installation

[dependencies]
crispy-catchup = "0.1.1"

MSRV: Rust 1.85

Quick Start

use crispy_catchup::{CatchupConfig, CatchupMode};

let config = CatchupConfig {
    mode: CatchupMode::Default,
    source: "http://example.com/archive/{utc}".into(),
    catchup_days: 7,
    supports_timeshifting: true,
    terminates: true,
    granularity_seconds: 60,
    is_ts_stream: false,
};

assert_eq!(config.catchup_days, 7);

Typical Uses

  • archive playback URL generation
  • EPG-driven timeshift playback
  • provider catchup compatibility layers

Current Limitations

  • this crate does not fetch EPG or playback content
  • vendor compatibility still depends on the quality of upstream metadata and templates

License

See LICENSE.md and NOTICE.md.