<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://ns.real.com/tools/audience.2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://ns.real.com/tools/audience.2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" xml:lang="en">
	<xsd:element name="audience" type="audienceType">
		<xsd:annotation>
			<xsd:documentation>Helix Producer Job</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="audienceType">
		<xsd:all>
			<xsd:element name="avgBitrate" minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:unsignedInt">
							<xsd:attribute name="type" type="xsd:string" use="required" fixed="uint"/>
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="maxBitrate" minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:unsignedInt">
							<xsd:attribute name="type" type="xsd:string" use="required" fixed="uint"/>
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="streams" minOccurs="0">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="stream" type="streamType" maxOccurs="unbounded"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:all>
	</xsd:complexType>
	<xsd:complexType name="streamType">
		<xsd:annotation>
			<xsd:documentation>Base stream type</xsd:documentation>
		</xsd:annotation>
	</xsd:complexType>
	<xsd:complexType name="videoStreamType">
		<xsd:complexContent>
			<xsd:extension base="streamType">
				<xsd:all>
					<xsd:element name="pluginName" default="rn-videocodec-realvideo" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="videoStreamPluginNameEnumerationType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="string"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="codecName" default="rv9">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="videoCodecNameType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="string"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="encodingType" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="encodingType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="string"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="quality" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="percentageType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="uint"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="maxStartupLatency" default="4" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="maxStartupLatencyType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="double"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="maxFrameRate" default="30" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="maxFrameRateType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="double"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="enableLossProtection" default="false" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="xsd:boolean">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="bool"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="maxKeyFrameInterval" default="4" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="maxKeyFrameIntervalType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="double"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
				</xsd:all>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="audioStreamType">
		<xsd:complexContent>
			<xsd:extension base="streamType">
				<xsd:all>
					<xsd:element name="pluginName" default="rn-audiocodec-realaudio" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="audioStreamPluginNameEnumerationType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="string"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="codecName">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="audioCodecNameType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="string"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="codecFlavor">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="xsd:unsignedInt">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="uint"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="streamContext" minOccurs="0">
						<xsd:complexType>
							<xsd:all>
								<xsd:element name="presentationType" minOccurs="0">
									<xsd:complexType>
										<xsd:simpleContent>
											<xsd:extension base="presentationType">
												<xsd:attribute name="type" type="xsd:string" use="required" fixed="string"/>
											</xsd:extension>
										</xsd:simpleContent>
									</xsd:complexType>
								</xsd:element>
								<xsd:element name="audioMode" minOccurs="0">
									<xsd:complexType>
										<xsd:simpleContent>
											<xsd:extension base="audioModeType">
												<xsd:attribute name="type" type="xsd:string" use="required" fixed="string"/>
											</xsd:extension>
										</xsd:simpleContent>
									</xsd:complexType>
								</xsd:element>
							</xsd:all>
							<xsd:attribute name="type" type="xsd:string" use="required" fixed="bag"/>
						</xsd:complexType>
					</xsd:element>
				</xsd:all>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="eventStreamType">
		<xsd:complexContent>
			<xsd:extension base="streamType">
				<xsd:all>
					<xsd:element name="pluginName" default="rn-transform-event" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="eventStreamPluginNameEnumerationType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="string"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="avgBitrate" default="200" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="xsd:unsignedInt">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="uint"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
				</xsd:all>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="imageMapStreamType">
		<xsd:complexContent>
			<xsd:extension base="streamType">
				<xsd:all>
					<xsd:element name="pluginName" default="rn-transform-imagemap" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="imageMapStreamPluginNameEnumerationType">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="string"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="avgBitrate" default="400" minOccurs="0">
						<xsd:complexType>
							<xsd:simpleContent>
								<xsd:extension base="xsd:unsignedInt">
									<xsd:attribute name="type" type="xsd:string" use="required" fixed="uint"/>
								</xsd:extension>
							</xsd:simpleContent>
						</xsd:complexType>
					</xsd:element>
				</xsd:all>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<!--Simple types for audio streams-->
	<xsd:simpleType name="audioCodecNameType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="sipr"/>
			<xsd:enumeration value="cook"/>
			<xsd:enumeration value="atrc"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="presentationType">
		<xsd:annotation>
			<xsd:documentation>enumeration of audio-only or audio-video</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="audio-only"/>
			<xsd:enumeration value="audio-video"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!--Simple types for audio streams-->
	<xsd:simpleType name="videoCodecNameType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="rv9"/>
			<xsd:enumeration value="rv8"/>
			<xsd:enumeration value="rvg2svt"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="encodingType">
		<xsd:annotation>
			<xsd:documentation>Enumeration for encodingType</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="cbr"/>
			<xsd:enumeration value="vbrBitrate"/>
			<xsd:enumeration value="vbrQuality"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="percentageType">
		<xsd:annotation>
			<xsd:documentation>range of 0-100</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:integer">
			<xsd:minInclusive value="0"/>
			<xsd:maxInclusive value="100"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="maxKeyFrameIntervalType">
		<xsd:annotation>
			<xsd:documentation>range of 0-60 double</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:double">
			<xsd:minInclusive value="0"/>
			<xsd:maxInclusive value="60"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="maxStartupLatencyType">
		<xsd:annotation>
			<xsd:documentation>double from 4-25</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:double">
			<xsd:minInclusive value="4"/>
			<xsd:maxInclusive value="25"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="maxFrameRateType">
		<xsd:annotation>
			<xsd:documentation>double from 0-60</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:double">
			<xsd:minInclusive value="0"/>
			<xsd:maxInclusive value="60"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!--Enumeration types for streams-->
	<xsd:simpleType name="videoStreamPluginNameEnumerationType">
		<xsd:annotation>
			<xsd:documentation>Enumeation for video stream plugin type</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="rn-videocodec-realvideo"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="audioStreamPluginNameEnumerationType">
		<xsd:annotation>
			<xsd:documentation>Enumeation for audio stream plugin type</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="rn-audiocodec-realaudio"/>
			<xsd:enumeration value="rn-audiocodec-vorbis"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="eventStreamPluginNameEnumerationType">
		<xsd:annotation>
			<xsd:documentation>Enumeration for event stream plugin type</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="rn-transform-event"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="imageMapStreamPluginNameEnumerationType">
		<xsd:annotation>
			<xsd:documentation>Enumeration for image map stream type</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="rn-transform-imagemap"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!--Commonly used simple types-->
	<xsd:simpleType name="audioModeType">
		<xsd:annotation>
			<xsd:documentation>Enumeration list for audio mode (voice or music).  Used in mediaProfile and audioStream</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="voice"/>
			<xsd:enumeration value="music"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="nonZeroUnsignedInt">
		<xsd:annotation>
			<xsd:documentation>unsigned int excluding value of 0</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:unsignedInt">
			<xsd:minInclusive value="1"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="zeroValueType">
		<xsd:annotation>
			<xsd:documentation>Single value of 0 used in uninons with ranges that allow 0 and some other values.</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:integer">
			<xsd:minInclusive value="0"/>
			<xsd:maxInclusive value="0"/>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>
