Skip to content

Sony's master of 2026-10-05 is merged into bisect - #4

Closed
pedro-alves-ferreira wants to merge 18 commits into
bisectfrom
15164-sony-master-2026-10-05
Closed

pedro-alves-ferreira wants to merge 18 commits into
bisectfrom
15164-sony-master-2026-10-05

Conversation

@pedro-alves-ferreira

Copy link
Copy Markdown
Member

Reasoning
BISECT NMOS's BCP-008 status monitoring (Azure DevOps story 15161) builds on nmos-cpp's BCP-008 API, which Sony reshaped after our last merge (sony#511: extensible status monitors, the internal status functions removed from control_protocol_utils.h; sony#527: consolidated). Merging first avoids building on the API that's going away.

Explanation
Sony's master at b6c8367 (2026-10-05) merged into bisect, as 566a54b, with no conflicts: the fork's USB, HEVC and lazy-schema changes are untouched (the USB schemas are in IS-05's v1.1.x, which upstream's v1.2-dev → v1.2.x rename doesn't touch). It brings:

The dependencies (conanfile.txt) are unchanged.

Tests
None added.

Checked
Built through bisect-cpp-av's Conan recipe (cci.20261005-v1), with bisect-cpp-av's tests (183 passed) and BISECT NMOS's CI (build, packages, installed-packages check), and its Rust end-to-end tests with a licence, on direct and daemon nodes. nmos-cpp's own unit tests weren't run (the recipe doesn't build them).

Documents
None.

Related PRs

  • bisect-cpp-av: 15164-nmos-cpp-sony-2026-10-05 (the recipe at this commit).
  • bisect-nmos (Azure DevOps): PR 5266.

garethsb and others added 18 commits July 29, 2026 13:43
…sony#514)

* Add configurable RTP parameter sets

* Support RTCP in SDP parsing and generation

Parse and generate the RFC 3605 a=rtcp attribute, including the
port-only form, and round-trip it through IS-05 transport parameters.

Co-authored-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>

* Extend resolveAuto tests with sender and receiver FEC coverage

* Use flag enums for optional RTP parameter sets

Replace bool structs with bitmask enums (match_flag_type style) so
call sites can OR named sets instead of positional bools. No-arg
factories keep historical defaults (sender core-only; receiver
multicast). Expand factory tests for schema-aligned staged defaults.

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>

---------

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
Co-authored-by: Thang Luu <thangldw@gmail.com>
Co-authored-by: Simon Lo <simon.lo@sony.com>
Parse and generate fec-source-flow, fec-repair-flow, and repair-window.
Use digits_converter for DIGIT fields, and an optional trailing
object_converter field so m= format lists may be omitted.
Map FEC transport parameters to RFC 6364 SDP attributes.
Require resolved fec_mode ("1D"/"2D") when creating SDP.
Parse concrete fec_mode from repair-flow count; leave unused
fec2D_destination_port as "auto". Resolve receiver staged
fec_mode auto from /constraints as the highest available
number of dimensions.

Co-authored-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
…#516)

A failed insert whose id matched an existing resource (e.g. a device
reusing a node id) still added that id to the super-resource's
sub_resources before the insert was rejected, leaving a self-reference
that made set_resource_health and erase_resource recurse without bound.

Only update the super-resource after a successful insert or replace.
Closes sony#403.

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
* Fix directory traversal attempts by banning URL paths containing `/..` and `\`
* Refactor BCP-008 implementation to streamline the control protocol's handling of monitor domains.

* Enhance receiver monitor domains by adding detailed comments and restructuring the initialization for better clarity and maintainability.

* Add is_receiver_monitor function to control_protocol_utils

* Rename insert method to insert_monitor_domains for clarity in control_protocol_state class; update corresponding header and test cases to reflect the new method name.

* Remove internal status monitor functions from API

* Add comment to node_implementation_init for custom status monitor example

* Move get_monitor_domains_handler to control protocol handlers
RFC 4855 treats RTP encoding names and fmtp parameter names as
case-insensitive. Accept mixed-case rtpmap/fmtp while keeping
operator== exact for stored and configured media types, and expose
equals_media_type for SDP-derived comparisons.

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
* Add support for negative logging categories in the log gateway

Categories prefixed with '!' in the logging_categories setting specify
messages that should not be written to the error log. A negative match
takes precedence over any positive match, and when only negative
categories are specified, all other messages remain pertinent, so e.g.
["!access"] logs everything except access messages.

Behaviour is unchanged when logging_categories is omitted (everything
is logged), empty (nothing is logged), or contains only positive
categories.

Closes sony#338

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Treat "!" as negated empty logging category

Complete the negative-prefix rule for uncategorized messages, align
example config comments with settings.h, and add coverage for same-
category positive/negative conflict.

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>

---------

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
Co-authored-by: ZayanKhan-12 <108294002+ZayanKhan-12@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* Fix invalid node interface port IDs

* Use regex for node interface port ID validation
AMWA has published IS-05 v1.2 and BCP-007-03 v1.0. Pin the embedded
schemas and internal URIs to v1.2.x, copy the published leftovers and
MXL param schemas bit-for-bit (including mxl_uuid.json), and point MXL
comments at the v1.0.x docs.

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
Implement GET/PATCH of resource label, description and tags on the Node,
with a default merger that treats BCP-002-01/BCP-002-02 tags as read-only.
Advertise the API as an IS-04 Node service and keep schemas aligned with
is-13 v1.0-dev.

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
The IS-04 service entry omitted authorization, so a client applying the
schema default always treated the API as unauthenticated. Set it from
server_authorization, as the Node API endpoints and other controls do.

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
Implementation of IS-13 NMOS Annotation API
Lock the fssi parse failures already enforced beside ss-fssi, and the
IS-05 transport-parameter cases for groups the mapper skips or rejects.

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
Support RFC 6364 and IS-05 SMPTE 2022-5 FEC SDP (alternative to sony#505)
… status functions into a single set_monitor_status_internal function. Update related tests to reflect this change and remove deprecated internal functions for clarity.
BCP-008: remove redundant *_internal setters
Brings BCP-008's reshaped status monitor API (sony#511, sony#527), which
BISECT NMOS's BCP-008 support builds on, IS-13's Annotation API,
IS-05 v1.2's schemas aligned with the published v1.2.x (MXL ids are
lowercase UUIDs), SMPTE 2022-5 FEC and RFC 6364 SDP, RTP parameter
sets and RTCP, and fixes: a path traversal (sony#517), insert_resource
corrupting sub-resources on a rejected insert (sony#516), case-insensitive
SDP names (sony#518). No conflicts with the fork's USB, HEVC and lazy
schema changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@pedro-alves-ferreira
pedro-alves-ferreira deleted the 15164-sony-master-2026-10-05 branch October 31, 2026 16:12
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.

6 participants