First release
This commit is contained in:
commit
fa6c85266e
2339 changed files with 761050 additions and 0 deletions
46
node_modules/mpd-parser/src/parseUTCTimingScheme.js
generated
vendored
Normal file
46
node_modules/mpd-parser/src/parseUTCTimingScheme.js
generated
vendored
Normal file
|
@ -0,0 +1,46 @@
|
|||
import { findChildren } from './utils/xml';
|
||||
import { parseAttributes } from './parseAttributes';
|
||||
import errors from './errors';
|
||||
|
||||
/**
|
||||
* Parses the manifest for a UTCTiming node, returning the nodes attributes if found
|
||||
*
|
||||
* @param {string} mpd
|
||||
* XML string of the MPD manifest
|
||||
* @return {Object|null}
|
||||
* Attributes of UTCTiming node specified in the manifest. Null if none found
|
||||
*/
|
||||
export const parseUTCTimingScheme = (mpd) => {
|
||||
const UTCTimingNode = findChildren(mpd, 'UTCTiming')[0];
|
||||
|
||||
if (!UTCTimingNode) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const attributes = parseAttributes(UTCTimingNode);
|
||||
|
||||
switch (attributes.schemeIdUri) {
|
||||
case 'urn:mpeg:dash:utc:http-head:2014':
|
||||
case 'urn:mpeg:dash:utc:http-head:2012':
|
||||
attributes.method = 'HEAD';
|
||||
break;
|
||||
case 'urn:mpeg:dash:utc:http-xsdate:2014':
|
||||
case 'urn:mpeg:dash:utc:http-iso:2014':
|
||||
case 'urn:mpeg:dash:utc:http-xsdate:2012':
|
||||
case 'urn:mpeg:dash:utc:http-iso:2012':
|
||||
attributes.method = 'GET';
|
||||
break;
|
||||
case 'urn:mpeg:dash:utc:direct:2014':
|
||||
case 'urn:mpeg:dash:utc:direct:2012':
|
||||
attributes.method = 'DIRECT';
|
||||
attributes.value = Date.parse(attributes.value);
|
||||
break;
|
||||
case 'urn:mpeg:dash:utc:http-ntp:2014':
|
||||
case 'urn:mpeg:dash:utc:ntp:2014':
|
||||
case 'urn:mpeg:dash:utc:sntp:2014':
|
||||
default:
|
||||
throw new Error(errors.UNSUPPORTED_UTC_TIMING_SCHEME);
|
||||
}
|
||||
|
||||
return attributes;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue