Skip to content

MFlow v0.4.0 — Native Packet & Stream Foundation

Choose a tag to compare

@reqeuss reqeuss released this 18 Sep 14:40
· 13 commits to main since this release
d88634b

MFlow v0.4.0 — Native Packet & Stream Foundation

MFlow v0.4.0 introduces the first reusable native media data model of the MFlow engine.

🚀 What's new

  • Native Packet system
  • Native Stream model for video, audio and data streams
  • Rational Timestamp system with PTS, DTS and duration
  • Thread-safe PacketQueue
  • MediaContext for managing containers and streams
  • Pipeline stages now operate directly on MFlow packets
  • Expanded automated test coverage
  • Native C++20 architecture preserved across Windows and Linux

🧠 Core architecture

MFlow now has the foundations required for a real native media processing pipeline:

INPUT
  ↓
MEDIA CONTEXT
  ↓
STREAMS
  ↓
PACKETS
  ↓
PACKET QUEUE
  ↓
PIPELINE

Packets now carry their stream ID, timestamps, duration, flags and sequence information.

This provides the foundation for future native demuxers, frame processing, codecs and muxers.

⚡ Design philosophy

MFlow continues to follow its core principle:

Move less data. Do less work. Measure everything.

The architecture is designed to avoid unnecessary copies, decoding, encoding, memory transfers and processing whenever the requested operation does not require them.

🔒 No FFmpeg dependency

MFlow does not delegate media processing to FFmpeg or another external multimedia executable.

The engine is being developed as an independent native multimedia stack.

⚠️ Current limitations

v0.4.0 does not yet provide:

  • Native MP4 demuxing
  • Native MP4 muxing
  • Native video decoding
  • Native video encoding
  • Native audio decoding
  • Native audio encoding
  • Video scaling
  • General-purpose media transcoding

These capabilities are being developed progressively.

🛣️ Next steps

The next development stages will focus on:

  • Timestamp normalization and ordering
  • Native MP4 box parsing
  • Native MP4 demuxer
  • Native MP4 muxer
  • Raw video frame system
  • Audio sample system
  • Native codec foundations

MFlow is still in active development, but v0.4.0 establishes an important foundation for the future native media engine.

📦 Build

Requirements:

  • C++20 compiler
  • CMake
  • Windows or Linux

Build with:

cmake -S . -B build
cmake --build build --config Release

📄 License

MFlow is released under the MIT License.