Repository navigation
Sony's master of 2026-10-05 is merged into bisect - #4
Closed
pedro-alves-ferreira wants to merge 18 commits into
Closed
pedro-alves-ferreira wants to merge 18 commits into
pedro-alves-ferreira wants to merge 18 commits into
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
masteratb6c8367(2026-10-05) merged intobisect, as566a54b, with no conflicts: the fork's USB, HEVC and lazy-schema changes are untouched (the USB schemas are in IS-05'sv1.1.x, which upstream'sv1.2-dev→v1.2.xrename doesn't touch). It brings:autoor null);insert_resourcecorrupting sub-resources on a rejected insert (Fix insert_resource corrupting sub_resources on rejected insert sony/nmos-cpp#516), SDP encoding and fmtp names compared case-insensitively (Parse SDP encoding names and fmtp names case-insensitively sony/nmos-cpp#518), invalid Node interface port IDs (Fall back for invalid Node interface port IDs sony/nmos-cpp#520).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
15164-nmos-cpp-sony-2026-10-05(the recipe at this commit).