{
	"id": "MediaObject.json",
	"title": "Media Object",
	"description": "A media object, such as an image, video, or audio object embedded in a web page or a downloadable dataset i.e. DataDownload. Note that a creative work may have many media objects associated with it on the same web page. For example, a page about a single song (MusicRecording) may have a music video (VideoObject), and a high and low bandwidth audio stream (2 AudioObject's).",
	"media": {"type": "application/json;profile=http://schema.org/MediaObject"},
	"allOf": [{"$ref": "Thing.json"}, {"$ref": "CreativeWork.json"}],
	"type": "object",
	"properties": {
		"associatedArticle": {"$ref": "NewsArticle.json#/definitions/possibleRefArray"},
		"bitrate": {"$ref": "#/definitions/bitrate"},
		"contentSize": {"$ref": "#/definitions/contentSize"},
		"contentUrl": {
			"type": "string",
			"format": "uri"
		},
		"duration": {"$ref": "Duration.json#/definitions/possibleRef"},
		"embedUrl": {
			"type": "string",
			"format": "uri"
		},
		"encodesCreativeWork": {"$ref": "CreativeWork.json#/definitions/possibleRef"},
		"encodingFormat": {"$ref": "#/definitions/encodingFormat"},
		"endTime": {"$ref": "#/definitions/endTime"},
		"height": {"$ref": "#/definitions/height"},
		"playerType": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/playerType"}
				},
				{"$ref": "#/definitions/playerType"}
			]
		},
		"productionCompany": {"$ref": "Organization.json#/definitions/possibleRef"},
		"regionsAllowed": {"$ref": "Place.json#/definitions/possibleRef"},
		"requiresSubscription": {"$ref": "#/definitions/requiresSubscription"},
		"startTime": {"$ref": "#/definitions/startTime"},
		"uploadDate": {"$ref": "#/definitions/uploadDate"},
		"width": {"$ref": "#/definitions/width"}
	},
	"links": [
		{
			"rel": "http://schema.org/contentUrl",
			"href": "{+contentUrl}"
		},
		{
			"rel": "http://schema.org/embedUrl",
			"href": "{+embedUrl}"
		}
	],
	"definitions": {
		"array": {
			"type": "array",
			"items": {"$ref": "#"}
		},
		"bitrate": {
			"title": "Bitrate",
			"description": "The bitrate of the media object.",
			"type": "string"
		},
		"contentSize": {
			"title": "Content Size",
			"description": "File size in (mega/kilo) bytes.",
			"type": "string"
		},
		"encodingFormat": {
			"title": "Encoding Format",
			"description": "Media type typically expressed using a MIME format (see IANA site and MDN reference) e.g. application/zip for a SoftwareApplication binary, audio/mpeg for .mp3 etc.).\n\nIn cases where a CreativeWork has several media type representations, encoding can be used to indicate each MediaObject alongside particular encodingFormat information.\n\nUnregistered or niche encoding and file formats can be indicated instead via the most appropriate URL, e.g. defining Web page or a Wikipedia/Wikidata entry. Supersedes fileFormat.",
			"anyOf": [
				{
					"type": "string",
					"format": "uri"
				},
				{"type": "string"}
			]
		},
		"endTime": {
			"title": "End Time",
			"description": "The endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to December. For media, including audio and video, it's the time offset of the end of a clip within a larger file.\n\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions.",
			"anyOf": [
				{
					"type": "string",
					"format": "date-time"
				},
				{
					"type": "string",
					"format": "time"
				}
			]
		},
		"height": {
			"title": "Height",
			"description": "The height of the item.",
			"anyOf": [{"$ref": "Distance.json#/definitions/possibleRef"}, {"$ref": "QuantitativeValue.json#/definitions/possibleRef"}]
		},
		"playerType": {
			"title": "Player Type",
			"description": "Player type required—for example, Flash or Silverlight.",
			"type": "string"
		},
		"possibleRef": {
			"oneOf": [
				{"$ref": "#"},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"possibleRefArray": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/possibleRef"}
				},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"requiresSubscription": {
			"title": "Requires Subscription",
			"description": "Indicates if use of the media require a subscription  (either paid or free). Allowed values are true or false (note that an earlier version had 'yes', 'no').",
			"anyOf": [{"type": "boolean"}, {"$ref": "MediaSubscription.json#/definitions/possibleRef"}]
		},
		"startTime": {
			"title": "Start Time",
			"description": "The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to December. For media, including audio and video, it's the time offset of the start of a clip within a larger file.\n\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions.",
			"anyOf": [
				{
					"type": "string",
					"format": "date-time"
				},
				{
					"type": "string",
					"format": "time"
				}
			]
		},
		"uploadDate": {
			"title": "Upload Date",
			"description": "Date when this media object was uploaded to this site.",
			"type": "string",
			"format": "date"
		},
		"width": {
			"title": "Width",
			"description": "The width of the item.",
			"anyOf": [{"$ref": "Distance.json#/definitions/possibleRef"}, {"$ref": "QuantitativeValue.json#/definitions/possibleRef"}]
		}
	}
}