Skip to content

Releases: OpenVisualCloud/Media-Communications-Mesh

Media Communications Mesh 24.09 release

07 Oct 13:32
b8b713e
Compare
Choose a tag to compare

Release notes for 24.09

1. New Features:

1.1 Support for RDMA data transfer between media proxies

  • Added RDMA implementation and rdma_args in payload_args; Created script to prepare environment for RDMA (#187)
  • Build and install libfabric, libxdp and libbpf (#188) and updated codeql.yml, coverity.yml to include changes from ubuntu build: libfabric, libxdp and libbpf; Added LIBFABRIC_DIR to Media_Proxy Dockerfile
  • Updated README with libfabric dependencies
  • Added test-rdma.sh with RDMA functional tests

1.2 FFmpeg plugin

  • Added FFmpeg 7.0 support (#182) and set it as a default version (with a possibility to run 6.1)
  • Add MTL audio ptime options and compatibility check in FFmpeg plugin
  • Added FFmpeg MCM audio plugin with documentation and configuration arguments - number of audio channels (1, 2, etc.), sample rate (44.1, 48, or 96 kHz), MTL PCM format (16-bit or 24-bit Big Endian), MTL packet time

1.3 Sample app

  • Added throughput printing in sample apps

1.4 AF_XDP/eBPF

  • Run basic implementation of AF_XDP/eBPF (#180) using mtl native functions and MtlManager: The enablement of native_af_xdp for interfaces used in media-proxy workloads required minor impact changes in Dockerfile build sequence as well as adjustments to proxy_context

1.5 Containers (Docker)

  • Dockerfile size shrink to 265MB + Mtl-Manager (#168) added by default to the container
  • Updates to Dockerfile, packages: autoconf, automake, autotools-dev, libtool

1.6 Documentation and tests

  • Updated readme with supported audio argument options (#208)
  • Update documentation on audio ptime options
  • Added sequence diagrams of MCM FFmpeg plugin
  • Added option to conditionally build unit tests: To disable compilation of unit tests one can invoke "BUILD_UNIT_TESTS=OFF ./build.sh"
  • Parameters guide and kubernetes readme modifications (#169)
  • Added Sphinx documentation and Github action automation to build it
  • Added sketch for unit tests
  • Update licenses and added copyright notices

1.7 Other

  • Added memif_buffer_alloc_timeout()

2. Changes to Existing Features:

  • Changed how threads are cancelled: Resources may not have been deallocated at all or deallocated while the thread was still running
  • Not printing error if pthread_join() returns ESRCH: ESRCH means the thread has already exited
  • Removed unnecessary pacing from sender_app
  • MCM st22 fix to media_proxy segfault: added fix for media_proxy exit with segfault
  • Improved pthread_cancel() err handling: pthread_cancel can only return ESRCH or success. ESRCH means that the thread is not running, which is not an error for us.
  • Fixed error handling
  • Changed audio buffer size in memif protocol mode
  • Reworked PCM16/24 support (+FFmpeg plugin)
  • Cleanup ffmpeg plugin build scripts (#183): JPEG XS is not required as direct ffmpeg-plugin, but used internally by MTL (kahawai.json), inside media-proxy
  • Memif native library based functional tests (#177): Functional tests for inter-process communication have been added, as an extension to existing tests
  • Ext_frame: Corrupt frame output fix (#174): Frame size corrected, check for transport and frame size added, MTL memory alignment added
  • Fixes to test.sh to include custom interface names
  • Remove metadata from sent buffer (#173): Video data was overwritten with metadata, which resulted in not enough data being sent
  • Styling and indentation fixes in documentation
  • Updated udp_impl.c and fix the ssize_t overflow issue.
  • Updated CMakeLists.txt append "-fPIC" flag
  • Full code for library version control and load from tag
    • Libraries libraisr and libmcm_dp use position code independent properties from now on.
    • Added scripting for version from git parsing (exactly from tag) or if this fails default one is being set.
  • Changed default patch actions for ffmpeg-plugin
  • Dockerfiles adjustments to meet Trivy requirements: ports exposed, default user, entrypoint, other minor
  • Various dependency bumps from Dependabot suggestions

3. Fixed Issues:

Title Component Description
Media Proxy crashes with segfault when receiving 1st frame in recver_app Media Proxy Fixed
Input and output files differ in size when sent between sample apps in ST20 mode Sample apps Fixed
Segmentation Fault crash of Media Proxy application (for not aligned configuration pixel format with a stream format) Media Proxy Fixed
Media Proxy on Rx side exits unexpectedly when user stops Tx FFmpeg Media Proxy Fixed
Frames sent with ext_frame feature are corrupted Media Communications Mesh Fixed
Media Proxy crashes with Segfault when closing st22 session Media Proxy Fixed

24.06.01

28 Jun 08:32
Compare
Choose a tag to compare

What's Changed

  • Add single node test script based on sample apps by @ko80 in #148
  • Fix segfault in MCM FFmpeg plugin occurred in memcpy by @ko80 in #152

Full Changelog: 24.06...24.06.01

Media Communications Mesh 24.06 release

21 Jun 14:06
Compare
Choose a tag to compare

New Features

  1. Media Communications Mesh FFmpeg plugin
    • Video Input/output plugin for FFmpeg – video processing pipeline framework.
    • Single or multiple instances of FFmpeg with Media Communications Mesh Plugin connect to selected Media Proxy instance.
    • Supported video pixel formats:
      • YUV 422, 8bit packed
      • RGB 8 bit
      • NV12 – YUV 420 planar 8 bit
      • YUV 444 planar, 10 bit, little endian
      • YUV 422 planar, 10 bit, little endian
    • No support for audio streams
  2. Enablement of PTP Time synchronization to Media Communications Mesh.
    This feature uses Media Transport Library PTP Time synchronization feature.
  3. Added support to Media Proxy/SDK for changing input and output streams Payload ID.
    Payload IDs beside of having defined default values (according to RFC or SMPTE specification) are passed as parameters for each stream.
  4. Added support to Media Proxy/SDK for receiving video stream from multicast group/publishing video stream to a multicast group
    Added parameter to stream configuration allowing to pass multicast group IP address.

Changes to Existing Features

  1. Modified docker file to decrease docker image minimal runtime size.

v23.12

26 Jan 02:56
5c4ebb4
Compare
Choose a tag to compare

v23.12