media2

package
v0.0.0-...-2ce4e84 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddConfiguration

type AddConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl AddConfiguration"`

	// Reference to the profile where the configuration should be added
	ProfileToken *onvif.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// Optional item. If present updates the Name property of the profile.
	Name *xsd.Name `xml:"Name,omitempty" json:"Name,omitempty"`

	//
	// List of configurations to be added. The types shall be provided in the order defined by tr2:ConfigurationEnumeration. List entries with tr2:ConfigurationEnumeration value "All" shall be ignored.
	//
	Configuration []*ConfigurationRef `xml:"Configuration,omitempty" json:"Configuration,omitempty"`
}

type AddConfigurationResponse

type AddConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl AddConfigurationResponse"`
}

type Capabilities

type Capabilities Capabilities2

type Capabilities2

type Capabilities2 struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl Capabilities"`

	// Media profile capabilities.
	ProfileCapabilities *ProfileCapabilities `xml:"ProfileCapabilities,omitempty" json:"ProfileCapabilities,omitempty"`

	// Streaming capabilities.
	StreamingCapabilities *StreamingCapabilities `xml:"StreamingCapabilities,omitempty" json:"StreamingCapabilities,omitempty"`

	Items []string `xml:",any" json:"items,omitempty"`

	SnapshotUri bool `xml:"http://www.onvif.org/ver20/media/wsdl SnapshotUri,attr,omitempty" json:"SnapshotUri,omitempty"`

	Rotation bool `xml:"http://www.onvif.org/ver20/media/wsdl Rotation,attr,omitempty" json:"Rotation,omitempty"`

	VideoSourceMode bool `xml:"http://www.onvif.org/ver20/media/wsdl VideoSourceMode,attr,omitempty" json:"VideoSourceMode,omitempty"`

	OSD bool `xml:"http://www.onvif.org/ver20/media/wsdl OSD,attr,omitempty" json:"OSD,omitempty"`

	TemporaryOSDText bool `xml:"http://www.onvif.org/ver20/media/wsdl TemporaryOSDText,attr,omitempty" json:"TemporaryOSDText,omitempty"`

	Mask bool `xml:"http://www.onvif.org/ver20/media/wsdl Mask,attr,omitempty" json:"Mask,omitempty"`

	SourceMask bool `xml:"http://www.onvif.org/ver20/media/wsdl SourceMask,attr,omitempty" json:"SourceMask,omitempty"`
}

type ConfigurationEnumeration

type ConfigurationEnumeration string
const (
	ConfigurationEnumerationAll ConfigurationEnumeration = "All"

	ConfigurationEnumerationVideoSource ConfigurationEnumeration = "VideoSource"

	ConfigurationEnumerationVideoEncoder ConfigurationEnumeration = "VideoEncoder"

	ConfigurationEnumerationAudioSource ConfigurationEnumeration = "AudioSource"

	ConfigurationEnumerationAudioEncoder ConfigurationEnumeration = "AudioEncoder"

	ConfigurationEnumerationAudioOutput ConfigurationEnumeration = "AudioOutput"

	ConfigurationEnumerationAudioDecoder ConfigurationEnumeration = "AudioDecoder"

	ConfigurationEnumerationMetadata ConfigurationEnumeration = "Metadata"

	ConfigurationEnumerationAnalytics ConfigurationEnumeration = "Analytics"

	ConfigurationEnumerationPTZ ConfigurationEnumeration = "PTZ"

	ConfigurationEnumerationReceiver ConfigurationEnumeration = "Receiver"
)

type ConfigurationRef

type ConfigurationRef struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl Configuration"`

	// Type of the configuration as defined by tr2:ConfigurationEnumeration.
	Type string `xml:"Type,omitempty" json:"Type,omitempty"`

	// Reference token of an existing configuration.
	// Token shall be included in the AddConfiguration request along with the type.
	// Token shall be included in the CreateProfile request when Configuration elements are included and type is selected.
	// Token is optional for RemoveConfiguration request. If no token is provided in RemoveConfiguration request, device shall
	// remove the configuration of the type included in the profile.
	Token *onvif.ReferenceToken `xml:"Token,omitempty" json:"Token,omitempty"`
}

type ConfigurationSet

type ConfigurationSet struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl Configurations"`

	// Optional configuration of the Video input.
	VideoSource *onvif.VideoSourceConfiguration `xml:"VideoSource,omitempty" json:"VideoSource,omitempty"`

	// Optional configuration of the Audio input.
	AudioSource *onvif.AudioSourceConfiguration `xml:"AudioSource,omitempty" json:"AudioSource,omitempty"`

	// Optional configuration of the Video encoder.
	VideoEncoder *onvif.VideoEncoder2Configuration `xml:"VideoEncoder,omitempty" json:"VideoEncoder,omitempty"`

	// Optional configuration of the Audio encoder.
	AudioEncoder *onvif.AudioEncoder2Configuration `xml:"AudioEncoder,omitempty" json:"AudioEncoder,omitempty"`

	// Optional configuration of the analytics module and rule engine.
	Analytics *onvif.VideoAnalyticsConfiguration `xml:"Analytics,omitempty" json:"Analytics,omitempty"`

	// Optional configuration of the pan tilt zoom unit.
	PTZ *onvif.PTZConfiguration `xml:"PTZ,omitempty" json:"PTZ,omitempty"`

	// Optional configuration of the metadata stream.
	Metadata *onvif.MetadataConfiguration `xml:"Metadata,omitempty" json:"Metadata,omitempty"`

	// Optional configuration of the Audio output.
	AudioOutput *onvif.AudioOutputConfiguration `xml:"AudioOutput,omitempty" json:"AudioOutput,omitempty"`

	// Optional configuration of the Audio decoder.
	AudioDecoder *onvif.AudioDecoderConfiguration `xml:"AudioDecoder,omitempty" json:"AudioDecoder,omitempty"`

	// Optional configuration of the Receiver.
	Receiver *ReceiverConfiguration `xml:"Receiver,omitempty" json:"Receiver,omitempty"`

	Items []string `xml:",any" json:"items,omitempty"`
}

type CreateMask

type CreateMask struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl CreateMask"`

	// Contain the initial mask configuration for create.
	Mask *Mask `xml:"Mask,omitempty" json:"Mask,omitempty"`
}

type CreateMaskResponse

type CreateMaskResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl CreateMaskResponse"`

	// Returns Token of the newly created Mask
	Token *onvif.ReferenceToken `xml:"Token,omitempty" json:"Token,omitempty"`
}

type CreateOSD

type CreateOSD struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl CreateOSD"`

	// Contain the initial OSD configuration for create.
	OSD *onvif.OSDConfiguration `xml:"OSD,omitempty" json:"OSD,omitempty"`
}

type CreateOSDResponse

type CreateOSDResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl CreateOSDResponse"`

	// Returns Token of the newly created OSD
	OSDToken *onvif.ReferenceToken `xml:"OSDToken,omitempty" json:"OSDToken,omitempty"`
}

