ONVIF::...taStream(3)

πŸ“¦ version 1.38.6, in nixpkgs unstable

πŸ’– ONVIF::...taStream(3) β€” like, the whole page, bestie πŸ’–

okay so real talk: this is a page from the User Contributed Perl Documentation manual, and the actual star of the show is ONVIF::Media::Types::MetadataStream. The short name up top gets abbreviated to ONVIF::...taStream(3) because man page headers are dramatic like that, but the class you're actually loading? Full name, no nicknames. πŸ’…


✨ NAME ✨

ONVIF::Media::Types::MetadataStream β€” bestie, that's the whole name, that's the whole vibe. 🫢


🌸 DESCRIPTION 🌸

It's a Perl data type class for the XML Schema–defined complexType MetadataStream, and it lives in the namespace http://www.onvif.org/ver10/schema. no cap, that's literally it. it's giving "I'm just a humble little type class" but it's carrying a lot of nested structure, so buckle up. πŸ¦‹

πŸŽ€ PROPERTIES πŸŽ€

these are the properties you can touch, and the way you touch them is with the get_PROPERTY / set_PROPERTY methods. iconic accessor behavior, we love to see it:

  • VideoAnalytics
  • PTZ
  • Event
  • Extension

four properties, zero drama. (the drama is all in the constructor. you'll see.) 😭


πŸ”₯ METHODS πŸ”₯

πŸ‘‘ new

constructor time!! here's the data structure you may pass to new(). heads up: it's a big one, so I'm giving it to you exactly as it comes β€” every comment, every nested type, every $some_value, untouched. this is the sacred scroll. ⭐

 { # 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
     },
   },
 },
⚠️ okay bestie, read this part twice: see those # One of the following elements. comments? that means it's a pick one situation. and the docs are real with you β€” "No occurrence checks yet, so be sure to pass just one..." β€” so the module is not gonna catch you if you pass more than one. that's on you, babe. be the responsible main character. πŸ’€

also do not come for me about every $some_value and the little trailing # float, # string, # dateTime, # anyType, # ClassType, # MoveStatus comments β€” I copied them exactly, character for character, because the facts do not get the vibe treatment. πŸ’œ


🧚 AUTHOR 🧚

Generated by SOAP::WSDL. that's it, that's the author section. it was born from the machine, and honestly? respect. 🌈


and that's the whole page, bestie!! πŸŽ€ this lil' gem is page ONVIF::...taStream(3) from perl v5.42.3, dated 1980-01-01 (yes, that 1980-01-01, the classic timestamp of legend πŸ™ˆ), living happily inside the User Contributed Perl Documentation. go forth and nest your hashes responsibly. mwah. πŸ’–βœ¨

πŸ“¦ where this page comes from