- Simpify metadata API from Metadata + Facet + FacetKey, to a single Metadata class that exposes a key-value pair based API, plus change events.
- Modify MediaResourceBase and MediaElement to expose add/remove/get methods for metadata, rather than a singular metadata property. MediaElement dispatches change events via the new MediaElementEvent.
- Rename/Refactor TemporalFacet to TimelineMetadata (ditto for event class), which extends Metadata and works with a generic TimelineMarker class to represent a marker on the media's timeline.
- Remove MetadataNamespaces, the properties behind these client-facing namespaces (which previously were set through facets) can now be set through strongly-typed properties on MediaResourcBase, URLResource, or StreamingURLResource. This includes media type, MIME type, subclip points, DRM metadata, and more.
- Move CuePoint and CuePointType to metadata package. CuePoint now subclasses TimelineMarker.