type CreateProfile

type CreateProfile struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl CreateProfile"`

	// friendly name of the profile to be created
	Name *xsd.Name `xml:"Name,omitempty" json:"Name,omitempty"`

	// Optional set of configurations to be assigned to the profile. List entries with tr2:ConfigurationEnumeration value "All" shall be ignored.
	Configuration []*ConfigurationRef `xml:"Configuration,omitempty" json:"Configuration,omitempty"`
}

type CreateProfileResponse

type CreateProfileResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl CreateProfileResponse"`

	// Token assigned by the device for the newly created profile.
	Token *onvif.ReferenceToken `xml:"Token,omitempty" json:"Token,omitempty"`
}

type DeleteMask

type DeleteMask struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl DeleteMask"`

	// This element contains a reference to the Mask configuration that should be deleted.
	Token *onvif.ReferenceToken `xml:"Token,omitempty" json:"Token,omitempty"`
}

type DeleteMaskResponse

type DeleteMaskResponse SetConfigurationResponse

type DeleteOSD

type DeleteOSD struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl DeleteOSD"`

	// This element contains a reference to the OSD configuration that should be deleted.
	OSDToken *onvif.ReferenceToken `xml:"OSDToken,omitempty" json:"OSDToken,omitempty"`
}

type DeleteOSDResponse

type DeleteOSDResponse SetConfigurationResponse

type DeleteProfile

type DeleteProfile struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl DeleteProfile"`

	// This element contains a  reference to the profile that should be deleted.
	Token *onvif.ReferenceToken `xml:"Token,omitempty" json:"Token,omitempty"`
}

type DeleteProfileResponse

type DeleteProfileResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl DeleteProfileResponse"`
}

type EncoderInstance

type EncoderInstance struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl Codec"`

	// Video Media Subtype for the video format. For definitions see tt:VideoEncodingMimeNames and .
	Encoding string `xml:"Encoding,omitempty" json:"Encoding,omitempty"`

	// The minimum guaranteed number of encoder instances (applications) for the VideoSourceConfiguration.
	Number int32 `xml:"Number,omitempty" json:"Number,omitempty"`
}

type EncoderInstanceInfo

type EncoderInstanceInfo struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl Info"`

	// If a device limits the number of instances for respective Video Codecs the response contains the information how many streams can be set up at the same time per VideoSource.
	Codec []*EncoderInstance `xml:"Codec,omitempty" json:"Codec,omitempty"`

	// The minimum guaranteed total number of encoder instances (applications) per VideoSourceConfiguration. The device is able to deliver the Total number of streams
	Total int32 `xml:"Total,omitempty" json:"Total,omitempty"`

	Items []string `xml:",any" json:"items,omitempty"`
}

type GetAnalyticsConfigurations

type GetAnalyticsConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAnalyticsConfigurations"`
	GetConfiguration
}

type GetAnalyticsConfigurationsResponse

type GetAnalyticsConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAnalyticsConfigurationsResponse"`

	// This element contains a list of Analytics configurations.
	Configurations []*onvif.VideoAnalyticsConfiguration `xml:"Configurations,omitempty" json:"Configurations,omitempty"`
}

type GetAudioDecoderConfigurationOptions

type GetAudioDecoderConfigurationOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioDecoderConfigurationOptions"`
	GetConfiguration
}

type GetAudioDecoderConfigurationOptionsResponse

type GetAudioDecoderConfigurationOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioDecoderConfigurationOptionsResponse"`

	// This message contains the audio decoder configuration options. If a audio decoder configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device.
	Options []*onvif.AudioEncoder2ConfigurationOptions `xml:"Options,omitempty" json:"Options,omitempty"`
}

type GetAudioDecoderConfigurations

type GetAudioDecoderConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioDecoderConfigurations"`
	GetConfiguration
}

type GetAudioDecoderConfigurationsResponse

type GetAudioDecoderConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioDecoderConfigurationsResponse"`

	// This element contains a list of audio decoder configurations
	Configurations []*onvif.AudioDecoderConfiguration `xml:"Configurations,omitempty" json:"Configurations,omitempty"`
}

type GetAudioEncoderConfigurationOptions

type GetAudioEncoderConfigurationOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioEncoderConfigurationOptions"`
	GetConfiguration
}

type GetAudioEncoderConfigurationOptionsResponse

type GetAudioEncoderConfigurationOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioEncoderConfigurationOptionsResponse"`

	// This message contains the audio encoder configuration options. If a audio encoder configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device.
	Options []*onvif.AudioEncoder2ConfigurationOptions `xml:"Options,omitempty" json:"Options,omitempty"`
}

type GetAudioEncoderConfigurations

type GetAudioEncoderConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioEncoderConfigurations"`
	GetConfiguration
}

type GetAudioEncoderConfigurationsResponse

type GetAudioEncoderConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioEncoderConfigurationsResponse"`

	// This element contains a list of audio encoder configurations.
	Configurations []*onvif.AudioEncoder2Configuration `xml:"Configurations,omitempty" json:"Configurations,omitempty"`
}

type GetAudioOutputConfigurationOptions

type GetAudioOutputConfigurationOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioOutputConfigurationOptions"`
	GetConfiguration
}

type GetAudioOutputConfigurationOptionsResponse

type GetAudioOutputConfigurationOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioOutputConfigurationOptionsResponse"`

	// This message contains the audio output configuration options. If a audio output configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device.
	Options *onvif.AudioOutputConfigurationOptions `xml:"Options,omitempty" json:"Options,omitempty"`
}

type GetAudioOutputConfigurations

type GetAudioOutputConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioOutputConfigurations"`
	GetConfiguration
}

type GetAudioOutputConfigurationsResponse

type GetAudioOutputConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioOutputConfigurationsResponse"`

	// This element contains a list of audio output configurations
	Configurations []*onvif.AudioOutputConfiguration `xml:"Configurations,omitempty" json:"Configurations,omitempty"`
}

type GetAudioSourceConfigurationOptions

type GetAudioSourceConfigurationOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioSourceConfigurationOptions"`
	GetConfiguration
}

type GetAudioSourceConfigurationOptionsResponse

type GetAudioSourceConfigurationOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioSourceConfigurationOptionsResponse"`

	// This message contains the audio source configuration options. If a audio source configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device.
	Options *onvif.AudioSourceConfigurationOptions `xml:"Options,omitempty" json:"Options,omitempty"`
}

type GetAudioSourceConfigurations

type GetAudioSourceConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioSourceConfigurations"`
	GetConfiguration
}

type GetAudioSourceConfigurationsResponse

type GetAudioSourceConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetAudioSourceConfigurationsResponse"`

	// This element contains a list of audio source configurations.
	Configurations []*onvif.AudioSourceConfiguration `xml:"Configurations,omitempty" json:"Configurations,omitempty"`
}

type GetConfiguration

