@remotion/lambda 4.0.0-reorg.8 → 4.0.0-retry.8
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/LICENSE.md +8 -8
- package/dist/admin/bundle-lambda.d.ts +0 -0
- package/dist/admin/bundle-lambda.js +0 -0
- package/dist/admin/make-layer-public.d.ts +0 -0
- package/dist/admin/make-layer-public.js +6 -6
- package/dist/api/bucket-exists.d.ts +0 -0
- package/dist/api/bucket-exists.js +1 -1
- package/dist/api/clean-items.d.ts +0 -0
- package/dist/api/clean-items.js +1 -1
- package/dist/api/create-bucket.d.ts +0 -0
- package/dist/api/create-bucket.js +1 -1
- package/dist/api/create-function.d.ts +0 -0
- package/dist/api/create-function.js +0 -0
- package/dist/api/delete-function.d.ts +0 -0
- package/dist/api/delete-function.js +0 -0
- package/dist/api/delete-render.d.ts +19 -0
- package/dist/api/delete-render.js +66 -0
- package/dist/api/delete-site.d.ts +0 -0
- package/dist/api/delete-site.js +0 -5
- package/dist/api/deploy-function.d.ts +0 -0
- package/dist/api/deploy-function.js +4 -2
- package/dist/api/deploy-site.d.ts +2 -0
- package/dist/api/deploy-site.js +2 -0
- package/dist/api/download-media.d.ts +13 -0
- package/dist/api/download-media.js +15 -3
- package/dist/api/enable-s3-website.d.ts +0 -0
- package/dist/api/enable-s3-website.js +1 -1
- package/dist/api/estimate-price.d.ts +0 -0
- package/dist/api/estimate-price.js +0 -0
- package/dist/api/get-aws-client.d.ts +4 -2
- package/dist/api/get-aws-client.js +7 -2
- package/dist/api/get-buckets.d.ts +0 -0
- package/dist/api/get-buckets.js +2 -2
- package/dist/api/get-function-info.d.ts +1 -2
- package/dist/api/get-function-info.js +0 -0
- package/dist/api/get-functions.d.ts +0 -0
- package/dist/api/get-functions.js +2 -1
- package/dist/api/get-or-create-bucket.d.ts +0 -0
- package/dist/api/get-or-create-bucket.js +0 -0
- package/dist/api/get-regions.d.ts +0 -0
- package/dist/api/get-regions.js +0 -0
- package/dist/api/get-render-progress.d.ts +4 -1
- package/dist/api/get-render-progress.js +5 -1
- package/dist/api/get-sites.d.ts +0 -0
- package/dist/api/get-sites.js +0 -0
- package/dist/api/iam-validation/role-permissions.d.ts +0 -0
- package/dist/api/iam-validation/role-permissions.js +0 -0
- package/dist/api/iam-validation/simulate-rule.d.ts +0 -0
- package/dist/api/iam-validation/simulate-rule.js +0 -0
- package/dist/api/iam-validation/simulate.d.ts +0 -0
- package/dist/api/iam-validation/simulate.js +0 -0
- package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
- package/dist/api/iam-validation/suggested-policy.js +0 -0
- package/dist/api/iam-validation/user-permissions.d.ts +0 -0
- package/dist/api/iam-validation/user-permissions.js +0 -0
- package/dist/api/mock-functions.d.ts +4 -5
- package/dist/api/mock-functions.js +0 -0
- package/dist/api/presign-url.d.ts +0 -0
- package/dist/api/presign-url.js +6 -1
- package/dist/api/render-media-on-lambda.d.ts +22 -10
- package/dist/api/render-media-on-lambda.js +77 -40
- package/dist/api/render-still-on-lambda.d.ts +6 -3
- package/dist/api/render-still-on-lambda.js +55 -29
- package/dist/api/upload-dir.d.ts +0 -0
- package/dist/api/upload-dir.js +6 -2
- package/dist/api/validate-webhook-signature.d.ts +13 -0
- package/dist/api/validate-webhook-signature.js +32 -0
- package/dist/cli/args.d.ts +4 -2
- package/dist/cli/args.js +1 -5
- package/dist/cli/commands/functions/deploy.d.ts +0 -0
- package/dist/cli/commands/functions/deploy.js +2 -1
- package/dist/cli/commands/functions/index.d.ts +0 -0
- package/dist/cli/commands/functions/index.js +0 -0
- package/dist/cli/commands/functions/ls.d.ts +0 -0
- package/dist/cli/commands/functions/ls.js +0 -0
- package/dist/cli/commands/functions/rm.d.ts +0 -0
- package/dist/cli/commands/functions/rm.js +0 -0
- package/dist/cli/commands/functions/rmall.d.ts +0 -0
- package/dist/cli/commands/functions/rmall.js +0 -0
- package/dist/cli/commands/policies/policies.d.ts +0 -0
- package/dist/cli/commands/policies/policies.js +0 -0
- package/dist/cli/commands/policies/role.d.ts +0 -0
- package/dist/cli/commands/policies/role.js +0 -0
- package/dist/cli/commands/policies/user.d.ts +0 -0
- package/dist/cli/commands/policies/user.js +0 -0
- package/dist/cli/commands/policies/validate.d.ts +0 -0
- package/dist/cli/commands/policies/validate.js +0 -0
- package/dist/cli/commands/quotas/increase.d.ts +0 -0
- package/dist/cli/commands/quotas/increase.js +0 -0
- package/dist/cli/commands/quotas/index.d.ts +0 -0
- package/dist/cli/commands/quotas/index.js +0 -0
- package/dist/cli/commands/quotas/list.d.ts +0 -0
- package/dist/cli/commands/quotas/list.js +0 -0
- package/dist/cli/commands/regions.d.ts +0 -0
- package/dist/cli/commands/regions.js +0 -0
- package/dist/cli/commands/render/progress.d.ts +0 -0
- package/dist/cli/commands/render/progress.js +0 -0
- package/dist/cli/commands/render/render.d.ts +0 -0
- package/dist/cli/commands/render/render.js +38 -22
- package/dist/cli/commands/sites/create.d.ts +1 -1
- package/dist/cli/commands/sites/create.js +6 -4
- package/dist/cli/commands/sites/index.d.ts +1 -1
- package/dist/cli/commands/sites/index.js +2 -2
- package/dist/cli/commands/sites/ls.d.ts +0 -0
- package/dist/cli/commands/sites/ls.js +0 -0
- package/dist/cli/commands/sites/rm.d.ts +0 -0
- package/dist/cli/commands/sites/rm.js +0 -0
- package/dist/cli/commands/sites/rmall.d.ts +0 -0
- package/dist/cli/commands/sites/rmall.js +0 -0
- package/dist/cli/commands/still.d.ts +0 -0
- package/dist/cli/commands/still.js +35 -24
- package/dist/cli/get-aws-region.d.ts +0 -0
- package/dist/cli/get-aws-region.js +2 -1
- package/dist/cli/help.d.ts +0 -0
- package/dist/cli/help.js +0 -0
- package/dist/cli/helpers/confirm.d.ts +0 -0
- package/dist/cli/helpers/confirm.js +0 -0
- package/dist/cli/helpers/date-string.d.ts +0 -0
- package/dist/cli/helpers/date-string.js +0 -0
- package/dist/cli/helpers/find-function-name.d.ts +0 -0
- package/dist/cli/helpers/find-function-name.js +3 -2
- package/dist/cli/helpers/progress-bar.d.ts +0 -0
- package/dist/cli/helpers/progress-bar.js +0 -0
- package/dist/cli/helpers/quit.d.ts +0 -0
- package/dist/cli/helpers/quit.js +0 -0
- package/dist/cli/helpers/yes-or-no.d.ts +0 -0
- package/dist/cli/helpers/yes-or-no.js +0 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +7 -6
- package/dist/cli/is-cli.d.ts +0 -0
- package/dist/cli/is-cli.js +0 -0
- package/dist/cli/log.d.ts +0 -0
- package/dist/cli/log.js +0 -0
- package/dist/client.d.ts +4 -2
- package/dist/client.js +3 -1
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.js +0 -0
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -5
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +1 -14
- package/dist/functions/chunk-optimization/types.d.ts +0 -12
- package/dist/functions/chunk-optimization/types.js +0 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
- package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
- package/dist/functions/helpers/calculate-chunk-times.js +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
- package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
- package/dist/functions/helpers/check-if-render-exists.js +14 -0
- package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
- package/dist/functions/helpers/clean-tmpdir.js +1 -1
- package/dist/functions/helpers/concat-videos.d.ts +3 -1
- package/dist/functions/helpers/concat-videos.js +25 -9
- package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/create-post-render-data.js +7 -2
- package/dist/functions/helpers/delete-chunks.d.ts +0 -0
- package/dist/functions/helpers/delete-chunks.js +0 -0
- package/dist/functions/helpers/expected-out-name.d.ts +4 -2
- package/dist/functions/helpers/expected-out-name.js +26 -5
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +3 -1
- package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
- package/dist/functions/helpers/format-costs-info.d.ts +0 -0
- package/dist/functions/helpers/format-costs-info.js +0 -0
- package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
- package/dist/functions/helpers/get-browser-instance.js +0 -0
- package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
- package/dist/functions/helpers/get-chromium-executable-path.js +0 -0
- package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
- package/dist/functions/helpers/get-cleanup-progress.js +0 -0
- package/dist/functions/helpers/get-current-architecture.d.ts +0 -0
- package/dist/functions/helpers/get-current-architecture.js +0 -0
- package/dist/functions/helpers/get-current-region.d.ts +0 -0
- package/dist/functions/helpers/get-current-region.js +0 -0
- package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
- package/dist/functions/helpers/get-custom-out-name.js +31 -0
- package/dist/functions/helpers/get-encoding-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-encoding-metadata.js +0 -0
- package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
- package/dist/functions/helpers/get-files-in-folder.js +0 -0
- package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
- package/dist/functions/helpers/get-files-to-delete.js +1 -1
- package/dist/functions/helpers/get-final-encoding-status.d.ts +0 -0
- package/dist/functions/helpers/get-final-encoding-status.js +0 -0
- package/dist/functions/helpers/get-folder-size.d.ts +0 -0
- package/dist/functions/helpers/get-folder-size.js +0 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +7 -2
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +8 -8
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +2 -1
- package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
- package/dist/functions/helpers/get-overall-progress.d.ts +0 -0
- package/dist/functions/helpers/get-overall-progress.js +0 -0
- package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/get-post-render-data.js +0 -0
- package/dist/functions/helpers/get-progress.d.ts +4 -2
- package/dist/functions/helpers/get-progress.js +20 -7
- package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-render-metadata.js +0 -0
- package/dist/functions/helpers/get-retry-stats.d.ts +0 -0
- package/dist/functions/helpers/get-retry-stats.js +1 -1
- package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
- package/dist/functions/helpers/get-time-to-finish.js +0 -0
- package/dist/functions/helpers/inspect-errors.d.ts +0 -0
- package/dist/functions/helpers/inspect-errors.js +0 -0
- package/dist/functions/helpers/io.d.ts +17 -1
- package/dist/functions/helpers/io.js +29 -8
- package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
- package/dist/functions/helpers/is-enosp-err.js +0 -0
- package/dist/functions/helpers/is-warm.d.ts +0 -0
- package/dist/functions/helpers/is-warm.js +0 -0
- package/dist/functions/helpers/min-max.d.ts +1 -1
- package/dist/functions/helpers/min-max.js +1 -1
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
- package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
- package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
- package/dist/functions/helpers/print-concurrency-curve.js +0 -0
- package/dist/functions/helpers/read-with-progress.d.ts +3 -1
- package/dist/functions/helpers/read-with-progress.js +3 -3
- package/dist/functions/helpers/timer.d.ts +0 -0
- package/dist/functions/helpers/timer.js +0 -0
- package/dist/functions/helpers/validate-composition.d.ts +5 -2
- package/dist/functions/helpers/validate-composition.js +7 -2
- package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
- package/dist/functions/helpers/write-lambda-error.js +1 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/write-post-render-data.js +1 -0
- package/dist/functions/index.d.ts +0 -0
- package/dist/functions/index.js +16 -6
- package/dist/functions/info.d.ts +2 -2
- package/dist/functions/info.js +2 -1
- package/dist/functions/launch.d.ts +1 -0
- package/dist/functions/launch.js +272 -79
- package/dist/functions/progress.d.ts +1 -1
- package/dist/functions/progress.js +10 -1
- package/dist/functions/renderer.d.ts +0 -0
- package/dist/functions/renderer.js +123 -73
- package/dist/functions/start.d.ts +5 -1
- package/dist/functions/start.js +27 -1
- package/dist/functions/still.d.ts +0 -0
- package/dist/functions/still.js +42 -8
- package/dist/index.d.ts +8 -2
- package/dist/index.js +5 -1
- package/dist/internals.d.ts +1 -1
- package/dist/internals.js +0 -0
- package/dist/pricing/aws-regions.d.ts +0 -0
- package/dist/pricing/aws-regions.js +0 -0
- package/dist/pricing/price-per-1-s.d.ts +0 -0
- package/dist/pricing/price-per-1-s.js +0 -0
- package/dist/regions.d.ts +0 -0
- package/dist/regions.js +0 -0
- package/dist/shared/await.d.ts +0 -0
- package/dist/shared/await.js +0 -0
- package/dist/shared/aws-clients.d.ts +13 -2
- package/dist/shared/aws-clients.js +56 -26
- package/dist/shared/bundle-site.d.ts +2 -1
- package/dist/shared/bundle-site.js +0 -0
- package/dist/shared/call-lambda.d.ts +0 -0
- package/dist/shared/call-lambda.js +0 -0
- package/dist/shared/check-credentials.d.ts +0 -0
- package/dist/shared/check-credentials.js +0 -0
- package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
- package/dist/shared/cleanup-serialized-input-props.js +19 -0
- package/dist/shared/constants.d.ts +57 -15
- package/dist/shared/constants.js +19 -10
- package/dist/shared/content-disposition-header.d.ts +0 -0
- package/dist/shared/content-disposition-header.js +0 -0
- package/dist/shared/convert-to-serve-url.d.ts +0 -0
- package/dist/shared/convert-to-serve-url.js +0 -0
- package/dist/shared/deserialize-input-props.d.ts +8 -0
- package/dist/shared/deserialize-input-props.js +26 -0
- package/dist/shared/docs-url.d.ts +0 -0
- package/dist/shared/docs-url.js +0 -0
- package/dist/shared/function-zip-path.d.ts +0 -0
- package/dist/shared/function-zip-path.js +0 -0
- package/dist/shared/get-account-id.d.ts +0 -0
- package/dist/shared/get-account-id.js +0 -0
- package/dist/{cli/helpers → shared}/get-cloudwatch-stream-url.d.ts +2 -2
- package/dist/{cli/helpers → shared}/get-cloudwatch-stream-url.js +0 -0
- package/dist/shared/get-function-version.d.ts +1 -2
- package/dist/shared/get-function-version.js +0 -0
- package/dist/shared/get-most-expensive-chunks.d.ts +0 -0
- package/dist/shared/get-most-expensive-chunks.js +0 -0
- package/dist/shared/hosted-layers.d.ts +0 -0
- package/dist/shared/hosted-layers.js +60 -60
- package/dist/shared/invoke-webhook.d.ts +44 -0
- package/dist/shared/invoke-webhook.js +89 -0
- package/dist/shared/is-in-lambda.d.ts +0 -0
- package/dist/shared/is-in-lambda.js +5 -1
- package/dist/shared/lambda-version-string.d.ts +1 -0
- package/dist/shared/lambda-version-string.js +7 -0
- package/dist/shared/make-s3-key.d.ts +0 -0
- package/dist/shared/make-s3-key.js +0 -0
- package/dist/shared/make-s3-url.d.ts +0 -0
- package/dist/shared/make-s3-url.js +0 -0
- package/dist/shared/p-limit.d.ts +0 -0
- package/dist/shared/p-limit.js +0 -0
- package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
- package/dist/shared/parse-lambda-initialized-key.js +0 -0
- package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
- package/dist/shared/parse-lambda-timings-key.js +0 -0
- package/dist/shared/random-hash.d.ts +0 -0
- package/dist/shared/random-hash.js +0 -0
- package/dist/shared/return-values.d.ts +0 -0
- package/dist/shared/return-values.js +0 -0
- package/dist/shared/serialize-input-props.d.ts +7 -0
- package/dist/shared/serialize-input-props.js +42 -0
- package/dist/shared/sleep.d.ts +0 -0
- package/dist/shared/sleep.js +0 -0
- package/dist/shared/stream-to-string.d.ts +0 -0
- package/dist/shared/stream-to-string.js +0 -0
- package/dist/shared/truthy.d.ts +0 -0
- package/dist/shared/truthy.js +0 -0
- package/dist/shared/validate-architecture.d.ts +0 -0
- package/dist/shared/validate-architecture.js +0 -0
- package/dist/shared/validate-aws-region.d.ts +0 -0
- package/dist/shared/validate-aws-region.js +0 -0
- package/dist/shared/validate-bucketname.d.ts +0 -0
- package/dist/shared/validate-bucketname.js +0 -0
- package/dist/shared/validate-custom-role-arn.d.ts +0 -0
- package/dist/shared/validate-custom-role-arn.js +0 -0
- package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
- package/dist/shared/validate-disk-size-in-mb.js +0 -0
- package/dist/shared/validate-download-behavior.d.ts +0 -0
- package/dist/shared/validate-download-behavior.js +0 -0
- package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
- package/dist/shared/validate-frames-per-lambda.js +4 -3
- package/dist/shared/validate-lambda-codec.d.ts +1 -1
- package/dist/shared/validate-lambda-codec.js +1 -0
- package/dist/shared/validate-memory-size.d.ts +0 -0
- package/dist/shared/validate-memory-size.js +0 -0
- package/dist/shared/validate-outname.d.ts +3 -2
- package/dist/shared/validate-outname.js +5 -1
- package/dist/shared/validate-presign-expiration.d.ts +0 -0
- package/dist/shared/validate-presign-expiration.js +0 -0
- package/dist/shared/validate-privacy.d.ts +0 -0
- package/dist/shared/validate-privacy.js +2 -2
- package/dist/shared/validate-retention-period.d.ts +0 -0
- package/dist/shared/validate-retention-period.js +0 -0
- package/dist/shared/validate-retries.d.ts +0 -0
- package/dist/shared/validate-retries.js +0 -0
- package/dist/shared/validate-serveurl.d.ts +0 -0
- package/dist/shared/validate-serveurl.js +0 -0
- package/dist/shared/validate-site-name.d.ts +0 -0
- package/dist/shared/validate-site-name.js +0 -0
- package/dist/shared/validate-timeout.d.ts +0 -0
- package/dist/shared/validate-timeout.js +0 -0
- package/package.json +20 -23
- package/remotionlambda.zip +0 -0
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
- package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
- package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
- package/dist/functions/chunk-optimization/collect-data.js +0 -27
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
- package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
- package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
- package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
- package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -46
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
- package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
- package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateFramesPerLambda = void 0;
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
|
-
const validateFramesPerLambda = (framesPerLambda) => {
|
|
5
|
+
const validateFramesPerLambda = ({ framesPerLambda, durationInFrames, }) => {
|
|
6
6
|
if (framesPerLambda === null) {
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
@@ -21,8 +21,9 @@ const validateFramesPerLambda = (framesPerLambda) => {
|
|
|
21
21
|
if (framesPerLambda % 1 !== 0) {
|
|
22
22
|
throw new TypeError(`'framesPerLambda' needs to be an integer, passed ${framesPerLambda}`);
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
const effectiveMinimum = Math.min(constants_1.MINIMUM_FRAMES_PER_LAMBDA, durationInFrames);
|
|
25
|
+
if (framesPerLambda < effectiveMinimum) {
|
|
26
|
+
throw new TypeError(`The framesPerLambda needs to be at least ${effectiveMinimum}, but is ${framesPerLambda}`);
|
|
26
27
|
}
|
|
27
28
|
};
|
|
28
29
|
exports.validateFramesPerLambda = validateFramesPerLambda;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const lambdaCodecs: readonly ["h264-mkv", "h264", "vp8", "mp3", "aac", "wav", "gif"];
|
|
1
|
+
declare const lambdaCodecs: readonly ["h264-mkv", "h264", "vp8", "mp3", "aac", "wav", "gif", "prores"];
|
|
2
2
|
export declare type LambdaCodec = typeof lambdaCodecs[number];
|
|
3
3
|
export declare const validateLambdaCodec: (codec: unknown) => LambdaCodec;
|
|
4
4
|
export {};
|
|
File without changes
|
|
File without changes
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { Codec } from '@remotion/renderer';
|
|
2
|
+
import type { OutNameInputWithoutCredentials } from './constants';
|
|
3
|
+
export declare const validateOutname: (outName: OutNameInputWithoutCredentials | undefined | null, codec?: Codec) => void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateOutname = void 0;
|
|
4
|
+
const renderer_1 = require("@remotion/renderer");
|
|
4
5
|
const validate_bucketname_1 = require("./validate-bucketname");
|
|
5
6
|
const validateS3Key = (s3Key) => {
|
|
6
7
|
if (typeof s3Key !== 'string') {
|
|
@@ -12,11 +13,14 @@ const validateS3Key = (s3Key) => {
|
|
|
12
13
|
'. Check for invalid characters.');
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
|
-
const validateOutname = (outName) => {
|
|
16
|
+
const validateOutname = (outName, codec) => {
|
|
16
17
|
if (typeof outName === 'undefined' || outName === null) {
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
19
20
|
if (typeof outName === 'string') {
|
|
21
|
+
if (codec) {
|
|
22
|
+
(0, renderer_1.validateOutputFilename)(codec, renderer_1.RenderInternals.getExtensionOfFilename(outName !== null && outName !== void 0 ? outName : null));
|
|
23
|
+
}
|
|
20
24
|
validateS3Key(outName);
|
|
21
25
|
return;
|
|
22
26
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -5,8 +5,8 @@ function validatePrivacy(privacy) {
|
|
|
5
5
|
if (typeof privacy !== 'string') {
|
|
6
6
|
throw new TypeError('Privacy must be a string');
|
|
7
7
|
}
|
|
8
|
-
if (privacy !== 'private' && privacy !== 'public') {
|
|
9
|
-
throw new TypeError('Privacy must be either "private"
|
|
8
|
+
if (privacy !== 'private' && privacy !== 'public' && privacy !== 'no-acl') {
|
|
9
|
+
throw new TypeError('Privacy must be either "private", "public-read" or "no-acl"');
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.validatePrivacy = validatePrivacy;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/lambda",
|
|
3
|
-
"version": "4.0.0-
|
|
3
|
+
"version": "4.0.0-retry.8+c5430346e",
|
|
4
4
|
"description": "Distributed renderer for Remotion based on AWS Lambda",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"bin": {
|
|
8
8
|
"remotion-lambda": "remotion-lambda-cli.js"
|
|
9
9
|
},
|
|
10
|
-
"module": "true",
|
|
11
10
|
"scripts": {
|
|
12
|
-
"
|
|
13
|
-
"testintegration": "jest src/test/integration --runInBand",
|
|
11
|
+
"testintegration": "vitest src/test/integration --run",
|
|
14
12
|
"lint": "eslint src --ext ts,tsx",
|
|
15
|
-
"test": "
|
|
13
|
+
"test": "vitest src/test/unit --run",
|
|
16
14
|
"watch": "tsc -w",
|
|
17
15
|
"build": "tsc -d && pnpm run buildlambda",
|
|
18
16
|
"buildlambda": "ts-node src/admin/bundle-lambda.ts",
|
|
19
|
-
"start": "ts-node src/run.ts"
|
|
17
|
+
"start": "ts-node src/run.ts",
|
|
18
|
+
"prepublishOnly": "ts-node src/admin/bundle-lambda.ts && node ensure-version-match.js"
|
|
20
19
|
},
|
|
21
20
|
"author": "",
|
|
22
21
|
"license": "MIT",
|
|
@@ -24,20 +23,20 @@
|
|
|
24
23
|
"url": "https://github.com/JonnyBurger/remotion"
|
|
25
24
|
},
|
|
26
25
|
"dependencies": {
|
|
27
|
-
"@aws-sdk/abort-controller": "3.
|
|
28
|
-
"@aws-sdk/client-cloudwatch-logs": "3.
|
|
29
|
-
"@aws-sdk/client-iam": "3.
|
|
30
|
-
"@aws-sdk/client-lambda": "3.
|
|
31
|
-
"@aws-sdk/client-s3": "3.
|
|
32
|
-
"@aws-sdk/client-service-quotas": "3.
|
|
33
|
-
"@aws-sdk/lib-storage": "3.
|
|
34
|
-
"@aws-sdk/s3-request-presigner": "3.
|
|
35
|
-
"@remotion/bundler": "4.0.0-
|
|
36
|
-
"@remotion/cli": "4.0.0-
|
|
37
|
-
"@remotion/renderer": "4.0.0-
|
|
26
|
+
"@aws-sdk/abort-controller": "3.190.0",
|
|
27
|
+
"@aws-sdk/client-cloudwatch-logs": "3.190.0",
|
|
28
|
+
"@aws-sdk/client-iam": "3.190.0",
|
|
29
|
+
"@aws-sdk/client-lambda": "3.190.0",
|
|
30
|
+
"@aws-sdk/client-s3": "3.190.0",
|
|
31
|
+
"@aws-sdk/client-service-quotas": "3.190.0",
|
|
32
|
+
"@aws-sdk/lib-storage": "3.190.0",
|
|
33
|
+
"@aws-sdk/s3-request-presigner": "3.190.0",
|
|
34
|
+
"@remotion/bundler": "4.0.0-retry.8+c5430346e",
|
|
35
|
+
"@remotion/cli": "4.0.0-retry.8+c5430346e",
|
|
36
|
+
"@remotion/renderer": "4.0.0-retry.8+c5430346e",
|
|
38
37
|
"aws-policies": "^1.0.1",
|
|
39
38
|
"mime-types": "2.1.34",
|
|
40
|
-
"remotion": "4.0.0-
|
|
39
|
+
"remotion": "4.0.0-retry.8+c5430346e"
|
|
41
40
|
},
|
|
42
41
|
"peerDependencies": {
|
|
43
42
|
"react": ">=16.8.0",
|
|
@@ -45,22 +44,20 @@
|
|
|
45
44
|
},
|
|
46
45
|
"devDependencies": {
|
|
47
46
|
"@jonny/eslint-config": "3.0.266",
|
|
48
|
-
"@types/jest": "^27.0.2",
|
|
49
47
|
"@types/mime-types": "2.1.1",
|
|
50
48
|
"@types/minimist": "1.2.2",
|
|
51
49
|
"@types/node": "^14.14.14",
|
|
52
50
|
"@types/prompt": "^1.1.0",
|
|
53
|
-
"eslint": "8.
|
|
54
|
-
"jest": "^27.2.4",
|
|
51
|
+
"eslint": "8.25.0",
|
|
55
52
|
"prettier": "^2.4.1",
|
|
56
53
|
"prettier-plugin-organize-imports": "^2.3.4",
|
|
57
|
-
"ts-jest": "^27.0.5",
|
|
58
54
|
"ts-node": "^10.8.0",
|
|
59
55
|
"typescript": "^4.7.0",
|
|
56
|
+
"vitest": "^0.24.3",
|
|
60
57
|
"zip-lib": "^0.7.2"
|
|
61
58
|
},
|
|
62
59
|
"publishConfig": {
|
|
63
60
|
"access": "public"
|
|
64
61
|
},
|
|
65
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "c5430346ee9385f740948246b3d0774913f9ad6c"
|
|
66
63
|
}
|
package/remotionlambda.zip
CHANGED
|
Binary file
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canUseOptimization = void 0;
|
|
4
|
-
const defaults_1 = require("../../defaults");
|
|
5
|
-
const canUseOptimization = ({ optimization, framesPerLambda, frameRange, }) => {
|
|
6
|
-
if (!optimization) {
|
|
7
|
-
return false;
|
|
8
|
-
}
|
|
9
|
-
if (optimization.framesPerLambda !== framesPerLambda) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
if (optimization.lambdaVersion !== defaults_1.CURRENT_VERSION) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
if (optimization.frameRange[0] !== frameRange[0]) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
if (optimization.frameRange[1] !== frameRange[1]) {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
return true;
|
|
22
|
-
};
|
|
23
|
-
exports.canUseOptimization = canUseOptimization;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
-
export declare const collectChunkInformation: ({ bucketName, renderId, region, expectedBucketOwner, }: {
|
|
3
|
-
bucketName: string;
|
|
4
|
-
renderId: string;
|
|
5
|
-
region: AwsRegion;
|
|
6
|
-
expectedBucketOwner: string;
|
|
7
|
-
}) => Promise<(Omit<import("./types").ObjectChunkTimingData, "timings"> & {
|
|
8
|
-
timings: number[];
|
|
9
|
-
})[]>;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.collectChunkInformation = void 0;
|
|
4
|
-
const constants_1 = require("../../shared/constants");
|
|
5
|
-
const stream_to_string_1 = require("../../shared/stream-to-string");
|
|
6
|
-
const io_1 = require("../helpers/io");
|
|
7
|
-
const collectChunkInformation = async ({ bucketName, renderId, region, expectedBucketOwner, }) => {
|
|
8
|
-
const prefix = (0, constants_1.lambdaTimingsPrefix)(renderId);
|
|
9
|
-
const timingFiles = await (0, io_1.lambdaLs)({
|
|
10
|
-
bucketName,
|
|
11
|
-
prefix,
|
|
12
|
-
region,
|
|
13
|
-
expectedBucketOwner,
|
|
14
|
-
});
|
|
15
|
-
const timingFileContents = await Promise.all(timingFiles.map(async (file) => {
|
|
16
|
-
const contents = await (0, io_1.lambdaReadFile)({
|
|
17
|
-
bucketName,
|
|
18
|
-
key: file.Key,
|
|
19
|
-
region,
|
|
20
|
-
expectedBucketOwner,
|
|
21
|
-
});
|
|
22
|
-
const string = await (0, stream_to_string_1.streamToString)(contents);
|
|
23
|
-
return JSON.parse(string);
|
|
24
|
-
}));
|
|
25
|
-
return timingFileContents;
|
|
26
|
-
};
|
|
27
|
-
exports.collectChunkInformation = collectChunkInformation;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sortProfileByFrameRanges = exports.getFrameRangesFromProfile = void 0;
|
|
4
|
-
const getFrameRangesFromProfile = (profile) => {
|
|
5
|
-
return profile.map((p) => p.frameRange);
|
|
6
|
-
};
|
|
7
|
-
exports.getFrameRangesFromProfile = getFrameRangesFromProfile;
|
|
8
|
-
const sortProfileByFrameRanges = (profile) => {
|
|
9
|
-
return profile.slice().sort((a, b) => a.frameRange[0] - b.frameRange[0]);
|
|
10
|
-
};
|
|
11
|
-
exports.sortProfileByFrameRanges = sortProfileByFrameRanges;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getProfileDuration = exports.getTimingEndTimestamps = void 0;
|
|
4
|
-
const getTimingEndTimestamps = (chunk) => {
|
|
5
|
-
return chunk.timings.map((timing) => chunk.startDate + timing);
|
|
6
|
-
};
|
|
7
|
-
exports.getTimingEndTimestamps = getTimingEndTimestamps;
|
|
8
|
-
const getProfileTimestamps = (chunks) => {
|
|
9
|
-
return chunks.map((c) => (0, exports.getTimingEndTimestamps)(c));
|
|
10
|
-
};
|
|
11
|
-
const getProfileDuration = (chunks) => {
|
|
12
|
-
const startTimeStamps = chunks.map((c) => c.startDate).flat(1);
|
|
13
|
-
const endTimestamps = getProfileTimestamps(chunks).flat(1);
|
|
14
|
-
const earliest = Math.min(...startTimeStamps);
|
|
15
|
-
const latest = Math.max(...endTimestamps);
|
|
16
|
-
return latest - earliest;
|
|
17
|
-
};
|
|
18
|
-
exports.getProfileDuration = getProfileDuration;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isValidOptimizationProfile = void 0;
|
|
4
|
-
const renderer_1 = require("@remotion/renderer");
|
|
5
|
-
const isValidOptimizationProfile = (profile) => {
|
|
6
|
-
return profile.every((timing) => {
|
|
7
|
-
const frames = renderer_1.RenderInternals.getFramesToRender(timing.frameRange, 1);
|
|
8
|
-
const values = Object.values(timing.timings);
|
|
9
|
-
return frames.length === values.length && values.every((v) => v > 0);
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
exports.isValidOptimizationProfile = isValidOptimizationProfile;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.optimizeInvocationOrder = void 0;
|
|
4
|
-
const sort_by_duration_1 = require("./sort-by-duration");
|
|
5
|
-
const optimizeInvocationOrder = (profile) => {
|
|
6
|
-
const sortedByDuration = (0, sort_by_duration_1.sortProfileByDuration)(profile).reverse();
|
|
7
|
-
const sortedByStartTime = profile
|
|
8
|
-
.slice()
|
|
9
|
-
.map((a) => a.startDate)
|
|
10
|
-
.sort((a, b) => a - b);
|
|
11
|
-
const result = sortedByStartTime.map((prof, i) => {
|
|
12
|
-
return {
|
|
13
|
-
...sortedByDuration[i],
|
|
14
|
-
startDate: prof,
|
|
15
|
-
};
|
|
16
|
-
});
|
|
17
|
-
return result;
|
|
18
|
-
};
|
|
19
|
-
exports.optimizeInvocationOrder = optimizeInvocationOrder;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { TimingProfile } from './types';
|
|
2
|
-
export declare const assignFrameToOther: ({ frameRanges, fromChunk, toChunk, framesToShift, }: {
|
|
3
|
-
frameRanges: [number, number][];
|
|
4
|
-
fromChunk: number;
|
|
5
|
-
toChunk: number;
|
|
6
|
-
framesToShift: number;
|
|
7
|
-
}) => [number, number][];
|
|
8
|
-
export declare const optimizeProfile: (_profile: TimingProfile) => TimingProfile;
|
|
9
|
-
export declare const optimizeProfileRecursively: (profile: TimingProfile, amount: number) => TimingProfile;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.optimizeProfileRecursively = exports.optimizeProfile = exports.assignFrameToOther = void 0;
|
|
4
|
-
const get_frame_ranges_from_profile_1 = require("./get-frame-ranges-from-profile");
|
|
5
|
-
const simulate_frame_ranges_1 = require("./simulate-frame-ranges");
|
|
6
|
-
const sort_by_duration_1 = require("./sort-by-duration");
|
|
7
|
-
const assignFrameToOther = ({ frameRanges, fromChunk, toChunk, framesToShift, }) => {
|
|
8
|
-
if (fromChunk < toChunk) {
|
|
9
|
-
return frameRanges.map((frameRange, i) => {
|
|
10
|
-
if (i === fromChunk) {
|
|
11
|
-
return [frameRange[0], frameRange[1] - framesToShift];
|
|
12
|
-
}
|
|
13
|
-
if (i === toChunk) {
|
|
14
|
-
return [frameRange[0] - framesToShift, frameRange[1]];
|
|
15
|
-
}
|
|
16
|
-
if (i > fromChunk && i < toChunk) {
|
|
17
|
-
return [frameRange[0] - framesToShift, frameRange[1] - framesToShift];
|
|
18
|
-
}
|
|
19
|
-
return frameRange;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
return frameRanges.map((frameRange, i) => {
|
|
23
|
-
if (i === fromChunk) {
|
|
24
|
-
return [frameRange[0] + framesToShift, frameRange[1]];
|
|
25
|
-
}
|
|
26
|
-
if (i === toChunk) {
|
|
27
|
-
return [frameRange[0], frameRange[1] + framesToShift];
|
|
28
|
-
}
|
|
29
|
-
if (i > toChunk && i < fromChunk) {
|
|
30
|
-
return [frameRange[0] + framesToShift, frameRange[1] + framesToShift];
|
|
31
|
-
}
|
|
32
|
-
return frameRange;
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
exports.assignFrameToOther = assignFrameToOther;
|
|
36
|
-
const optimizeProfile = (_profile) => {
|
|
37
|
-
const sortedByStart = _profile
|
|
38
|
-
.slice()
|
|
39
|
-
.sort((a, b) => a.frameRange[0] - b.frameRange[0]);
|
|
40
|
-
const sortedByDuration = (0, sort_by_duration_1.sortProfileByDuration)(sortedByStart);
|
|
41
|
-
const indexOfFastest = sortedByStart.indexOf(sortedByDuration[0]);
|
|
42
|
-
if (indexOfFastest === -1) {
|
|
43
|
-
throw new Error('invalid timing profile: ' + JSON.stringify(_profile));
|
|
44
|
-
}
|
|
45
|
-
const slowest = sortedByDuration[sortedByDuration.length - 1];
|
|
46
|
-
const indexOfSlowest = sortedByStart.indexOf(slowest);
|
|
47
|
-
if (indexOfSlowest === -1) {
|
|
48
|
-
throw new Error('invalid timing profile: ' + JSON.stringify(_profile));
|
|
49
|
-
}
|
|
50
|
-
const frameRanges = (0, get_frame_ranges_from_profile_1.getFrameRangesFromProfile)(sortedByStart);
|
|
51
|
-
if (indexOfFastest === indexOfSlowest) {
|
|
52
|
-
return _profile;
|
|
53
|
-
}
|
|
54
|
-
const newFrameRanges = (0, exports.assignFrameToOther)({
|
|
55
|
-
frameRanges,
|
|
56
|
-
fromChunk: indexOfSlowest,
|
|
57
|
-
toChunk: indexOfFastest,
|
|
58
|
-
framesToShift: Math.max(1, Math.min(2, Math.floor(slowest.timings.length / 3))),
|
|
59
|
-
});
|
|
60
|
-
const simulated = (0, simulate_frame_ranges_1.simulateFrameRanges)({
|
|
61
|
-
profile: sortedByStart,
|
|
62
|
-
newFrameRanges,
|
|
63
|
-
});
|
|
64
|
-
return simulated;
|
|
65
|
-
};
|
|
66
|
-
exports.optimizeProfile = optimizeProfile;
|
|
67
|
-
const optimizeProfileRecursively = (profile, amount) => {
|
|
68
|
-
let optimized = profile;
|
|
69
|
-
for (let i = 0; i < amount; i++) {
|
|
70
|
-
optimized = (0, exports.optimizeProfile)(optimized);
|
|
71
|
-
}
|
|
72
|
-
return optimized;
|
|
73
|
-
};
|
|
74
|
-
exports.optimizeProfileRecursively = optimizeProfileRecursively;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
-
import type { OptimizationProfile } from './types';
|
|
3
|
-
export declare const writeOptimization: ({ bucketName, optimization, compositionId, siteId, region, expectedBucketOwner, }: {
|
|
4
|
-
bucketName: string;
|
|
5
|
-
optimization: OptimizationProfile;
|
|
6
|
-
compositionId: string;
|
|
7
|
-
siteId: string;
|
|
8
|
-
region: AwsRegion;
|
|
9
|
-
expectedBucketOwner: string;
|
|
10
|
-
}) => Promise<void>;
|
|
11
|
-
export declare const getOptimization: ({ siteId, compositionId, bucketName, region, expectedBucketOwner, }: {
|
|
12
|
-
bucketName: string;
|
|
13
|
-
siteId: string;
|
|
14
|
-
compositionId: string;
|
|
15
|
-
region: AwsRegion;
|
|
16
|
-
expectedBucketOwner: string;
|
|
17
|
-
}) => Promise<OptimizationProfile | null>;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getOptimization = exports.writeOptimization = void 0;
|
|
4
|
-
const constants_1 = require("../../shared/constants");
|
|
5
|
-
const stream_to_string_1 = require("../../shared/stream-to-string");
|
|
6
|
-
const io_1 = require("../helpers/io");
|
|
7
|
-
const writeOptimization = async ({ bucketName, optimization, compositionId, siteId, region, expectedBucketOwner, }) => {
|
|
8
|
-
await (0, io_1.lambdaWriteFile)({
|
|
9
|
-
bucketName,
|
|
10
|
-
body: JSON.stringify(optimization),
|
|
11
|
-
key: (0, constants_1.optimizationProfile)(siteId, compositionId) + '.json',
|
|
12
|
-
region,
|
|
13
|
-
privacy: 'private',
|
|
14
|
-
expectedBucketOwner,
|
|
15
|
-
downloadBehavior: null,
|
|
16
|
-
});
|
|
17
|
-
};
|
|
18
|
-
exports.writeOptimization = writeOptimization;
|
|
19
|
-
const getOptimization = async ({ siteId, compositionId, bucketName, region, expectedBucketOwner, }) => {
|
|
20
|
-
const prefix = (0, constants_1.optimizationProfile)(siteId, compositionId);
|
|
21
|
-
const dir = await (0, io_1.lambdaLs)({
|
|
22
|
-
bucketName,
|
|
23
|
-
prefix,
|
|
24
|
-
region,
|
|
25
|
-
expectedBucketOwner,
|
|
26
|
-
});
|
|
27
|
-
const files = dir
|
|
28
|
-
.sort((a, b) => {
|
|
29
|
-
var _a, _b;
|
|
30
|
-
return ((_a = a.LastModified) === null || _a === void 0 ? void 0 : _a.getTime()) -
|
|
31
|
-
((_b = b.LastModified) === null || _b === void 0 ? void 0 : _b.getTime());
|
|
32
|
-
})
|
|
33
|
-
.reverse();
|
|
34
|
-
if (files.length === 0) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
const body = await (0, io_1.lambdaReadFile)({
|
|
38
|
-
bucketName,
|
|
39
|
-
key: files[0].Key,
|
|
40
|
-
region,
|
|
41
|
-
expectedBucketOwner,
|
|
42
|
-
});
|
|
43
|
-
const str = await (0, stream_to_string_1.streamToString)(body);
|
|
44
|
-
return JSON.parse(str);
|
|
45
|
-
};
|
|
46
|
-
exports.getOptimization = getOptimization;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ChunkTimingData, TimingProfile } from './types';
|
|
2
|
-
export declare const getTimingForFrame: (profile: TimingProfile, frame: number) => number;
|
|
3
|
-
export declare const getSimulatedTimingForFrameRange: (profile: TimingProfile, frameRange: [number, number]) => ChunkTimingData['timings'];
|
|
4
|
-
export declare const simulateFrameRanges: ({ profile, newFrameRanges, }: {
|
|
5
|
-
profile: TimingProfile;
|
|
6
|
-
newFrameRanges: [number, number][];
|
|
7
|
-
}) => TimingProfile;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.simulateFrameRanges = exports.getSimulatedTimingForFrameRange = exports.getTimingForFrame = void 0;
|
|
4
|
-
const getTimingForFrame = (profile, frame) => {
|
|
5
|
-
for (const timingInfo of profile) {
|
|
6
|
-
if (timingInfo.frameRange[0] > frame || timingInfo.frameRange[1] < frame) {
|
|
7
|
-
continue;
|
|
8
|
-
}
|
|
9
|
-
let lastTime = timingInfo.startDate;
|
|
10
|
-
for (let i = 0; i < timingInfo.timings.length; i++) {
|
|
11
|
-
const actualFrame = i + timingInfo.frameRange[0];
|
|
12
|
-
const timing = timingInfo.timings[i];
|
|
13
|
-
const absolute = timing + timingInfo.startDate;
|
|
14
|
-
if (actualFrame === frame) {
|
|
15
|
-
return absolute - lastTime;
|
|
16
|
-
}
|
|
17
|
-
lastTime = absolute;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
throw new Error(`Frame ${frame} was not rendered`);
|
|
21
|
-
};
|
|
22
|
-
exports.getTimingForFrame = getTimingForFrame;
|
|
23
|
-
const getSimulatedTimingForFrameRange = (profile, frameRange) => {
|
|
24
|
-
const timings = [];
|
|
25
|
-
let totalDuration = 0;
|
|
26
|
-
for (let i = frameRange[0]; i <= frameRange[1]; i++) {
|
|
27
|
-
const timingForFrame = (0, exports.getTimingForFrame)(profile, i);
|
|
28
|
-
timings.push(timingForFrame + totalDuration);
|
|
29
|
-
totalDuration += timingForFrame;
|
|
30
|
-
}
|
|
31
|
-
return timings;
|
|
32
|
-
};
|
|
33
|
-
exports.getSimulatedTimingForFrameRange = getSimulatedTimingForFrameRange;
|
|
34
|
-
const simulateFrameRanges = ({ profile, newFrameRanges, }) => {
|
|
35
|
-
if (profile.length !== newFrameRanges.length) {
|
|
36
|
-
throw new Error('Expected previous and new frame ranges to be equal');
|
|
37
|
-
}
|
|
38
|
-
return newFrameRanges.map((range, i) => {
|
|
39
|
-
return {
|
|
40
|
-
timings: (0, exports.getSimulatedTimingForFrameRange)(profile, range),
|
|
41
|
-
chunk: i,
|
|
42
|
-
frameRange: range,
|
|
43
|
-
startDate: profile[i].startDate,
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
exports.simulateFrameRanges = simulateFrameRanges;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sortProfileByDuration = void 0;
|
|
4
|
-
const get_profile_duration_1 = require("./get-profile-duration");
|
|
5
|
-
const durationCache = new Map();
|
|
6
|
-
const getChunkDuration = (chunk) => {
|
|
7
|
-
const inCache = durationCache.get(chunk);
|
|
8
|
-
if (inCache) {
|
|
9
|
-
return inCache;
|
|
10
|
-
}
|
|
11
|
-
const timestamps = (0, get_profile_duration_1.getTimingEndTimestamps)(chunk);
|
|
12
|
-
const duration = Math.max(...timestamps) - chunk.startDate;
|
|
13
|
-
durationCache.set(chunk, duration);
|
|
14
|
-
return duration;
|
|
15
|
-
};
|
|
16
|
-
const sortProfileByDuration = (profile) => {
|
|
17
|
-
const sortedByDuration = profile.slice().sort((a, b) => {
|
|
18
|
-
const aDuration = getChunkDuration(a);
|
|
19
|
-
const bDuration = getChunkDuration(b);
|
|
20
|
-
return aDuration - bDuration;
|
|
21
|
-
});
|
|
22
|
-
durationCache.clear();
|
|
23
|
-
return sortedByDuration;
|
|
24
|
-
};
|
|
25
|
-
exports.sortProfileByDuration = sortProfileByDuration;
|