Skip to content

v0.0.3

Choose a tag to compare

@MagicalTux MagicalTux released this 03 May 06:15
· 41 commits to master since this release
badc05c

Other

  • replace never-match regex with semver_check = false
  • migrate to centralized OxideAV/.github reusable workflows
  • SourceRegistry PacketSource for rtmp:// URIs
  • pin release-plz to patch-only bumps

Added

  • SourceRegistry integration via register(registry). New
    RtmpPacketSource adapter implements
    oxideav_core::PacketSource, wrapping an RtmpSession and
    emitting oxideav_core::Packets on stream 0 (audio) and
    stream 1 (video) with TimeBase 1/1000 (RTMP's native
    millisecond unit). Codec ids resolved from the first audio +
    video tags via audio_codec_id / video_codec_id
    (aac/mp3/pcm_*/speex/nellymoser for audio,
    h264/h263/vp6f/vp6a/flashsv/flashsv2 for video).
    AVC composition-time offsets are applied to PTS;
    sequence-header packets carry the header flag and
    AVCDecoderConfigurationRecord / AudioSpecificConfig in
    CodecParameters::extradata. Listen-style opener:
    rtmp://host:port/app/stream-name URIs bind a one-shot
    listener that accepts one publisher and validates the
    announced app + stream-name against the URL path. The
    historical RtmpServer::accept / RtmpClient::connect API is
    unchanged — registry support is purely additive.
  • New integration test (tests/packet_source.rs) round-trips a
    synthetic publisher → registry opener → PacketSource flow,
    asserting stream descriptors, packet ordering, pts/dts, and
    the header / keyframe flags.