type GetConfiguration struct {

	// Token of the requested configuration.
	ConfigurationToken *onvif.ReferenceToken `xml:"ConfigurationToken,omitempty" json:"ConfigurationToken,omitempty"`

	// Contains the token of an existing media profile the configurations shall be compatible with.
	ProfileToken *onvif.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type GetMaskOptions

type GetMaskOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetMaskOptions"`

	// Video Source Configuration Token that specifies an existing video source configuration that the options shall be compatible with.
	ConfigurationToken *onvif.ReferenceToken `xml:"ConfigurationToken,omitempty" json:"ConfigurationToken,omitempty"`
}

type GetMaskOptionsResponse

type GetMaskOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetMaskOptionsResponse"`

	Options *MaskOptions `xml:"Options,omitempty" json:"Options,omitempty"`
}

type GetMasks

type GetMasks struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetMasks"`

	// Optional mask token of an existing mask.
	Token *onvif.ReferenceToken `xml:"Token,omitempty" json:"Token,omitempty"`

	// Optional token of a Video Source Configuration.
	ConfigurationToken *onvif.ReferenceToken `xml:"ConfigurationToken,omitempty" json:"ConfigurationToken,omitempty"`
}

type GetMasksResponse

type GetMasksResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetMasksResponse"`

	// List of Mask configurations.
	Masks []*Mask `xml:"Masks,omitempty" json:"Masks,omitempty"`
}

type GetMetadataConfigurationOptions

type GetMetadataConfigurationOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetMetadataConfigurationOptions"`
	GetConfiguration
}

type GetMetadataConfigurationOptionsResponse

type GetMetadataConfigurationOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetMetadataConfigurationOptionsResponse"`

	// This message contains the metadata configuration options. If a metadata configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device.
	Options *onvif.MetadataConfigurationOptions `xml:"Options,omitempty" json:"Options,omitempty"`
}

type GetMetadataConfigurations

type GetMetadataConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetMetadataConfigurations"`
	GetConfiguration
}

type GetMetadataConfigurationsResponse

type GetMetadataConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetMetadataConfigurationsResponse"`

	// This element contains a list of metadata configurations
	Configurations []*onvif.MetadataConfiguration `xml:"Configurations,omitempty" json:"Configurations,omitempty"`
}

type GetOSDOptions

type GetOSDOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetOSDOptions"`

	// Video Source Configuration Token that specifies an existing video source configuration that the options shall be compatible with.
	ConfigurationToken *onvif.ReferenceToken `xml:"ConfigurationToken,omitempty" json:"ConfigurationToken,omitempty"`
}

type GetOSDOptionsResponse

type GetOSDOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetOSDOptionsResponse"`

	OSDOptions *onvif.OSDConfigurationOptions `xml:"OSDOptions,omitempty" json:"OSDOptions,omitempty"`
}

type GetOSDs

type GetOSDs struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetOSDs"`

	// The GetOSDs command fetches the OSD configuration if the OSD token is known.
	OSDToken *onvif.ReferenceToken `xml:"OSDToken,omitempty" json:"OSDToken,omitempty"`

	// Token of the Video Source Configuration, which has OSDs associated with are requested. If token not exist, request all available OSDs.
	ConfigurationToken *onvif.ReferenceToken `xml:"ConfigurationToken,omitempty" json:"ConfigurationToken,omitempty"`
}

type GetOSDsResponse

type GetOSDsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetOSDsResponse"`

	// This element contains a list of requested OSDs.
	OSDs []*onvif.OSDConfiguration `xml:"OSDs,omitempty" json:"OSDs,omitempty"`
}

type GetProfiles

type GetProfiles struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetProfiles"`

	// Optional token of the requested profile.
	Token *onvif.ReferenceToken `xml:"Token,omitempty" json:"Token,omitempty"`

	// The types shall be provided as defined by tr2:ConfigurationEnumeration.
	Type []string `xml:"Type,omitempty" json:"Type,omitempty"`
}

type GetProfilesResponse

type GetProfilesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetProfilesResponse"`

	// Lists all profiles that exist in the media service. The response provides the requested types of Configurations as far as available.
	// If a profile doesn't contain a type no error shall be provided.
	Profiles []*MediaProfile `xml:"Profiles,omitempty" json:"Profiles,omitempty"`
}

type GetServiceCapabilities

type GetServiceCapabilities struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetServiceCapabilities"`
}

type GetServiceCapabilitiesResponse

type GetServiceCapabilitiesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetServiceCapabilitiesResponse"`

	// The capabilities for the media service is returned in the Capabilities element.
	Capabilities *Capabilities2 `xml:"Capabilities,omitempty" json:"Capabilities,omitempty"`
}

type GetSnapshotUri

type GetSnapshotUri struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetSnapshotUri"`

	// The ProfileToken element indicates the media profile to use and will define the source and dimensions of the snapshot.
	ProfileToken *onvif.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type GetSnapshotUriResponse

type GetSnapshotUriResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetSnapshotUriResponse"`

	// Stable Uri to be used for requesting snapshot images.
	Uri xsd.AnyURI `xml:"Uri,omitempty" json:"Uri,omitempty"`
}

type GetStreamUri

type GetStreamUri struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetStreamUri"`

	// Defines the network protocol for streaming as defined by tr2:TransportProtocol
	Protocol string `xml:"Protocol,omitempty" json:"Protocol,omitempty"`

	// The ProfileToken element indicates the media profile to use and will define the configuration of the content of the stream.
	ProfileToken *onvif.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type GetStreamUriResponse

type GetStreamUriResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetStreamUriResponse"`

	// Stable Uri to be used for requesting the media stream
	Uri xsd.AnyURI `xml:"Uri,omitempty" json:"Uri,omitempty"`
}

type GetVideoEncoderConfigurationOptions

type GetVideoEncoderConfigurationOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoEncoderConfigurationOptions"`
	GetConfiguration
}

type GetVideoEncoderConfigurationOptionsResponse

type GetVideoEncoderConfigurationOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoEncoderConfigurationOptionsResponse"`

	Options []*onvif.VideoEncoder2ConfigurationOptions `xml:"Options,omitempty" json:"Options,omitempty"`
}

type GetVideoEncoderConfigurations

type GetVideoEncoderConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoEncoderConfigurations"`
	GetConfiguration
}

type GetVideoEncoderConfigurationsResponse

type GetVideoEncoderConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoEncoderConfigurationsResponse"`

	// This element contains a list of video encoder configurations.
	Configurations []*onvif.VideoEncoder2Configuration `xml:"Configurations,omitempty" json:"Configurations,omitempty"`
}

type GetVideoEncoderInstances

type GetVideoEncoderInstances struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoEncoderInstances"`

	// Token of the video source configuration
	ConfigurationToken *onvif.ReferenceToken `xml:"ConfigurationToken,omitempty" json:"ConfigurationToken,omitempty"`
}

type GetVideoEncoderInstancesResponse

type GetVideoEncoderInstancesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoEncoderInstancesResponse"`

	// The minimum guaranteed total number of encoder instances (applications) per VideoSourceConfiguration.
	Info *EncoderInstanceInfo `xml:"Info,omitempty" json:"Info,omitempty"`
}

type GetVideoSourceConfigurationOptions

type GetVideoSourceConfigurationOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoSourceConfigurationOptions"`
	GetConfiguration
}

type GetVideoSourceConfigurationOptionsResponse

type GetVideoSourceConfigurationOptionsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoSourceConfigurationOptionsResponse"`

	// This message contains the video source configuration options. If a video source configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device.
	Options *onvif.VideoSourceConfigurationOptions `xml:"Options,omitempty" json:"Options,omitempty"`
}

type GetVideoSourceConfigurations

type GetVideoSourceConfigurations struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoSourceConfigurations"`
	GetConfiguration
}

type GetVideoSourceConfigurationsResponse

type GetVideoSourceConfigurationsResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoSourceConfigurationsResponse"`

	// This element contains a list of video source configurations.
	Configurations []*onvif.VideoSourceConfiguration `xml:"Configurations,omitempty" json:"Configurations,omitempty"`
}

type GetVideoSourceModes

type GetVideoSourceModes struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoSourceModes"`

	// Contains a video source reference for which a video source mode is requested.
	VideoSourceToken *onvif.ReferenceToken `xml:"VideoSourceToken,omitempty" json:"VideoSourceToken,omitempty"`
}

type GetVideoSourceModesResponse

type GetVideoSourceModesResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl GetVideoSourceModesResponse"`

	// Return the information for specified video source mode.
	VideoSourceModes []*VideoSourceMode `xml:"VideoSourceModes,omitempty" json:"VideoSourceModes,omitempty"`
}

type Mask

type Mask struct {

	// Token of the VideoSourceConfiguration the Mask is associated with.
	ConfigurationToken *onvif.ReferenceToken `xml:"ConfigurationToken,omitempty" json:"ConfigurationToken,omitempty"`

	// Geometric representation of the mask area.
	Polygon *onvif.Polygon `xml:"Polygon,omitempty" json:"Polygon,omitempty"`

	// Type of masking as defined by tr2:MaskType:
	//
	Type string `xml:"Type,omitempty" json:"Type,omitempty"`

	// Color of the masked area.
	Color *onvif.Color `xml:"Color,omitempty" json:"Color,omitempty"`

	// If set the mask will cover the image, otherwise it will be fully transparent.
	Enabled bool `xml:"Enabled,omitempty" json:"Enabled,omitempty"`

	Items []string `xml:",any" json:"items,omitempty"`

	Token *onvif.ReferenceToken `xml:"http://www.onvif.org/ver20/media/wsdl token,attr,omitempty" json:"token,omitempty"`
}

type MaskOptions

type MaskOptions struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl Options"`

	// Maximum supported number of masks per VideoSourceConfiguration.
	MaxMasks int32 `xml:"MaxMasks,omitempty" json:"MaxMasks,omitempty"`

	// Maximum supported number of points per mask.
	MaxPoints int32 `xml:"MaxPoints,omitempty" json:"MaxPoints,omitempty"`

	// Information which types of tr2:MaskType are supported. Valid values are 'Color', 'Pixelated' and 'Blurred'.
	Types []string `xml:"Types,omitempty" json:"Types,omitempty"`

	// Colors supported.
	Color *onvif.ColorOptions `xml:"Color,omitempty" json:"Color,omitempty"`

	Items []string `xml:",any" json:"items,omitempty"`

	RectangleOnly bool `xml:"http://www.onvif.org/ver20/media/wsdl RectangleOnly,attr,omitempty" json:"RectangleOnly,omitempty"`

	SingleColorOnly bool `xml:"http://www.onvif.org/ver20/media/wsdl SingleColorOnly,attr,omitempty" json:"SingleColorOnly,omitempty"`
}

type MaskType

type MaskType string
const (
	MaskTypeColor MaskType = "Color"

	MaskTypePixelated MaskType = "Pixelated"

	MaskTypeBlurred MaskType = "Blurred"
)

type Media2

