Skip to content

Fix: st41 fastmetadata pytest failures and stale SvtJpegxs CI staleness check#1641

Merged
awilczyns merged 3 commits into
mainfrom
fix-st41-pytest
Jul 3, 2026
Merged

Fix: st41 fastmetadata pytest failures and stale SvtJpegxs CI staleness check#1641
awilczyns merged 3 commits into
mainfrom
fix-st41-pytest

Conversation

@awilczyns

@awilczyns awilczyns commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Fixes test_st41_no_chain (ST2110-41 fast-metadata, no-RTP-chain mode) end
to end: a missing JSON fps option that made the RxTxApp config rejected, a
tx-side packet-size validation bug that rejected every packet, and a CI
staleness check that let a stale SvtJpegxs install silently break the
FFmpeg plugin build.

Changes:

Fix: parse_json.c — st_json_parse_tx_fmd()
only recognized p25/p29 for the fast-metadata fps JSON field; the
higher/lower frame rates used by test_st41_no_chain (p119, p120,
p100, p60, p30, p24, p23) fell through to the invalid fmd fps
error path. Added the missing mappings to ST_FPS_*.

Fix: st_tx_fastmetadata_session.c —
tx_fastmetadata_session_build_packet() validated packet capacity against
rte_pktmbuf_data_len(pkt), which is 0 right after rte_pktmbuf_alloc()
and still excludes the RTP header at the second check point. Both checks
therefore rejected every packet unconditionally (packet is less than fmd hdr size / invalid pkt_len 0 for every packet, per the failing-run log).
Switched to rte_pktmbuf_tailroom(pkt) [+ rte_pktmbuf_data_len(pkt)], which
reflects actual buffer capacity instead of bytes committed so far.

Fix: setup_environment.sh — the JPEG-XS
need_build staleness check only tested ldconfig SONAME presence, not
version, so a stale SvtJpegxs core lib (surviving git clean as a
system-wide install on a persistent self-hosted runner) was treated as
up-to-date after versions.env required SvtJpegxs >= 0.10.0 for the
FFmpeg plugin build. Added a pkg-config --atleast-version check so an
outdated install now triggers a rebuild instead of being silently skipped.
The minimum version is a new versions.env variable
(SVT_JPEG_XS_MIN_VER), matching the existing convention for pinned
versions rather than a literal in the script.

awilczyns added 2 commits July 2, 2026 13:19
Signed-off-by: Wilczynski, Andrzej <andrzej.wilczynski@intel.com>
Signed-off-by: Wilczynski, Andrzej <andrzej.wilczynski@intel.com>
Comment thread .github/scripts/setup_environment.sh Outdated
Comment thread lib/src/st2110/st_tx_fastmetadata_session.c
need_build only checked ldconfig SONAME presence, not version, so a
stale SvtJpegxs install (surviving git clean as a system-wide install)
was treated as up-to-date after versions.env bumped SVT_JPEG_XS_VER to
a commit requiring SvtJpegxs >= 0.10.0. FFmpeg configure then failed
with "SvtJpegxs >= 0.10.0 not found using pkg-config" on mtl-runner-7.

Add a pkg-config version check alongside the SONAME check so an
outdated install triggers a rebuild instead of being skipped. The
minimum version is now a versions.env variable instead of a hardcoded
literal, matching the convention used by the other pinned versions.

Fixes: 46b13a9 ("Ci: skip copying missing jpeg-xs helper files on v0.9.0")
Signed-off-by: Wilczynski, Andrzej <andrzej.wilczynski@intel.com>
@awilczyns awilczyns changed the title Fix: Added missing fps option for fastmetadata Fix: st41 fastmetadata pytest failures and stale SvtJpegxs CI staleness check Jul 3, 2026

@DawidWesierski4 DawidWesierski4 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

weak review from me

i read this it makes sense
if i had time i would look into wiht GDB into it but i don't

Comment thread lib/src/st2110/st_tx_fastmetadata_session.c
@awilczyns awilczyns merged commit 32b1b4e into main Jul 3, 2026
28 of 30 checks passed
@awilczyns awilczyns deleted the fix-st41-pytest branch July 3, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants