All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Nothing yet
0.12.0 - 2024-12-20
- Ed5Amd1 element
<SelectionInfo>
inside mixed XML type<Event>
- UrlQueryInfo and ExtUrlQueryInfo from MPEG-DASH part 1 Annex I
- Updated the G16 example
- Avoid escaping XML tab and newline in text to align with DASHSchema test content
- Handle text inside
<Event>
element
- Updated dependencies
0.11.1 - 2024-01-17
- Update the DASH-IF ClearKey definitions to follow DASH-IF IOP v5.0
0.11.0 - 2024-01-04
- GetContentProtections, GetMimeType, GetCodecs, and GetSegmentTemplate methods for AdaptationSet and Representation
- ContentProtection elements and name spaces for Marlin DRM and DASH-IF ClearKey
- ContentProtection and other parts of RepresentationBaseType moved before other elements in AdaptationSet and Representation
0.10.0 - 2023-05-26
NewMPD
function now also sets DASH namespacempd.Write
now has two parameters to set indentation and an optional XML header- renamed constants StaticMpdType and DynamicMpdType to
STATIC_TYPE
andDYNAMIC_TYPE
Lots of convenience functions to create MPDs
mpd.WriteToString
function to return a string- constants for many common values like audio-channel-configuration
rep.SetSegmentBase
methodNewBaseURL
function for simple BaseURL casesNewDescriptor
function for creating a DescriptorType instanceNewRole
function for creating a new DescriptorType for a rolelistOfTypes.AddProfile
method to add a profileNewAdaptationSetWithParams
function for generating AdaptationSetNewRepresentationWithID
function for generating a representation with a few parametersNewAudioRepresentation
function for audio representationsNewVideoRepresentation
function for video representationSeconds2DurPtrFloat64
to generate a pointer to duration specified as seconds using float64
0.9.1 - 2023-05-17
- Same as 0.9.0, but new version number due to mistake in release process
0.9.0 - 2023-05-17
- Parents of AdaptationSets, Representations, and SubRepresentations
- Methods AppendAdaptationSet to Period, and so on
- New Clone methods
0.8.0 - 2023-04-10
- PeriodType renamed Period
- PeriodType is now PTRegular, PTEarlyAvaiable etc
- GetRepInit changed to GetInit() method on Representation
- GetRepMedia changed to GetMedia() method on Representation
- NewMPD() now takes mpdType as argument
- New Duration method Seconds()
- New DateTime method ConvertToSeconds()
- New Period methods AbsoluteStart(), GetStart(), GetType(), GetIndex()
- Parent/SetParent methods for Period, AdaptationSet, Representataion, and SubRepresentation
- New Append methods the above that appends and sets parent
- New type PeriodType
- Declared errors: ErrPeriodNotFound and similar
- New function MPDFromBytes() to unmarshal MPD
0.7.0 - 2023-03-24
- ConvertToDateTime() crops fraction of second to milliseconds instead of full seconds
- Infinite value of availabilityTimeOffset is now marshalled/unmarshalled as "INF"
- ConvertToDateTimeMS is new function
0.6.1 - 2023-03-07
- Updated dependencies
0.6.0 - 2023-03-03
- Changed composition of some MPD elements to not use pointers
- Functions to create new elements
- Example code to generate new MPD from scratch
- Added XMLNames to structure with unique names in MPD
- Methods SetTimescale and GetTimescale for SegmentTemplate
0.5.0 - 2023-01-20
- First release with complete support of all XMLSchema elements
- Tests with well-known MPDs
- Tweaked XML library to support namespaces