type Media2 interface {

	/* Returns the capabilities of the media service. The result is returned in a typed answer. */
	GetServiceCapabilities(request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error)

	GetServiceCapabilitiesContext(ctx context.Context, request *GetServiceCapabilities) (*GetServiceCapabilitiesResponse, error)

	/* This operation creates a new media profile.
	A created profile created via this method may be deleted via the DeleteProfile method.
	Optionally Configurations can be assinged to the profile on creation. For details regarding profile assignement
	check also the method AddConfiguration.
	*/
	CreateProfile(request *CreateProfile) (*CreateProfileResponse, error)

	CreateProfileContext(ctx context.Context, request *CreateProfile) (*CreateProfileResponse, error)

	/* Retrieve the profile with the specified token or all defined media profiles.

	 */
	GetProfiles(request *GetProfiles) (*GetProfilesResponse, error)

	GetProfilesContext(ctx context.Context, request *GetProfiles) (*GetProfilesResponse, error)

	/* This operation adds one or more Configurations to an existing media profile. If a
	configuration exists in the media profile, it will be replaced. A device shall
	support adding a compatible Configuration to a Profile containing a VideoSourceConfiguration and shall
	support streaming video data of such a profile.
					Note that OSD elements must be added via the CreateOSD command.
	*/
	AddConfiguration(request *AddConfiguration) (*AddConfigurationResponse, error)

	AddConfigurationContext(ctx context.Context, request *AddConfiguration) (*AddConfigurationResponse, error)

	/* This operation removes the listed configurations from an existing media profile. If the
	media profile does not contain one of the listed configurations that item shall be ignored. */
	RemoveConfiguration(request *RemoveConfiguration) (*RemoveConfigurationResponse, error)

	RemoveConfigurationContext(ctx context.Context, request *RemoveConfiguration) (*RemoveConfigurationResponse, error)

	/* This operation deletes a profile. Deletion of a profile is only possible for non-fixed profiles */
	DeleteProfile(request *DeleteProfile) (*DeleteProfileResponse, error)

	DeleteProfileContext(ctx context.Context, request *DeleteProfile) (*DeleteProfileResponse, error)

	/* By default this operation lists all existing video source configurations for a device. Provide a profile token to list only configurations that are compatible with the profile. If a configuration token is provided only a single configuration will be returned. */
	GetVideoSourceConfigurations(request *GetVideoSourceConfigurations) (*GetVideoSourceConfigurationsResponse, error)

	GetVideoSourceConfigurationsContext(ctx context.Context, request *GetVideoSourceConfigurations) (*GetVideoSourceConfigurationsResponse, error)

	/* By default this operation lists all existing video encoder configurations for a device. Provide a profile token to list only configurations that are compatible with the profile. If a configuration token is provided only a single configuration will be returned. */
	GetVideoEncoderConfigurations(request *GetVideoEncoderConfigurations) (*GetVideoEncoderConfigurationsResponse, error)

	GetVideoEncoderConfigurationsContext(ctx context.Context, request *GetVideoEncoderConfigurations) (*GetVideoEncoderConfigurationsResponse, error)

	/* By default this operation lists all existing audio source configurations for a device. Provide a profile token to list only configurations that are compatible with the profile. If a configuration token is provided only a single configuration will be returned. */
	GetAudioSourceConfigurations(request *GetAudioSourceConfigurations) (*GetAudioSourceConfigurationsResponse, error)

	GetAudioSourceConfigurationsContext(ctx context.Context, request *GetAudioSourceConfigurations) (*GetAudioSourceConfigurationsResponse, error)

	/* By default this operation lists all existing audio encoder configurations for a device. Provide a profile token to list only configurations that are compatible with the profile. If a configuration token is provided only a single configuration will be returned. */
	GetAudioEncoderConfigurations(request *GetAudioEncoderConfigurations) (*GetAudioEncoderConfigurationsResponse, error)

	GetAudioEncoderConfigurationsContext(ctx context.Context, request *GetAudioEncoderConfigurations) (*GetAudioEncoderConfigurationsResponse, error)

	/* By default this operation lists all existing video analytics configurations for a device. Provide a profile token to list only configurations that are compatible with the profile. If a configuration token is provided only a single configuration will be returned. */
	GetAnalyticsConfigurations(request *GetAnalyticsConfigurations) (*GetAnalyticsConfigurationsResponse, error)

	GetAnalyticsConfigurationsContext(ctx context.Context, request *GetAnalyticsConfigurations) (*GetAnalyticsConfigurationsResponse, error)

	/* By default this operation lists all existing metadata configurations for a device. Provide a profile token to list only configurations that are compatible with the profile. If a configuration token is provided only a single configuration will be returned. */
	GetMetadataConfigurations(request *GetMetadataConfigurations) (*GetMetadataConfigurationsResponse, error)

	GetMetadataConfigurationsContext(ctx context.Context, request *GetMetadataConfigurations) (*GetMetadataConfigurationsResponse, error)

	/* By default this operation lists all existing audio output configurations for a device. Provide a profile token to list only configurations that are compatible with the profile. If a configuration token is provided only a single configuration will be returned. */
	GetAudioOutputConfigurations(request *GetAudioOutputConfigurations) (*GetAudioOutputConfigurationsResponse, error)

	GetAudioOutputConfigurationsContext(ctx context.Context, request *GetAudioOutputConfigurations) (*GetAudioOutputConfigurationsResponse, error)

	/* By default this operation lists all existing audio decoder configurations for a device. Provide a profile token to list only configurations that are compatible with the profile. If a configuration token is provided only a single configuration will be returned. */
	GetAudioDecoderConfigurations(request *GetAudioDecoderConfigurations) (*GetAudioDecoderConfigurationsResponse, error)

	GetAudioDecoderConfigurationsContext(ctx context.Context, request *GetAudioDecoderConfigurations) (*GetAudioDecoderConfigurationsResponse, error)

	/* This operation modifies a video source configuration. Running streams using this configuration may be immediately updated according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected stream. NVC methods for changing a running stream are out of scope for this specification. */
	SetVideoSourceConfiguration(request *SetVideoSourceConfiguration) (*SetConfigurationResponse, error)

	SetVideoSourceConfigurationContext(ctx context.Context, request *SetVideoSourceConfiguration) (*SetConfigurationResponse, error)

	/* This operation modifies a video encoder configuration. Running streams using this configuration may be immediately updated according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected stream. NVC methods for changing a running stream are out of scope for this specification. SessionTimeout is provided as a hint for keeping rtsp session by a device. If necessary the device may adapt parameter values for SessionTimeout elements without returning an error. For the time between keep alive calls the client shall adhere to the timeout value signaled via RTSP. */
	SetVideoEncoderConfiguration(request *SetVideoEncoderConfiguration) (*SetConfigurationResponse, error)

	SetVideoEncoderConfigurationContext(ctx context.Context, request *SetVideoEncoderConfiguration) (*SetConfigurationResponse, error)

	/* This operation modifies an audio source configuration. Running streams using this configuration
	may be immediately updated according to the new settings. The changes are not guaranteed
	to take effect unless the client requests a new stream URI and restarts any affected stream
	NVC methods for changing a running stream are out of scope for this specification. */
	SetAudioSourceConfiguration(request *SetAudioSourceConfiguration) (*SetConfigurationResponse, error)

	SetAudioSourceConfigurationContext(ctx context.Context, request *SetAudioSourceConfiguration) (*SetConfigurationResponse, error)

	/* This operation modifies an audio encoder configuration. Running streams using this configuration may be immediately updated
	according to the new settings. The changes are not guaranteed to take effect unless the client
	requests a new stream URI and restarts any affected streams. NVC methods for changing a
	running stream are out of scope for this specification. */
	SetAudioEncoderConfiguration(request *SetAudioEncoderConfiguration) (*SetConfigurationResponse, error)

	SetAudioEncoderConfigurationContext(ctx context.Context, request *SetAudioEncoderConfiguration) (*SetConfigurationResponse, error)

	/* This operation modifies a metadata configuration. Running streams using this configuration may be updated immediately
	according to the new settings. The changes are not guaranteed to take effect unless the client
	requests a new stream URI and restarts any affected streams. NVC methods for changing a
	running stream are out of scope for this specification. */
	SetMetadataConfiguration(request *SetMetadataConfiguration) (*SetConfigurationResponse, error)

	SetMetadataConfigurationContext(ctx context.Context, request *SetMetadataConfiguration) (*SetConfigurationResponse, error)

	/* This operation modifies an audio output configuration. */
	SetAudioOutputConfiguration(request *SetAudioOutputConfiguration) (*SetConfigurationResponse, error)

	SetAudioOutputConfigurationContext(ctx context.Context, request *SetAudioOutputConfiguration) (*SetConfigurationResponse, error)

	/* This operation modifies an audio decoder configuration. */
	SetAudioDecoderConfiguration(request *SetAudioDecoderConfiguration) (*SetConfigurationResponse, error)

	SetAudioDecoderConfigurationContext(ctx context.Context, request *SetAudioDecoderConfiguration) (*SetConfigurationResponse, error)

	/* This operation returns the available options  (supported values and ranges for video source configuration parameters) when the video source parameters are
	reconfigured If a video source configuration is specified, the options shall concern that
	particular configuration. If a media profile is specified, the options shall be compatible with
	that media profile. */
	GetVideoSourceConfigurationOptions(request *GetVideoSourceConfigurationOptions) (*GetVideoSourceConfigurationOptionsResponse, error)

	GetVideoSourceConfigurationOptionsContext(ctx context.Context, request *GetVideoSourceConfigurationOptions) (*GetVideoSourceConfigurationOptionsResponse, error)

	/* This operation returns the available options (supported values and ranges for video encoder
	configuration parameters) when the video encoder parameters are reconfigured.
	This response contains the available video encoder configuration options. If a video encoder configuration is specified,
	the options shall concern that particular configuration. If a media profile is specified, the options shall be
	compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device.
	*/
	GetVideoEncoderConfigurationOptions(request *GetVideoEncoderConfigurationOptions) (*GetVideoEncoderConfigurationOptionsResponse, error)

	GetVideoEncoderConfigurationOptionsContext(ctx context.Context, request *GetVideoEncoderConfigurationOptions) (*GetVideoEncoderConfigurationOptionsResponse, error)

	/* This operation returns the available options (supported values and ranges for audio source configuration parameters) when the audio source parameters are
	reconfigured. If an audio source configuration is specified, the options shall concern that
	particular configuration. If a media profile is specified, the options shall be compatible with
	that media profile. */
	GetAudioSourceConfigurationOptions(request *GetAudioSourceConfigurationOptions) (*GetAudioSourceConfigurationOptionsResponse, error)

	GetAudioSourceConfigurationOptionsContext(ctx context.Context, request *GetAudioSourceConfigurationOptions) (*GetAudioSourceConfigurationOptionsResponse, error)

	/* This operation returns the available options  (supported values and ranges for audio encoder configuration parameters) when the audio encoder parameters are
	reconfigured. */
	GetAudioEncoderConfigurationOptions(request *GetAudioEncoderConfigurationOptions) (*GetAudioEncoderConfigurationOptionsResponse, error)

	GetAudioEncoderConfigurationOptionsContext(ctx context.Context, request *GetAudioEncoderConfigurationOptions) (*GetAudioEncoderConfigurationOptionsResponse, error)

	/* This operation returns the available options (supported values and ranges for metadata configuration parameters) for changing the metadata configuration. */
	GetMetadataConfigurationOptions(request *GetMetadataConfigurationOptions) (*GetMetadataConfigurationOptionsResponse, error)

	GetMetadataConfigurationOptionsContext(ctx context.Context, request *GetMetadataConfigurationOptions) (*GetMetadataConfigurationOptionsResponse, error)

	/* This operation returns the available options (supported values and ranges for audio output configuration parameters) for configuring an audio output. */
	GetAudioOutputConfigurationOptions(request *GetAudioOutputConfigurationOptions) (*GetAudioOutputConfigurationOptionsResponse, error)

	GetAudioOutputConfigurationOptionsContext(ctx context.Context, request *GetAudioOutputConfigurationOptions) (*GetAudioOutputConfigurationOptionsResponse, error)

	/* This command list the audio decoding capabilities for a given profile and configuration of a
	device. */
	GetAudioDecoderConfigurationOptions(request *GetAudioDecoderConfigurationOptions) (*GetAudioDecoderConfigurationOptionsResponse, error)

	GetAudioDecoderConfigurationOptionsContext(ctx context.Context, request *GetAudioDecoderConfigurationOptions) (*GetAudioDecoderConfigurationOptionsResponse, error)

	/* The GetVideoEncoderInstances command can be used to request the
	minimum number of guaranteed video encoder instances (applications) per Video Source
	Configuration. */
	GetVideoEncoderInstances(request *GetVideoEncoderInstances) (*GetVideoEncoderInstancesResponse, error)

	GetVideoEncoderInstancesContext(ctx context.Context, request *GetVideoEncoderInstances) (*GetVideoEncoderInstancesResponse, error)

	/* This operation requests a URI that can be used to initiate a live media stream using RTSP as
	the control protocol. The returned URI shall remain valid indefinitely even if the profile is changed.
	Defined stream types are

	If a multicast stream is requested at least one of VideoEncoder2Configuration, AudioEncoder2Configuration and MetadataConfiguration shall have a valid multicast setting.
	For full compatibility with other ONVIF services a device should not generate Uris longer than
	128 octets. */
	GetStreamUri(request *GetStreamUri) (*GetStreamUriResponse, error)

	GetStreamUriContext(ctx context.Context, request *GetStreamUri) (*GetStreamUriResponse, error)

	/* This command starts multicast streaming using a specified media profile of a device.
	Streaming continues until StopMulticastStreaming is called for the same Profile. The
	streaming shall continue after a reboot of the device until a StopMulticastStreaming request is
	received. The multicast address, port and TTL are configured in the
	VideoEncoderConfiguration, AudioEncoderConfiguration and MetadataConfiguration
	respectively. */
	StartMulticastStreaming(request *StartStopMulticastStreaming) (*SetConfigurationResponse, error)

	StartMulticastStreamingContext(ctx context.Context, request *StartStopMulticastStreaming) (*SetConfigurationResponse, error)

	/* This command stops multicast streaming using a specified media profile of a device */
	StopMulticastStreaming(request *StartStopMulticastStreaming) (*SetConfigurationResponse, error)

	StopMulticastStreamingContext(ctx context.Context, request *StartStopMulticastStreaming) (*SetConfigurationResponse, error)

	/* Synchronization points allow clients to decode and correctly use all data after the
	synchronization point.
	For example, if a video stream is configured with a large I-frame distance and a client loses a
	single packet, the client does not display video until the next I-frame is transmitted. In such
	cases, the client can request a Synchronization Point which enforces the device to add an I-Frame as soon as possible. Clients can request Synchronization Points for profiles. The device
	shall add synchronization points for all streams associated with this profile.
	Similarly, a synchronization point is used to get an update on full PTZ or event status through
	the metadata stream.
	If a video stream is associated with the profile, an I-frame shall be added to this video stream.
	If a PTZ metadata stream is associated to the profile,
	the PTZ position shall be repeated within the metadata stream. */
	SetSynchronizationPoint(request *SetSynchronizationPoint) (*SetSynchronizationPointResponse, error)

	SetSynchronizationPointContext(ctx context.Context, request *SetSynchronizationPoint) (*SetSynchronizationPointResponse, error)

	/* A client uses the GetSnapshotUri command to obtain a JPEG snapshot from the
	device. The returned URI shall remain valid indefinitely even if the profile is changed. The
	ValidUntilConnect, ValidUntilReboot and Timeout Parameter shall be set accordingly
	(ValidUntilConnect=false, ValidUntilReboot=false, timeout=PT0S). The URI can be used for
	acquiring a JPEG image through a HTTP GET operation. The image encoding will always be
	JPEG regardless of the encoding setting in the media profile. The Jpeg settings
	(like resolution or quality) may be taken from the profile if suitable. The provided
	image will be updated automatically and independent from calls to GetSnapshotUri. */
	GetSnapshotUri(request *GetSnapshotUri) (*GetSnapshotUriResponse, error)

	GetSnapshotUriContext(ctx context.Context, request *GetSnapshotUri) (*GetSnapshotUriResponse, error)

	/* A device returns the information for current video source mode and settable video source modes of specified video source. A device that indicates a capability of  VideoSourceModes shall support this command. */
	GetVideoSourceModes(request *GetVideoSourceModes) (*GetVideoSourceModesResponse, error)

	GetVideoSourceModesContext(ctx context.Context, request *GetVideoSourceModes) (*GetVideoSourceModesResponse, error)

	/* SetVideoSourceMode changes the media profile structure relating to video source for the specified video source mode. A device that indicates a capability of VideoSourceModes shall support this command. The behavior after changing the mode is not defined in this specification. */
	SetVideoSourceMode(request *SetVideoSourceMode) (*SetVideoSourceModeResponse, error)

	SetVideoSourceModeContext(ctx context.Context, request *SetVideoSourceMode) (*SetVideoSourceModeResponse, error)

	/* This operation lists existing OSD configurations for the device.

	 */
	GetOSDs(request *GetOSDs) (*GetOSDsResponse, error)

	GetOSDsContext(ctx context.Context, request *GetOSDs) (*GetOSDsResponse, error)

	/* Get the OSD Options. */
	GetOSDOptions(request *GetOSDOptions) (*GetOSDOptionsResponse, error)

	GetOSDOptionsContext(ctx context.Context, request *GetOSDOptions) (*GetOSDOptionsResponse, error)

	/* Set the OSD */
	SetOSD(request *SetOSD) (*SetConfigurationResponse, error)

	SetOSDContext(ctx context.Context, request *SetOSD) (*SetConfigurationResponse, error)

	/* Create the OSD. */
	CreateOSD(request *CreateOSD) (*CreateOSDResponse, error)

	CreateOSDContext(ctx context.Context, request *CreateOSD) (*CreateOSDResponse, error)

	/* Delete the OSD. */
	DeleteOSD(request *DeleteOSD) (*SetConfigurationResponse, error)

	DeleteOSDContext(ctx context.Context, request *DeleteOSD) (*SetConfigurationResponse, error)

	/* This operation lists existing Mask configurations for the device.

	 */
	GetMasks(request *GetMasks) (*GetMasksResponse, error)

	GetMasksContext(ctx context.Context, request *GetMasks) (*GetMasksResponse, error)

	/* Get the Mask Options. */
	GetMaskOptions(request *GetMaskOptions) (*GetMaskOptionsResponse, error)

	GetMaskOptionsContext(ctx context.Context, request *GetMaskOptions) (*GetMaskOptionsResponse, error)

	/* Set the Mask */
	SetMask(request *SetMask) (*SetConfigurationResponse, error)

	SetMaskContext(ctx context.Context, request *SetMask) (*SetConfigurationResponse, error)

	/* Create the Mask. */
	CreateMask(request *CreateMask) (*CreateMaskResponse, error)

	CreateMaskContext(ctx context.Context, request *CreateMask) (*CreateMaskResponse, error)

	/* Delete the Mask. */
	DeleteMask(request *DeleteMask) (*SetConfigurationResponse, error)

	DeleteMaskContext(ctx context.Context, request *DeleteMask) (*SetConfigurationResponse, error)
}

