@osaas/client-transcode 0.15.6 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -6,5 +6,5 @@ export { createStreamingPackage } from './packager';
6
6
  export { createLiveSingleBitrateHLS, removeLiveSingleBitrateHLS, listSingleBitrateHLS, createLiveMultiBitrateHLS, startLiveMultiBitrateHLS, stopLiveMultiBitrateHLS } from './live';
7
7
  export { SubtitlingPool } from './subtitling';
8
8
  export { createVodPipeline, removeVodPipeline, createVod } from './vodpipeline';
9
- export { transcode } from './transcode';
9
+ export { transcode, getTranscodeJob, listTranscodeJobs } from './transcode';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transcode = exports.createVod = exports.removeVodPipeline = exports.createVodPipeline = exports.SubtitlingPool = exports.stopLiveMultiBitrateHLS = exports.startLiveMultiBitrateHLS = exports.createLiveMultiBitrateHLS = exports.listSingleBitrateHLS = exports.removeLiveSingleBitrateHLS = exports.createLiveSingleBitrateHLS = exports.createStreamingPackage = exports.vmafCompare = exports.QueuePool = exports.Encore = exports.EncorePackager = exports.EncoreCallbackListener = void 0;
3
+ exports.listTranscodeJobs = exports.getTranscodeJob = exports.transcode = exports.createVod = exports.removeVodPipeline = exports.createVodPipeline = exports.SubtitlingPool = exports.stopLiveMultiBitrateHLS = exports.startLiveMultiBitrateHLS = exports.createLiveMultiBitrateHLS = exports.listSingleBitrateHLS = exports.removeLiveSingleBitrateHLS = exports.createLiveSingleBitrateHLS = exports.createStreamingPackage = exports.vmafCompare = exports.QueuePool = exports.Encore = exports.EncorePackager = exports.EncoreCallbackListener = void 0;
4
4
  /** @module @osaas/client-transcode */
5
5
  var encore_1 = require("./encore");
6
6
  Object.defineProperty(exports, "EncoreCallbackListener", { enumerable: true, get: function () { return encore_1.EncoreCallbackListener; } });
@@ -27,4 +27,6 @@ Object.defineProperty(exports, "removeVodPipeline", { enumerable: true, get: fun
27
27
  Object.defineProperty(exports, "createVod", { enumerable: true, get: function () { return vodpipeline_1.createVod; } });
28
28
  var transcode_1 = require("./transcode");
29
29
  Object.defineProperty(exports, "transcode", { enumerable: true, get: function () { return transcode_1.transcode; } });
30
+ Object.defineProperty(exports, "getTranscodeJob", { enumerable: true, get: function () { return transcode_1.getTranscodeJob; } });
31
+ Object.defineProperty(exports, "listTranscodeJobs", { enumerable: true, get: function () { return transcode_1.listTranscodeJobs; } });
30
32
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,mCAA0E;AAAjE,gHAAA,sBAAsB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,gGAAA,MAAM,OAAA;AACvD,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAC/B,+BAOgB;AANd,kHAAA,0BAA0B,OAAA;AAC1B,kHAAA,0BAA0B,OAAA;AAC1B,4GAAA,oBAAoB,OAAA;AACpB,iHAAA,yBAAyB,OAAA;AACzB,gHAAA,wBAAwB,OAAA;AACxB,+GAAA,uBAAuB,OAAA;AAEzB,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AACvB,6CAAgF;AAAvE,gHAAA,iBAAiB,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAAE,wGAAA,SAAS,OAAA;AACxD,yCAAwC;AAA/B,sGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,mCAA0E;AAAjE,gHAAA,sBAAsB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,gGAAA,MAAM,OAAA;AACvD,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAC/B,+BAOgB;AANd,kHAAA,0BAA0B,OAAA;AAC1B,kHAAA,0BAA0B,OAAA;AAC1B,4GAAA,oBAAoB,OAAA;AACpB,iHAAA,yBAAyB,OAAA;AACzB,gHAAA,wBAAwB,OAAA;AACxB,+GAAA,uBAAuB,OAAA;AAEzB,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AACvB,6CAAgF;AAAvE,gHAAA,iBAAiB,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAAE,wGAAA,SAAS,OAAA;AACxD,yCAA4E;AAAnE,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,8GAAA,iBAAiB,OAAA"}
@@ -46,4 +46,31 @@ export declare function smpteTimecodeToFrames(smpteTimeCode: string, frameRate:
46
46
  * console.log(job);
47
47
  */
48
48
  export declare function transcode(ctx: Context, opts: TranscodeOptions): Promise<unknown>;
49
+ /**
50
+ * Get details of an SVT Encore transcode job in Eyevinn Open Source Cloud
51
+ *
52
+ * @memberof module:@osaas/client-transcode
53
+ * @param ctx - Eyevinn OSC context
54
+ * @param {string} instanceName - Name of Encore instance
55
+ * @param {string} jobId - Id of the Encore job
56
+ * @returns {Job} - The Encore job
57
+ *
58
+ * @example
59
+ * const job = await getTranscodeJob(ctx, 'tutorial', 'fb2baa17-8972-451b-bb1e-1bc773283476');
60
+ * console.log(job);
61
+ */
62
+ export declare function getTranscodeJob(ctx: Context, instanceName: string, jobId: string): Promise<unknown>;
63
+ /**
64
+ * Get a list of all SVT Encore transcode job in Eyevinn Open Source Cloud
65
+ *
66
+ * @memberof module:@osaas/client-transcode
67
+ * @param ctx - Eyevinn OSC context
68
+ * @param {string} instanceName - Name of Encore instance
69
+ * @returns {Job[]} - List of Encore jobs
70
+ *
71
+ * @example
72
+ * const jobs = await listTranscodeJobs(ctx, 'tutorial');
73
+ * console.log(jobs);
74
+ */
75
+ export declare function listTranscodeJobs(ctx: Context, instanceName: string): Promise<any[]>;
49
76
  //# sourceMappingURL=transcode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transcode.d.ts","sourceRoot":"","sources":["../src/transcode.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,oBAAoB,CAAC;AAGlD,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAC;CACpC;AAOD,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,CAQR;AAED;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,oBAkEnE"}
1
+ {"version":3,"file":"transcode.d.ts","sourceRoot":"","sources":["../src/transcode.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAC;CACpC;AAOD,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,CAQR;AAED;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,oBAkEnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,oBAoBd;AAcD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAmCzE"}
package/lib/transcode.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transcode = exports.smpteTimecodeToFrames = void 0;
3
+ exports.listTranscodeJobs = exports.getTranscodeJob = exports.transcode = exports.smpteTimecodeToFrames = void 0;
4
4
  const client_core_1 = require("@osaas/client-core");
5
5
  const client_services_1 = require("@osaas/client-services");
6
+ const util_1 = require("./util");
6
7
  function isValidSmpteTimecode(smpteTimeCode) {
7
8
  const smpteRegex = /^([0-1]\d|2[0-3]):([0-5]\d):([0-5]\d):([0-2]\d|3[0-1])$/;
8
9
  return smpteRegex.test(smpteTimeCode);
@@ -106,4 +107,84 @@ async function transcode(ctx, opts) {
106
107
  return job;
107
108
  }
108
109
  exports.transcode = transcode;
110
+ /**
111
+ * Get details of an SVT Encore transcode job in Eyevinn Open Source Cloud
112
+ *
113
+ * @memberof module:@osaas/client-transcode
114
+ * @param ctx - Eyevinn OSC context
115
+ * @param {string} instanceName - Name of Encore instance
116
+ * @param {string} jobId - Id of the Encore job
117
+ * @returns {Job} - The Encore job
118
+ *
119
+ * @example
120
+ * const job = await getTranscodeJob(ctx, 'tutorial', 'fb2baa17-8972-451b-bb1e-1bc773283476');
121
+ * console.log(job);
122
+ */
123
+ async function getTranscodeJob(ctx, instanceName, jobId) {
124
+ const instance = await (0, client_services_1.getEncoreInstance)(ctx, instanceName);
125
+ if (!instance) {
126
+ throw new Error(`Encore instance ${instanceName} not found`);
127
+ }
128
+ const serviceAccessToken = await ctx.getServiceAccessToken('encore');
129
+ const response = await fetch(new URL(`/encoreJobs/${jobId}`, instance.url), {
130
+ headers: {
131
+ Authorization: `Bearer ${serviceAccessToken}`
132
+ }
133
+ });
134
+ if (!response.ok) {
135
+ if (response.status === 404) {
136
+ throw new Error(`Encore job ${jobId} not found`);
137
+ }
138
+ throw new Error(`Failed to get Encore job: ${response.status}`);
139
+ }
140
+ const job = await response.json();
141
+ return job;
142
+ }
143
+ exports.getTranscodeJob = getTranscodeJob;
144
+ /**
145
+ * Get a list of all SVT Encore transcode job in Eyevinn Open Source Cloud
146
+ *
147
+ * @memberof module:@osaas/client-transcode
148
+ * @param ctx - Eyevinn OSC context
149
+ * @param {string} instanceName - Name of Encore instance
150
+ * @returns {Job[]} - List of Encore jobs
151
+ *
152
+ * @example
153
+ * const jobs = await listTranscodeJobs(ctx, 'tutorial');
154
+ * console.log(jobs);
155
+ */
156
+ async function listTranscodeJobs(ctx, instanceName) {
157
+ const instance = await (0, client_services_1.getEncoreInstance)(ctx, instanceName);
158
+ if (!instance) {
159
+ throw new Error(`Encore instance ${instanceName} not found`);
160
+ }
161
+ const serviceAccessToken = await ctx.getServiceAccessToken('encore');
162
+ const response = await fetch(new URL('/encoreJobs', instance.url), {
163
+ headers: {
164
+ Authorization: `Bearer ${serviceAccessToken}`
165
+ }
166
+ });
167
+ if (!response.ok) {
168
+ throw new Error(`Failed to list Encore jobs: ${response.status}`);
169
+ }
170
+ const jobList = (await response.json());
171
+ (0, client_core_1.Log)().debug(jobList);
172
+ const jobs = jobList._embedded.encoreJobs;
173
+ if (jobList.page.totalPages > 1) {
174
+ for (const page of (0, util_1.range)(1, jobList.page.totalPages, 1)) {
175
+ const response = await fetch(new URL(`/encoreJobs?page=${page}`, instance.url), {
176
+ headers: {
177
+ Authorization: `Bearer ${serviceAccessToken}`
178
+ }
179
+ });
180
+ if (!response.ok) {
181
+ throw new Error(`Failed to list Encore jobs: ${response.status}`);
182
+ }
183
+ const pageJobs = (await response.json());
184
+ jobs.push(...pageJobs._embedded.encoreJobs);
185
+ }
186
+ }
187
+ return jobs;
188
+ }
189
+ exports.listTranscodeJobs = listTranscodeJobs;
109
190
  //# sourceMappingURL=transcode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transcode.js","sourceRoot":"","sources":["../src/transcode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcode.js","sourceRoot":"","sources":["../src/transcode.ts"],"names":[],"mappings":"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"}
package/lib/util.d.ts CHANGED
@@ -3,4 +3,5 @@ import { Context } from '@osaas/client-core';
3
3
  export declare const delay: (ms: number) => Promise<unknown>;
4
4
  export declare function waitForEncoreJobToComplete(jobUrl: URL, token: string, context: Context): Promise<any>;
5
5
  export declare function transferFile(ctx: Context, name: string, source: URL, destination: URL, token: string): Promise<void>;
6
+ export declare const range: (start: number, stop: number, step: number) => number[];
6
7
  //# sourceMappingURL=util.d.ts.map
package/lib/util.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAMR,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,KAAK,OAAQ,MAAM,qBAA8C,CAAC;AAE/E,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,gBAyBjB;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,GAAG,EAChB,KAAK,EAAE,MAAM,iBA2Bd"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAMR,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,KAAK,OAAQ,MAAM,qBAA8C,CAAC;AAE/E,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,gBAyBjB;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,GAAG,EAChB,KAAK,EAAE,MAAM,iBA2Bd;AAED,eAAO,MAAM,KAAK,UAAW,MAAM,QAAQ,MAAM,QAAQ,MAAM,aAI5D,CAAC"}
package/lib/util.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transferFile = exports.waitForEncoreJobToComplete = exports.delay = void 0;
3
+ exports.range = exports.transferFile = exports.waitForEncoreJobToComplete = exports.delay = void 0;
4
4
  const client_core_1 = require("@osaas/client-core");
5
5
  const MAX_ITER = 1000;
6
6
  const delay = (ms) => new Promise((res) => setTimeout(res, ms));
@@ -45,4 +45,6 @@ async function transferFile(ctx, name, source, destination, token) {
45
45
  (0, client_core_1.Log)().debug(`File transfer job ${job.name} completed`);
46
46
  }
47
47
  exports.transferFile = transferFile;
48
+ const range = (start, stop, step) => Array.from({ length: Math.ceil((stop - start) / step) }, (_, i) => start + i * step);
49
+ exports.range = range;
48
50
  //# sourceMappingURL=util.js.map
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAAA,oDAO4B;AAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC;AAEf,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAAlE,QAAA,KAAK,SAA6D;AAExE,KAAK,UAAU,0BAA0B,CAC9C,MAAW,EACX,KAAa,EACb,OAAgB;IAEhB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC/B,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAW,EAAM,MAAM,EAAE;gBAC1C,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,OAAO,EAAE,UAAU,KAAK,EAAE;oBAC1B,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAA,iBAAG,GAAE,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzC,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE;gBAC/B,OAAO,GAAG,CAAC;aACZ;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,wBAAU,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE;gBACrD,0BAA0B;gBAC1B,IAAA,iBAAG,GAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAChC,KAAK,GAAG,MAAM,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;aAC3D;SACF;QACD,MAAM,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AA5BD,gEA4BC;AAEM,KAAK,UAAU,YAAY,CAChC,GAAY,EACZ,IAAY,EACZ,MAAW,EACX,WAAgB,EAChB,KAAa;IAEb,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,qBAAqB,CACxD,2BAA2B,CAC5B,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAS,EACzB,GAAG,EACH,2BAA2B,EAC3B,kBAAkB,EAClB;QACE,IAAI;QACJ,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7C,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACrD,WAAW,EAAE,SAAS,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE;KAC7E,CACF,CAAC;IACF,IAAA,iBAAG,GAAE,CAAC,KAAK,CACT,iBAAiB,MAAM,CAAC,QAAQ,EAAE,OAAO,WAAW,CAAC,QAAQ,EAAE,EAAE,CAClE,CAAC;IACF,MAAM,IAAA,kCAAoB,EACxB,GAAG,EACH,2BAA2B,EAC3B,GAAG,CAAC,IAAI,EACR,kBAAkB,CACnB,CAAC;IACF,IAAA,iBAAG,GAAE,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC;AACzD,CAAC;AAhCD,oCAgCC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAAA,oDAO4B;AAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC;AAEf,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAAlE,QAAA,KAAK,SAA6D;AAExE,KAAK,UAAU,0BAA0B,CAC9C,MAAW,EACX,KAAa,EACb,OAAgB;IAEhB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC/B,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAW,EAAM,MAAM,EAAE;gBAC1C,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,OAAO,EAAE,UAAU,KAAK,EAAE;oBAC1B,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAA,iBAAG,GAAE,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzC,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE;gBAC/B,OAAO,GAAG,CAAC;aACZ;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,wBAAU,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE;gBACrD,0BAA0B;gBAC1B,IAAA,iBAAG,GAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAChC,KAAK,GAAG,MAAM,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;aAC3D;SACF;QACD,MAAM,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AA5BD,gEA4BC;AAEM,KAAK,UAAU,YAAY,CAChC,GAAY,EACZ,IAAY,EACZ,MAAW,EACX,WAAgB,EAChB,KAAa;IAEb,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,qBAAqB,CACxD,2BAA2B,CAC5B,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAS,EACzB,GAAG,EACH,2BAA2B,EAC3B,kBAAkB,EAClB;QACE,IAAI;QACJ,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7C,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACrD,WAAW,EAAE,SAAS,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE;KAC7E,CACF,CAAC;IACF,IAAA,iBAAG,GAAE,CAAC,KAAK,CACT,iBAAiB,MAAM,CAAC,QAAQ,EAAE,OAAO,WAAW,CAAC,QAAQ,EAAE,EAAE,CAClE,CAAC;IACF,MAAM,IAAA,kCAAoB,EACxB,GAAG,EACH,2BAA2B,EAC3B,GAAG,CAAC,IAAI,EACR,kBAAkB,CACnB,CAAC;IACF,IAAA,iBAAG,GAAE,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC;AACzD,CAAC;AAhCD,oCAgCC;AAEM,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,IAAY,EAAE,EAAE,CACjE,KAAK,CAAC,IAAI,CACR,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,EAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAC3B,CAAC;AAJS,QAAA,KAAK,SAId"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osaas/client-transcode",
3
- "version": "0.15.6",
3
+ "version": "0.17.0",
4
4
  "description": "Open Source Cloud Client SDK transcode library",
5
5
  "author": "Eyevinn Open Source Cloud <osc@eyevinn.se>",
6
6
  "homepage": "https://www.osaas.io",
@@ -34,5 +34,5 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "gitHead": "8fafcd16f907073ce644faf2771c7a3a8e65ae38"
37
+ "gitHead": "1a30d6f44944748668f7d924c55e0401667d4082"
38
38
  }