feat(ivs): support Multitrack Video#33370
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #33370 +/- ##
=======================================
Coverage 81.00% 81.00%
=======================================
Files 238 238
Lines 14269 14269
Branches 2492 2492
=======================================
Hits 11558 11558
Misses 2425 2425
Partials 286 286
Flags with carried forward coverage won't be shown. Click here to find out more.
|
✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.
fafae4f to
12393ae
Compare
| preset, | ||
| recordingConfigurationArn: props.recordingConfiguration?.recordingConfigurationArn, | ||
| containerFormat: props.containerFormat ?? | ||
| (props.multitrackInputConfiguration ? ContainerFormat.FRAGMENTED_MP4 : undefined), |
There was a problem hiding this comment.
When using multitrack video, the containerFormat needs to be set to fMP4.
Therefore, when multitrackInputConfiguration is set but containerFormat is not specified, I configured it to automatically set fMP4.
While I considered making it a validation error when containerFormat is not set, I decided this approach would be more user-friendly.
There was a problem hiding this comment.
agree with this approach 👍
| (props.multitrackInputConfiguration ? ContainerFormat.FRAGMENTED_MP4 : undefined), | ||
| multitrackInputConfiguration: props.multitrackInputConfiguration ? | ||
| { | ||
| enabled: true, |
There was a problem hiding this comment.
There are two configuration patterns for multitrackInputConfiguration in CFn:
- When
enabledisfalse, other properties cannot be set. The IVS default setting hasenabledasfalse. - When
enabledistrue, other properties must be set.
I felt that implementing these patterns in validation would become complex, and there's no real need to explicitly set enabled to false.
Therefore, in the L2 Construct, I abstracted this so that multitrackInputConfiguration is only set when we want to use multitrack video with enabled set to true.
| preset, | ||
| recordingConfigurationArn: props.recordingConfiguration?.recordingConfigurationArn, | ||
| containerFormat: props.containerFormat ?? | ||
| (props.multitrackInputConfiguration ? ContainerFormat.FRAGMENTED_MP4 : undefined), |
There was a problem hiding this comment.
agree with this approach 👍
| (props.multitrackInputConfiguration ? ContainerFormat.FRAGMENTED_MP4 : undefined), | ||
| multitrackInputConfiguration: props.multitrackInputConfiguration ? | ||
| { | ||
| enabled: true, |
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
|
Comments on closed issues and PRs are hard for our team to see. |
Issue # (if applicable)
N/A
Reason for this change
To support Multitrack video features.
Description of changes
Add following properties:
Describe any new or updated permissions being added
Nothing.
Description of how you validated changes
Add unit tests and an integ test.
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license