Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gstreamer
gstreamer
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 405
    • Issues 405
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 80
    • Merge Requests 80
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GStreamer
  • gstreamergstreamer
  • Merge Requests
  • !532

Merged
Opened Jun 16, 2020 by Thibault Saunier@thiblahute🌵Maintainer

structure: Add support for brackets as nested structures/caps specifiers

  • Overview 33
  • Commits 3
  • Pipelines 33
  • Changes 11

This introduces a more human friendly syntax to specify nested structures It does so by using 2 different markers for opening and closing them instead of abusing quotes which lead to requiring an insane amount of escaping to match nesting levels.

The brackets ([ and ]) have been chosen as they avoid complex constructions with curly brackets (or lower/higher than signs) where you could have structures embedded inside arrays (which also use curly brackets), ie. s, array=(structure){{struct}} should be parsed as an array of structures, but the cast seems to imply something different. We do not have this issue with brackets as they are currently used for ranges, which can only be casted to numeric types.

This commit does not make use of that new syntax for serialization as that would break backward compatibility, so it is basically a 'sugar' syntax for humans. A notice has been explicitly made in the documentation to let the user know about it.

Edited Sep 10, 2020 by Thibault Saunier
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: gstreamer/gstreamer!532
Source branch: serialize_nestedstructs