diff --git a/externs/shaka/offline.js b/externs/shaka/offline.js index 01b3ec20aa..a50460bcd8 100644 --- a/externs/shaka/offline.js +++ b/externs/shaka/offline.js @@ -59,6 +59,7 @@ shaka.extern.StoredContent; /** * @typedef {{ + * creationTime: number, * originalManifestUri: string, * duration: number, * size: number, @@ -69,6 +70,8 @@ shaka.extern.StoredContent; * appMetadata: Object * }} * + * @property {number} creationTime + * The date time when the asset was created. * @property {string} originalManifestUri * The URI that the manifest was originally loaded from. * @property {number} duration diff --git a/lib/offline/indexeddb/v1_storage_cell.js b/lib/offline/indexeddb/v1_storage_cell.js index 4ba4ccd5fb..a11e7db893 100644 --- a/lib/offline/indexeddb/v1_storage_cell.js +++ b/lib/offline/indexeddb/v1_storage_cell.js @@ -89,6 +89,7 @@ shaka.offline.indexeddb.V1StorageCell = class streamsPerPeriod); return { + creationTime: 0, originalManifestUri: old.originalManifestUri, duration: old.duration, size: old.size, diff --git a/lib/offline/indexeddb/v2_storage_cell.js b/lib/offline/indexeddb/v2_storage_cell.js index e96d1f5e51..8dcbd4dc20 100644 --- a/lib/offline/indexeddb/v2_storage_cell.js +++ b/lib/offline/indexeddb/v2_storage_cell.js @@ -50,6 +50,7 @@ shaka.offline.indexeddb.V2StorageCell = class return { appMetadata: old.appMetadata, + creationTime: 0, drmInfo: old.drmInfo, duration: old.duration, // JSON serialization turns Infinity into null, so turn it back now. diff --git a/lib/offline/storage.js b/lib/offline/storage.js index baa8405519..869139e432 100644 --- a/lib/offline/storage.js +++ b/lib/offline/storage.js @@ -962,6 +962,7 @@ shaka.offline.Storage = class { } return { + creationTime: Date.now(), originalManifestUri: originalManifestUri, duration: manifest.presentationTimeline.getDuration(), size: 0, diff --git a/test/offline/manifest_convert_unit.js b/test/offline/manifest_convert_unit.js index b77a8a3f77..79e4ee57b7 100644 --- a/test/offline/manifest_convert_unit.js +++ b/test/offline/manifest_convert_unit.js @@ -103,6 +103,7 @@ describe('ManifestConverter', () => { ]), }, appMetadata: null, + creationTime: 0, }; const manifest = createConverter().fromManifestDB(manifestDb); @@ -134,6 +135,7 @@ describe('ManifestConverter', () => { sessionIds: [], drmInfo: null, appMetadata: null, + creationTime: 0, streams: [ createVideoStreamDB(1, [0]), createVideoStreamDB(2, [1]), @@ -160,6 +162,7 @@ describe('ManifestConverter', () => { sessionIds: [], drmInfo: null, appMetadata: null, + creationTime: 0, streams: [ createAudioStreamDB(1, [0]), createAudioStreamDB(2, [1]), @@ -186,6 +189,7 @@ describe('ManifestConverter', () => { sessionIds: [], drmInfo: null, appMetadata: null, + creationTime: 0, streams: [ createVideoStreamDB(1, [0]), createTextStreamDB(2), @@ -218,6 +222,7 @@ describe('ManifestConverter', () => { sessionIds: [], drmInfo: null, appMetadata: null, + creationTime: 0, streams: [ // Audio createAudioStreamDB(audio1, [variant2]), diff --git a/test/offline/offline_manifest_parser_unit.js b/test/offline/offline_manifest_parser_unit.js index e7e4914de6..d8c9b6d4f5 100644 --- a/test/offline/offline_manifest_parser_unit.js +++ b/test/offline/offline_manifest_parser_unit.js @@ -198,6 +198,7 @@ filterDescribe('OfflineManifestParser', offlineManifestParserSupport, () => { /** @type {shaka.extern.ManifestDB} */ const manifest = { + creationTime: Date.now(), originalManifestUri: '', duration: 600 * seconds, size: 100 * mb, diff --git a/test/test/util/offline_utils.js b/test/test/util/offline_utils.js index 2145b08e51..7ab5b91580 100644 --- a/test/test/util/offline_utils.js +++ b/test/test/util/offline_utils.js @@ -13,6 +13,7 @@ shaka.test.OfflineUtils = class { */ static createManifest(originalUri) { return { + creationTime: Date.now(), appMetadata: null, drmInfo: null, duration: 90,