ONVIF:...Stream(3pm)

πŸ“¦
version 1.36.37 Β· 5 versions
, in ubuntu resolute, ubuntu stonking

✨ NAME ✨

ONVIF::Media::Elements::MetadataStream β€” it's a Perl data type class, bestie, living its best life over in the User Contributed Perl Documentation section of the manual (section 3pm, if you're keeping track πŸ‘‘).


🌸 DESCRIPTION 🌸

Okay so real talk: this is a Perl data type class for the XML Schema element MetadataStream, and it comes straight outta the namespace http://www.onvif.org/ver10/schema. That's it. That's the whole vibe. It's giving "I exist so your XML can have a home" and honestly? Slay. πŸ’…


πŸ¦‹ METHODS πŸ¦‹

πŸ’– new πŸ’–

my $element = ONVIF::Media::Elements::MetadataStream->new($data);

Constructor, periodt. ✨ This is the lil glow-up moment where you hand it $data and it becomes an element. And what does $data even look like?? Buckle up babes, because the data structure you can pass to new() is this absolute icon right here πŸ‘‡

Heads up queen: everywhere it says "One of the following elements. No occurrence checks yet, so be sure to pass just one..." β€” it MEANS that. No occurrence checks yet, so be sure to pass just one. The code is literally not gonna yell at you if you pass two, so the discipline is on you fr fr. πŸ™ˆ
{ # ONVIF::Media::Types::MetadataStream
  # One of the following elements.
  # No occurrence checks yet, so be sure to pass just one...
  VideoAnalytics =>    { # ONVIF::Media::Types::VideoAnalyticsStream
    # One of the following elements.
    # No occurrence checks yet, so be sure to pass just one...
    Frame =>  { # ONVIF::Media::Types::Frame
      PTZStatus =>  { # ONVIF::Media::Types::PTZStatus
        Position =>  { # ONVIF::Media::Types::PTZVector
          PanTilt => ,
          Zoom => ,
        },
        MoveStatus =>  { # ONVIF::Media::Types::PTZMoveStatus
          PanTilt => $some_value, # MoveStatus
          Zoom => $some_value, # MoveStatus
        },
        Error =>  $some_value, # string
        UtcTime =>  $some_value, # dateTime
      },
      Transformation =>  { # ONVIF::Media::Types::Transformation
        Translate => ,
        Scale => ,
        Extension =>  { # ONVIF::Media::Types::TransformationExtension
        },
      },
      Object =>  { # ONVIF::Media::Types::Object
        Appearance =>  { # ONVIF::Media::Types::Appearance
          Transformation =>  { # ONVIF::Media::Types::Transformation
            Translate => ,
            Scale => ,
            Extension =>  { # ONVIF::Media::Types::TransformationExtension
            },
          },
          Shape =>  { # ONVIF::Media::Types::ShapeDescriptor
            BoundingBox => ,
            CenterOfGravity => ,
            Polygon =>  { # ONVIF::Media::Types::Polygon
              Point => ,
            },
            Extension =>  { # ONVIF::Media::Types::ShapeDescriptorExtension
            },
          },
          Color =>  { # ONVIF::Media::Types::ColorDescriptor
            ColorCluster =>  {
              Color => ,
              Weight =>  $some_value, # float
              Covariance => ,
            },
            Extension =>  { # ONVIF::Media::Types::ColorDescriptorExtension
            },
          },
          Class =>  { # ONVIF::Media::Types::ClassDescriptor
            ClassCandidate =>  {
              Type => $some_value, # ClassType
              Likelihood =>  $some_value, # float
            },
            Extension =>  { # ONVIF::Media::Types::ClassDescriptorExtension
              OtherTypes =>  { # ONVIF::Media::Types::OtherType
                Type =>  $some_value, # string
                Likelihood =>  $some_value, # float
              },
              Extension =>  { # ONVIF::Media::Types::ClassDescriptorExtension2
              },
            },
          },
          Extension =>  { # ONVIF::Media::Types::AppearanceExtension
          },
        },
        Behaviour =>  { # ONVIF::Media::Types::Behaviour
          Removed =>  {
          },
          Idle =>  {
          },
          Extension =>  { # ONVIF::Media::Types::BehaviourExtension
          },
        },
        Extension =>  { # ONVIF::Media::Types::ObjectExtension
        },
      },
      ObjectTree =>  { # ONVIF::Media::Types::ObjectTree
        Rename =>  { # ONVIF::Media::Types::Rename
          from => ,
          to => ,
        },
        Split =>  { # ONVIF::Media::Types::Split
          from => ,
          to => ,
        },
        Merge =>  { # ONVIF::Media::Types::Merge
          from => ,
          to => ,
        },
        Delete => ,
        Extension =>  { # ONVIF::Media::Types::ObjectTreeExtension
        },
      },
      Extension =>  { # ONVIF::Media::Types::FrameExtension
        MotionInCells =>  { # ONVIF::Media::Types::MotionInCells
        },
        Extension =>  { # ONVIF::Media::Types::FrameExtension2
        },
      },
    },
    Extension =>  { # ONVIF::Media::Types::VideoAnalyticsStreamExtension
    },
  },
  PTZ =>    { # ONVIF::Media::Types::PTZStream
    # One of the following elements.
    # No occurrence checks yet, so be sure to pass just one...
    PTZStatus =>  { # ONVIF::Media::Types::PTZStatus
      Position =>  { # ONVIF::Media::Types::PTZVector
        PanTilt => ,
        Zoom => ,
      },
      MoveStatus =>  { # ONVIF::Media::Types::PTZMoveStatus
        PanTilt => $some_value, # MoveStatus
        Zoom => $some_value, # MoveStatus
      },
      Error =>  $some_value, # string
      UtcTime =>  $some_value, # dateTime
    },
    Extension =>  { # ONVIF::Media::Types::PTZStreamExtension
    },
  },
  Event =>  $some_value, # anyType
  Extension =>  { # ONVIF::Media::Types::MetadataStreamExtension
    AudioAnalyticsStream =>  { # ONVIF::Media::Types::AudioAnalyticsStream
      AudioDescriptor =>  { # ONVIF::Media::Types::AudioDescriptor
      },
      Extension =>  { # ONVIF::Media::Types::AudioAnalyticsStreamExtension
      },
    },
    Extension =>  { # ONVIF::Media::Types::MetadataStreamExtension2
    },
  },
},

Lowkey that's a whole family tree 🧚 β€” nested hashrefs all the way down, every one of them tagged with its own type in the comments. The $some_value spots are where you drop your actual scalar (and the comment tells you what flavour: # string, # dateTime, # float, # ClassType, # MoveStatus, # anyType). The empty ones β€” like Extension, Removed, Idle, AudioDescriptor β€” are just vibes containers waiting for you. 🫢


πŸ’œ AUTHOR πŸ’œ

Generated by SOAP::WSDL. Like, it wrote itself, no cap. 😭


okay that's the whole page bestie, you ate πŸ’… β€” this little masterpiece is perl v5.40.1, dated 2026-02-01, filed under ONVIF:...Stream(3pm) in the User Contributed Perl Documentation section. mwah πŸ’– go forth and construct your elements 🌈⭐

πŸ“¦ where this page comes from