func NewMedia2

func NewMedia2(client *soap.Client) Media2

type MediaProfile

type MediaProfile struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl Profiles"`

	// User readable name of the profile.
	Name *xsd.Name `xml:"Name,omitempty" json:"Name,omitempty"`

	// The configurations assigned to the profile.
	Configurations *ConfigurationSet `xml:"Configurations,omitempty" json:"Configurations,omitempty"`

	Token *onvif.ReferenceToken `xml:"http://www.onvif.org/ver20/media/wsdl token,attr,omitempty" json:"token,omitempty"`

	Fixed bool `xml:"http://www.onvif.org/ver20/media/wsdl fixed,attr,omitempty" json:"fixed,omitempty"`
}

type ProfileCapabilities

type ProfileCapabilities struct {
	Items []string `xml:",any" json:"items,omitempty"`

	MaximumNumberOfProfiles int32 `xml:"http://www.onvif.org/ver20/media/wsdl MaximumNumberOfProfiles,attr,omitempty" json:"MaximumNumberOfProfiles,omitempty"`

	ConfigurationsSupported *onvif.StringAttrList `xml:"http://www.onvif.org/ver20/media/wsdl ConfigurationsSupported,attr,omitempty" json:"ConfigurationsSupported,omitempty"`
}

type ReceiverConfiguration

type ReceiverConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl Receiver"`

	*ReceiverConfiguration

	Token *onvif.ReferenceToken `xml:"http://www.onvif.org/ver20/media/wsdl token,attr,omitempty" json:"token,omitempty"`
}

type RemoveConfiguration

type RemoveConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl RemoveConfiguration"`

	// This element contains a  reference to the media profile from which the configuration shall be removed.
	ProfileToken *onvif.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`

	// List of configurations to be removed. The types shall be provided in the order defined by tr2:ConfigurationEnumeration. Tokens appearing in the configuration list shall be ignored. Presence of the "All" type shall result in an empty profile.
	Configuration []*ConfigurationRef `xml:"Configuration,omitempty" json:"Configuration,omitempty"`
}

type RemoveConfigurationResponse

type RemoveConfigurationResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl RemoveConfigurationResponse"`
}

type SetAudioDecoderConfiguration

type SetAudioDecoderConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetAudioDecoderConfiguration"`

	// Contains the modified audio decoder configuration. The configuration shall exist in the device.
	Configuration *onvif.AudioDecoderConfiguration `xml:"Configuration,omitempty" json:"Configuration,omitempty"`
}

type SetAudioDecoderConfigurationResponse

type SetAudioDecoderConfigurationResponse SetConfigurationResponse

type SetAudioEncoderConfiguration

type SetAudioEncoderConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetAudioEncoderConfiguration"`

	// Contains the modified audio encoder configuration. The configuration shall exist in the device.
	Configuration *onvif.AudioEncoder2Configuration `xml:"Configuration,omitempty" json:"Configuration,omitempty"`
}

type SetAudioEncoderConfigurationResponse

type SetAudioEncoderConfigurationResponse SetConfigurationResponse

type SetAudioOutputConfiguration

type SetAudioOutputConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetAudioOutputConfiguration"`

	// Contains the modified audio output configuration. The configuration shall exist in the device.
	Configuration *onvif.AudioOutputConfiguration `xml:"Configuration,omitempty" json:"Configuration,omitempty"`
}

type SetAudioOutputConfigurationResponse

type SetAudioOutputConfigurationResponse SetConfigurationResponse

type SetAudioSourceConfiguration

type SetAudioSourceConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetAudioSourceConfiguration"`

	// Contains the modified audio source configuration. The configuration shall exist in the device.
	Configuration *onvif.AudioSourceConfiguration `xml:"Configuration,omitempty" json:"Configuration,omitempty"`
}

type SetAudioSourceConfigurationResponse

type SetAudioSourceConfigurationResponse SetConfigurationResponse

type SetConfigurationResponse

type SetConfigurationResponse struct {
}

type SetMask

type SetMask struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetMask"`

	// Mask to be updated.
	Mask *Mask `xml:"Mask,omitempty" json:"Mask,omitempty"`
}

type SetMaskResponse

type SetMaskResponse SetConfigurationResponse

type SetMetadataConfiguration

type SetMetadataConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetMetadataConfiguration"`

	// Contains the modified metadata configuration. The configuration shall exist in the device.
	Configuration *onvif.MetadataConfiguration `xml:"Configuration,omitempty" json:"Configuration,omitempty"`
}

type SetMetadataConfigurationResponse

type SetMetadataConfigurationResponse SetConfigurationResponse

type SetOSD

type SetOSD struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetOSD"`

	// Contains the modified OSD configuration.
	OSD *onvif.OSDConfiguration `xml:"OSD,omitempty" json:"OSD,omitempty"`
}

type SetOSDResponse

type SetOSDResponse SetConfigurationResponse

type SetSynchronizationPoint

type SetSynchronizationPoint struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetSynchronizationPoint"`

	// Contains a Profile reference for which a Synchronization Point is requested.
	ProfileToken *onvif.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type SetSynchronizationPointResponse

type SetSynchronizationPointResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetSynchronizationPointResponse"`
}

type SetVideoEncoderConfiguration

type SetVideoEncoderConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetVideoEncoderConfiguration"`

	// Contains the modified video encoder configuration. The configuration shall exist in the device.
	Configuration *onvif.VideoEncoder2Configuration `xml:"Configuration,omitempty" json:"Configuration,omitempty"`
}

type SetVideoEncoderConfigurationResponse

type SetVideoEncoderConfigurationResponse SetConfigurationResponse

type SetVideoSourceConfiguration

type SetVideoSourceConfiguration struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetVideoSourceConfiguration"`

	// Contains the modified video source configuration. The configuration shall exist in the device.
	Configuration *onvif.VideoSourceConfiguration `xml:"Configuration,omitempty" json:"Configuration,omitempty"`
}

type SetVideoSourceConfigurationResponse

type SetVideoSourceConfigurationResponse SetConfigurationResponse

type SetVideoSourceMode

type SetVideoSourceMode struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetVideoSourceMode"`

	// Contains a video source reference for which a video source mode is requested.
	VideoSourceToken *onvif.ReferenceToken `xml:"VideoSourceToken,omitempty" json:"VideoSourceToken,omitempty"`

	// Indicate video source mode.
	VideoSourceModeToken *onvif.ReferenceToken `xml:"VideoSourceModeToken,omitempty" json:"VideoSourceModeToken,omitempty"`
}

type SetVideoSourceModeResponse

type SetVideoSourceModeResponse struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl SetVideoSourceModeResponse"`

	// The response contains information about rebooting after returning response. When Reboot is set true, a device will reboot automatically after setting mode.
	Reboot bool `xml:"Reboot,omitempty" json:"Reboot,omitempty"`
}

type StartMulticastStreaming

type StartMulticastStreaming StartStopMulticastStreaming

type StartMulticastStreamingResponse

type StartMulticastStreamingResponse SetConfigurationResponse

type StartStopMulticastStreaming

type StartStopMulticastStreaming struct {

	// Contains the token of the Profile that is used to define the multicast stream.
	ProfileToken *onvif.ReferenceToken `xml:"ProfileToken,omitempty" json:"ProfileToken,omitempty"`
}

type StopMulticastStreaming

type StopMulticastStreaming StartStopMulticastStreaming

type StopMulticastStreamingResponse

type StopMulticastStreamingResponse SetConfigurationResponse

type StreamingCapabilities

type StreamingCapabilities struct {
	Items []string `xml:",any" json:"items,omitempty"`

	RTSPStreaming bool `xml:"http://www.onvif.org/ver20/media/wsdl RTSPStreaming,attr,omitempty" json:"RTSPStreaming,omitempty"`

	RTPMulticast bool `xml:"http://www.onvif.org/ver20/media/wsdl RTPMulticast,attr,omitempty" json:"RTPMulticast,omitempty"`

	RTP_RTSP_TCP bool `xml:"http://www.onvif.org/ver20/media/wsdl RTP_RTSP_TCP,attr,omitempty" json:"RTP_RTSP_TCP,omitempty"`

	NonAggregateControl bool `xml:"http://www.onvif.org/ver20/media/wsdl NonAggregateControl,attr,omitempty" json:"NonAggregateControl,omitempty"`

	RTSPWebSocketUri xsd.AnyURI `xml:"http://www.onvif.org/ver20/media/wsdl RTSPWebSocketUri,attr,omitempty" json:"RTSPWebSocketUri,omitempty"`

	AutoStartMulticast bool `xml:"http://www.onvif.org/ver20/media/wsdl AutoStartMulticast,attr,omitempty" json:"AutoStartMulticast,omitempty"`

	SecureRTSPStreaming bool `xml:"http://www.onvif.org/ver20/media/wsdl SecureRTSPStreaming,attr,omitempty" json:"SecureRTSPStreaming,omitempty"`
}

type TransportProtocol

type TransportProtocol string
const (
	TransportProtocolRtspUnicast TransportProtocol = "RtspUnicast"

	TransportProtocolRtspMulticast TransportProtocol = "RtspMulticast"

	TransportProtocolRtspsUnicast TransportProtocol = "RtspsUnicast"

	TransportProtocolRtspsMulticast TransportProtocol = "RtspsMulticast"

	TransportProtocolRTSP TransportProtocol = "RTSP"

	TransportProtocolRtspOverHttp TransportProtocol = "RtspOverHttp"
)

type VideoSourceMode

type VideoSourceMode struct {
	XMLName xml.Name `xml:"http://www.onvif.org/ver20/media/wsdl VideoSourceModes"`

	// Max frame rate in frames per second for this video source mode.
	MaxFramerate float32 `xml:"MaxFramerate,omitempty" json:"MaxFramerate,omitempty"`

	// Max horizontal and vertical resolution for this video source mode.
	MaxResolution *onvif.VideoResolution `xml:"MaxResolution,omitempty" json:"MaxResolution,omitempty"`

	// List of one or more encodings supported for this video source.  For name definitions see tt:VideoEncodingMimeNames, and see .
	Encodings *onvif.StringList `xml:"Encodings,omitempty" json:"Encodings,omitempty"`

	// After setting the mode if a device starts to reboot this value is true. If a device change the mode without rebooting this value is false. If true, configured parameters may not be guaranteed by the device after rebooting.
	Reboot bool `xml:"Reboot,omitempty" json:"Reboot,omitempty"`

	// Informative description of this video source mode. This field should be described in English.
	Description *onvif.Description `xml:"Description,omitempty" json:"Description,omitempty"`

	Items []string `xml:",any" json:"items,omitempty"`

	Token *onvif.ReferenceToken `xml:"http://www.onvif.org/ver20/media/wsdl token,attr,omitempty" json:"token,omitempty"`

	Enabled bool `xml:"http://www.onvif.org/ver20/media/wsdl Enabled,attr,omitempty" json:"Enabled,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL