Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix run steps in cmaf-ham-conversion README #89

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
440 commits
Select commit Hold shift + click to select a range
1fd658b
Add byterange and url to track
NoeliaBentancor Mar 1, 2024
51acccf
feat: Upgraded way to get codecs, frame rate, sar and number of segme…
DuckyCB Mar 1, 2024
8f93a9b
Add map to hls manifest
NoeliaBentancor Mar 1, 2024
a061b4b
Add quotes
NoeliaBentancor Mar 1, 2024
71d5ec1
feat: Set und as empty language. Upgrade getChannels feature
DuckyCB Mar 1, 2024
4b27e0f
Add quotes
NoeliaBentancor Mar 1, 2024
b8b03eb
Add sample cases
NoeliaBentancor Mar 1, 2024
4c0670b
Delete unnecesary tests
NoeliaBentancor Mar 1, 2024
798af27
Fix mapMpdToHam to parse mimeType, name and SegmentList
matiasrb97 Mar 1, 2024
7c89b4e
fix: Fix tests.
DuckyCB Mar 1, 2024
0cb2405
Delete test files and update newline formatter
NoeliaBentancor Mar 1, 2024
79bdc7b
Fix typo issue
NoeliaBentancor Mar 1, 2024
54006c0
Format code
NoeliaBentancor Mar 1, 2024
8744595
feat: Add 4 more samples that should be playable with a player.
DuckyCB Mar 1, 2024
cd37af3
Working on converting mpd to ham and ham to mpd making it playable
matiasrb97 Mar 1, 2024
144d66f
Working on converting mpd to ham and ham to mpd making it playable
matiasrb97 Mar 1, 2024
ab3112c
Fix mapMpdToHam and mapHamToMpd to consider segment list case, now mp…
matiasrb97 Mar 4, 2024
fd5e506
Fix mapMpdToHam and mapHamToMpd to consider segment list case, now mp…
matiasrb97 Mar 4, 2024
3670df7
Merge pull request #21 from qualabs/fix/ham-hls
NoeliaBentancor Mar 4, 2024
292ec15
Change tabs for spaces in mpdSample5.ts
matiasrb97 Mar 4, 2024
4841373
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-test-more-samples
matiasrb97 Mar 4, 2024
9cfab7e
Put original mpdSample5 xml code
matiasrb97 Mar 4, 2024
0e0ab76
feat: Fix audio properties. Reduce long functions file.
DuckyCB Mar 4, 2024
3815e92
Undo eslint brace style log level change
matiasrb97 Mar 4, 2024
9153343
Update test imports
DuckyCB Mar 4, 2024
c7b3694
Add playlist for manifest samples and fix undefined issue
NoeliaBentancor Mar 4, 2024
845c3a1
Delete output folder
NoeliaBentancor Mar 4, 2024
56d7d5f
Convert tracks types to lower case when comparing
NoeliaBentancor Mar 4, 2024
3f535b0
Merge remote-tracking branch 'origin/feature/cmaf-ham-test-more-sampl…
DuckyCB Mar 5, 2024
7eb30e2
Merge pull request #17 from qualabs/feature/cmaf-ham-test-more-samples
matiasrb97 Mar 5, 2024
cc64814
Merge pull request #20 from qualabs/fix/dash-manifest-fix
matiasrb97 Mar 5, 2024
bf81760
Change the way unhandled undefined attributes are set
NoeliaBentancor Mar 5, 2024
a3b9e49
Merge branch 'feature/cmaf-ham' of https://github.com/qualabs/common-…
NoeliaBentancor Mar 5, 2024
d399839
Change hls manifest url
NoeliaBentancor Mar 5, 2024
b93a4b9
Fix mapHamToHls checks
matiasrb97 Mar 5, 2024
0d7cbc4
Merge pull request #22 from qualabs/fix/hls
NoeliaBentancor Mar 5, 2024
e8228ea
fix: fix types export
DuckyCB Mar 6, 2024
5f7e26d
Merge pull request #23 from qualabs/feature/cmaf-ham-fix-types-export
matiasrb97 Mar 7, 2024
08a8b82
Fix Manifest import
matiasrb97 Mar 7, 2024
846cfc0
feat: Add some CMAF-HAM documentation
DuckyCB Mar 7, 2024
78aedf1
feat: Set version to alpha instead of beta.
DuckyCB Mar 8, 2024
d1b7c2e
feat: Create default export for cmaf-ham
DuckyCB Mar 8, 2024
af78d0a
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-add-docs
DuckyCB Mar 8, 2024
3342479
Add media-sequence and playlist type in hls resulting manifest
NoeliaBentancor Mar 8, 2024
36310d9
Add end list tag
NoeliaBentancor Mar 8, 2024
e7cd4b7
Add documentation for track validity
NoeliaBentancor Mar 11, 2024
4d3b994
Add documentation for track validity type
NoeliaBentancor Mar 11, 2024
0163555
fix: Fix duration from mapper.
DuckyCB Mar 11, 2024
7adea73
fix: Update doc description.
DuckyCB Mar 12, 2024
85c183b
Update lib/src/cmaf/ham/mapper/hls/mapHamToHls.ts
NoeliaBentancor Mar 12, 2024
0d4296b
Delete unnecesary condition
NoeliaBentancor Mar 12, 2024
821ed58
feat: Fix mapper from ham to dash
DuckyCB Mar 12, 2024
ad6c385
feat: Fix mapper from ham to dash. Add function description
DuckyCB Mar 12, 2024
451a319
Merge pull request #25 from qualabs/fix/hls-ham-media-sequence
NoeliaBentancor Mar 12, 2024
877a1cb
feat: Add documentation.
DuckyCB Mar 12, 2024
ec6abdc
feat: Remove comment
DuckyCB Mar 12, 2024
784b97d
Merge pull request #24 from qualabs/feature/cmaf-ham-add-docs
DuckyCB Mar 12, 2024
d9db39b
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-fix-dash-mapper
DuckyCB Mar 12, 2024
e9e5f9e
feat: Upgrade ham to mpd timescale conversion.
DuckyCB Mar 13, 2024
caccccf
feat: Change ham to mpd function names.
DuckyCB Mar 13, 2024
08aa9a1
Merge pull request #26 from qualabs/feature/cmaf-ham-fix-dash-mapper
DuckyCB Mar 13, 2024
0ee4c59
Fix byterange
NoeliaBentancor Mar 13, 2024
2e16a08
Delete unnecesary test
NoeliaBentancor Mar 13, 2024
51749d6
feat: Update function names. Create unit tests.
DuckyCB Mar 14, 2024
0faf2a7
feat: Add more tests
DuckyCB Mar 14, 2024
01649e0
Add check for segment byterange
NoeliaBentancor Mar 14, 2024
9c1c825
Add url init to ham
NoeliaBentancor Mar 15, 2024
76d5557
Format init url
NoeliaBentancor Mar 15, 2024
530751a
Add init url
NoeliaBentancor Mar 15, 2024
954d241
Delete unnecesary comment
NoeliaBentancor Mar 15, 2024
d44ae92
Delete unnecesary manifest sample
NoeliaBentancor Mar 15, 2024
6fbd96b
Change track name to filename
NoeliaBentancor Mar 15, 2024
5a953da
Extract initialization url to another function
NoeliaBentancor Mar 15, 2024
253a281
Update lib/src/cmaf/ham/mapper/hls/mapHamToHls.ts
NoeliaBentancor Mar 18, 2024
1e67e1c
Add white space and white space encoded
NoeliaBentancor Mar 18, 2024
68eabd3
Merge branch 'fix/dash-hls-interoperability' of https://github.com/qu…
NoeliaBentancor Mar 18, 2024
76770bc
Delete harcoded code
NoeliaBentancor Mar 18, 2024
0b64787
Add constants file in utils
NoeliaBentancor Mar 18, 2024
4adc8d9
Change attribute name for file
NoeliaBentancor Mar 18, 2024
3bbd540
Fix text track hls map
NoeliaBentancor Mar 18, 2024
eee03c8
Fix text track for concating
NoeliaBentancor Mar 18, 2024
9b3d358
Fix representation mime type
NoeliaBentancor Mar 18, 2024
e779600
Delete test
NoeliaBentancor Mar 18, 2024
67bc133
Fix expression condition
NoeliaBentancor Mar 18, 2024
0b49b44
Fix get url init function@
NoeliaBentancor Mar 18, 2024
2f6a299
Refactor code
NoeliaBentancor Mar 18, 2024
8b87fdf
Improve code
NoeliaBentancor Mar 18, 2024
866b618
Improve code
NoeliaBentancor Mar 18, 2024
f67ac11
feat: Create HLS integration tests.
DuckyCB Mar 18, 2024
34cfae9
Change types to lowercase
matiasrb97 Mar 18, 2024
7598a25
Place hls and dash manifest in mappers folder
NoeliaBentancor Mar 19, 2024
def37ef
Delete manifest samples
NoeliaBentancor Mar 19, 2024
d18ae15
Fix HLS to DASH conversion
matiasrb97 Mar 20, 2024
243395a
Add documentation for track
NoeliaBentancor Mar 20, 2024
d0bdc79
Refactor mapHlsToHam
matiasrb97 Mar 20, 2024
2ed9e3c
Merge pull request #28 from qualabs/fix/dash-hls-interoperability
NoeliaBentancor Mar 20, 2024
e2dcfaf
Add more unit tests. Remove byteRange when unnecessary
DuckyCB Mar 20, 2024
852a836
feat: Refactor HLS to be easier to understand and test. Remove old fi…
DuckyCB Mar 20, 2024
d214096
Create three constants for timescale, and put comments to explain som…
matiasrb97 Mar 20, 2024
98afe93
Update TODO comment
matiasrb97 Mar 20, 2024
da54caa
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-hls-integration…
DuckyCB Mar 20, 2024
3955425
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-mpd-unit-tests
DuckyCB Mar 20, 2024
24f549a
Set sample rate values as constants.
DuckyCB Mar 20, 2024
fab0158
Merge branch 'feature/cmaf-ham-mpd-unit-tests' into feature/cmaf-ham-…
DuckyCB Mar 20, 2024
2fa12be
Fix TARGETDURATION in HLS conversion
matiasrb97 Mar 21, 2024
66ca524
Add hls unit tests
DuckyCB Mar 21, 2024
fdf51e9
Merge pull request #31 from qualabs/feature/hls-to-dash-playable-outputs
matiasrb97 Mar 21, 2024
b531c6c
Change m3u8 to hls
NoeliaBentancor Mar 21, 2024
48c76e1
Fix consistency in hls and dash nomenclature
NoeliaBentancor Mar 21, 2024
19572a6
Update documentation
NoeliaBentancor Mar 21, 2024
668e498
Fix nomenclature issue related to hls and dash
NoeliaBentancor Mar 21, 2024
56d78ff
Add documentation for track
NoeliaBentancor Mar 21, 2024
757815c
Change uppercase in track formats
NoeliaBentancor Mar 21, 2024
c815edd
Change nomenclature
NoeliaBentancor Mar 21, 2024
ccdef4a
Refactor code
NoeliaBentancor Mar 21, 2024
2568215
Update documentation
NoeliaBentancor Mar 21, 2024
a0c2b3f
Change names
NoeliaBentancor Mar 21, 2024
0a0b900
Change name
NoeliaBentancor Mar 21, 2024
4638b5d
Update documentation
NoeliaBentancor Mar 21, 2024
e4ee666
Add more documentation
NoeliaBentancor Mar 21, 2024
e9a0a4e
Add aligned switching set type
NoeliaBentancor Mar 21, 2024
1c0dbea
Types improvements
matiasrb97 Mar 21, 2024
1acbeed
Change map ham to dash
NoeliaBentancor Mar 21, 2024
f8d5eab
Resolve conflicts
NoeliaBentancor Mar 21, 2024
d0914e5
Fix variable names
NoeliaBentancor Mar 21, 2024
0e8481c
Refactor code@
NoeliaBentancor Mar 21, 2024
e511390
Merge pull request #33 from qualabs/feature/general-improvements
NoeliaBentancor Mar 21, 2024
eb325c8
Merge feature/cmaf-ham into cmaf-types-improvements
matiasrb97 Mar 21, 2024
15f66f9
Merge pull request #34 from qualabs/cmaf-types-improvements
matiasrb97 Mar 21, 2024
2f89b15
Place hls manifest at the top of the code
NoeliaBentancor Mar 21, 2024
1514317
Merge pull request #35 from qualabs/feature/manifest-improvements
NoeliaBentancor Mar 21, 2024
13688fb
Update MPD tests with new HAM. Reformat hsl to ham mapper.
DuckyCB Mar 21, 2024
19af7a9
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-hls-integration…
DuckyCB Mar 22, 2024
5a5d5de
Fix merge
DuckyCB Mar 22, 2024
95438cf
Fix imports
DuckyCB Mar 22, 2024
929ec0e
Add first approach of readme
NoeliaBentancor Mar 22, 2024
a8a899f
Modify readme
NoeliaBentancor Mar 22, 2024
9323d7c
Add overview and features of the project
NoeliaBentancor Mar 22, 2024
217272d
Add features of the project in readme
NoeliaBentancor Mar 22, 2024
4cda5d1
Improve documentation
NoeliaBentancor Mar 22, 2024
3c81044
Change readme
NoeliaBentancor Mar 22, 2024
48d0f5c
Change frameRate to two attributes numerator and denominator
matiasrb97 Mar 22, 2024
90d4242
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-mpd-unit-tests
DuckyCB Mar 22, 2024
e2bd3ad
Fix merge problems.
DuckyCB Mar 22, 2024
f5703d8
Update sample rate comments and constants.
DuckyCB Mar 22, 2024
7882cca
comments
DuckyCB Mar 22, 2024
16bff84
Merge pull request #27 from qualabs/feature/cmaf-ham-mpd-unit-tests
DuckyCB Mar 22, 2024
1eceb99
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-hls-integration…
DuckyCB Mar 22, 2024
9b0d99a
Change frameRate to a type with two values and put some constants to …
matiasrb97 Mar 22, 2024
3fea636
Delete validation track
NoeliaBentancor Mar 22, 2024
21b13fa
Merge branch 'feature/cmaf-ham' into track-type-improvements
matiasrb97 Mar 22, 2024
b5da850
Fix typo error and put FrameRate type definition at the bottom of Vid…
matiasrb97 Mar 22, 2024
a0827b6
feat: Fix border cases for HLS. Move HLS samples. Update and fix tests.
DuckyCB Mar 22, 2024
ee8cf90
Methods refactor
matiasrb97 Mar 22, 2024
8783921
Use zero instead of undefined for denominator
matiasrb97 Mar 25, 2024
80df113
Merge branch 'track-type-improvements' of https://github.com/qualabs/…
matiasrb97 Mar 25, 2024
b9c609e
feat: Separate code into functions. Create tests.
DuckyCB Mar 25, 2024
91d290f
Merge pull request #37 from qualabs/track-type-improvements
matiasrb97 Mar 25, 2024
f0902a6
Create validation service
matiasrb97 Mar 25, 2024
d13b458
Merge branch 'feature/cmaf-ham' into feature/cmaf-refactor
matiasrb97 Mar 25, 2024
b532bda
Upgrade HlsManifest type. Fix some border cases. Add and fix tests.
DuckyCB Mar 25, 2024
db3c146
Remove validateTracks.ts file
matiasrb97 Mar 25, 2024
48019db
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-hls-integration…
DuckyCB Mar 25, 2024
c9615cd
Delete track validation
NoeliaBentancor Mar 25, 2024
4daf05a
Introduce prevValidation in the validate methods to do avoid repeatin…
matiasrb97 Mar 26, 2024
d7d6bcf
Fix PR comments.
DuckyCB Mar 26, 2024
6fa402c
Update lib/src/cmaf/README.md
NoeliaBentancor Mar 26, 2024
b4fea7b
Delete arrow functions
NoeliaBentancor Mar 26, 2024
03d8a04
Add prevValidation param to the docs in validate methods and create t…
matiasrb97 Mar 26, 2024
253ae30
Remove string constants with samples. Set all samples to mpd or m3u8.
DuckyCB Mar 26, 2024
f94109b
Readd samples
NoeliaBentancor Mar 26, 2024
a636939
Resolve conflicts
NoeliaBentancor Mar 26, 2024
3a51dee
Merge pull request #38 from qualabs/feature/cmaf-refactor
matiasrb97 Mar 26, 2024
88ca58c
Delete unused file
NoeliaBentancor Mar 26, 2024
3f27a7a
Support having SegmentList tag outside Representation tag and update …
matiasrb97 Mar 26, 2024
4bf2b6a
Fix frameRate parsing
matiasrb97 Mar 27, 2024
40b9364
Merge pull request #32 from qualabs/feature/cmaf-ham-hls-to-dash
DuckyCB Mar 27, 2024
c7164d5
Merge branch 'feature/cmaf-ham' into fix/hls-to-dash
matiasrb97 Mar 27, 2024
559c9ff
Merge branch 'feature/cmaf-ham' of https://github.com/qualabs/common-…
NoeliaBentancor Mar 27, 2024
c5a23ce
Fix how the audio and subtitle groups are handled
matiasrb97 Mar 27, 2024
633bf1a
Merge pull request #39 from qualabs/fix/dash-segment-list-case
matiasrb97 Mar 27, 2024
7e69ff9
Change subtitleTracks name to textTracks to use ham concepts
matiasrb97 Mar 27, 2024
df59df0
Merge pull request #40 from qualabs/fix/hls-to-dash
matiasrb97 Mar 27, 2024
0622e1f
Fix failing test and types import
matiasrb97 Mar 27, 2024
f2c8039
Move conversion of the track to VideoTrack inside the if statement
matiasrb97 Mar 27, 2024
f6e6b58
Add frameRate to Representation in Dash
matiasrb97 Mar 27, 2024
09ff3a5
Update manifest 3
NoeliaBentancor Mar 27, 2024
59be80f
Add docs.
DuckyCB Mar 27, 2024
9777da9
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-mpd-samples-and…
DuckyCB Mar 27, 2024
4ce7944
Delete unnecesary playlists
NoeliaBentancor Mar 27, 2024
9ba5914
Remove unnecesary playlists
NoeliaBentancor Mar 27, 2024
8ec6f5c
Fix dash tests.
DuckyCB Mar 27, 2024
88a6795
Add condition in track
NoeliaBentancor Mar 27, 2024
d280f16
Fix hls tests.
DuckyCB Mar 27, 2024
0bb0f60
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-mpd-samples-and…
DuckyCB Mar 27, 2024
2c72a05
Merge pull request #41 from qualabs/fix/update-manifest-sample-3
NoeliaBentancor Mar 27, 2024
b674cba
Fix some ham tests.
DuckyCB Mar 27, 2024
4d151da
Merge pull request #42 from qualabs/feature/cmaf-ham-mpd-samples-and-…
DuckyCB Mar 27, 2024
8d494c1
Add new case when getting url from template
matiasrb97 Mar 27, 2024
a51a908
Merge branch 'feature/cmaf-ham' of github.com:qualabs/common-media-li…
matiasrb97 Mar 27, 2024
349a06a
Fix sample 2
NoeliaBentancor Mar 28, 2024
c1c379f
Resolve conflicts
NoeliaBentancor Mar 28, 2024
b5a5fc4
Merge pull request #29 from qualabs/feature/repository-improvements
NoeliaBentancor Mar 28, 2024
fce4778
Delete functions
NoeliaBentancor Mar 28, 2024
39db59a
Add imports
NoeliaBentancor Mar 28, 2024
14e840c
Delete unnecesary spaces
NoeliaBentancor Mar 28, 2024
f0236a4
Update imports
NoeliaBentancor Mar 28, 2024
e55ec39
Merge pull request #36 from qualabs/feature/readme-cmaf
NoeliaBentancor Mar 28, 2024
9acb1cd
fix: Fix multiple tests. Remove old hls sample. Add new tests.
DuckyCB Mar 28, 2024
06f50e8
Merge remote-tracking branch 'origin/feature/cmaf-ham' into feature/c…
DuckyCB Mar 28, 2024
8d43644
Changed deepEqual to deepStrictEqual. Fix hls tests.
DuckyCB Mar 28, 2024
3bb72e6
Add more typedoc documentation.
DuckyCB Apr 1, 2024
824bce9
Add examples to validate.ts
DuckyCB Apr 1, 2024
bd2538e
Use fileName if exists or the track id if fileName attribute does not…
matiasrb97 Apr 2, 2024
d6286ff
Undo changes in package.json
matiasrb97 Apr 2, 2024
69c1e5f
Add docs to ham to dash and ham to dash
DuckyCB Apr 2, 2024
9a3416d
Fix HLS sample 1 references
matiasrb97 Apr 2, 2024
858f28a
Merge pull request #45 from qualabs/fix/hls-fileName
matiasrb97 Apr 2, 2024
58a8f30
Fix documentation
DuckyCB Apr 2, 2024
4479ebb
Merge branch 'feature/cmaf-ham' into feature/cmaf-ham-add-more-docs-f…
DuckyCB Apr 2, 2024
f6a4cd7
Fix documentation
DuckyCB Apr 3, 2024
b7cab14
Fixes in punctuation
DuckyCB Apr 3, 2024
7dd70e7
fixes in validation
DuckyCB Apr 3, 2024
a88ecdd
Modify targer duration
NoeliaBentancor Apr 4, 2024
6f1d87c
Merge pull request #44 from qualabs/feature/cmaf-ham-add-more-docs-fo…
DuckyCB Apr 4, 2024
3670d66
main merged to cmaf-ham
nicolaslevy Apr 22, 2024
a38be59
reorder cmaf-ham files
nicolaslevy Apr 22, 2024
d2dc9e5
cmaf-ham: move tests from src/ to test/
nicolaslevy Apr 23, 2024
3fc5f6a
samples: added cmaf-ham-conversion sample
nicolaslevy Apr 24, 2024
9ea9330
samples: cmaf-ham-conversion fix typo in readme
nicolaslevy Apr 24, 2024
f838120
mapHamToHls: change default HLS EXT-X-VERSION from 1 to 7
nicolaslevy Apr 24, 2024
884a189
cmaf-man-conversion: export a file with the result of the validations
nicolaslevy Apr 24, 2024
b5417ff
cmaf-ham-conversion: README improvements
nicolaslevy Apr 24, 2024
5c11813
cmaf-ham-conversion: added serve and player instructions in README
nicolaslevy Apr 24, 2024
2bfc823
deleted prettier and unused packages
nicolaslevy May 6, 2024
ea709b0
Functions are separated in new files and the imports are refactored
nicolaslevy May 7, 2024
d2a8519
cmaf-ham-conversion: rename output folder to dist
nicolaslevy May 7, 2024
e254002
cmaf-ham-conversion: fix dependencies
nicolaslevy May 7, 2024
69ec54a
cmaf-ham-conversion: remove not needed dependencies
nicolaslevy May 7, 2024
d95d71b
add samples to workspaces and move cmaf-ham-conversion folder
nicolaslevy May 7, 2024
3b04636
fix remove prettier scripts from package.json
nicolaslevy May 7, 2024
4075c54
cmaf-ham.ts: fix blank space in
nicolaslevy May 7, 2024
2f0a98b
fix some doc warnings
nicolaslevy May 7, 2024
ab6af64
Update .eslintrc.json
littlespex May 7, 2024
67c24bd
move types to separate files
littlespex May 7, 2024
671ace2
move types to separate files
littlespex May 7, 2024
8a5592a
xMerge branch 'feature/cmaf-ham' of https://github.com/qualabs/common…
littlespex May 7, 2024
f446156
Merge pull request #47 from qualabs/feature/cmaf-ham
nicolaslevy May 8, 2024
8c90583
Updated CHANGELOG.md
nicolaslevy May 20, 2024
2e75e03
cmaf-ham-conversion: fix steps to run script in README
nicolaslevy Jun 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ node_modules/
dist
temp
.vscode
.idea
RELEASE.md
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Added
- Add CMAF-Ham types, mappers and services to convert and manipulate VOD HLS and VOD DASH manifests.
- Add cmaf-ham-converter sample to showcase the CMAF-Ham functions.

## [0.6.4] - 2024-03-04

Expand Down
3 changes: 2 additions & 1 deletion jsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
},
"exclude": [
"**/node_modules",
"**/dist"
"**/dist",
"**/samples"
],
"include": [
"**/*.js"
Expand Down
212 changes: 186 additions & 26 deletions lib/config/common-media-library.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,23 @@
```ts

// @alpha
export type AlignedSwitchingSet = {
switchingSets: SwitchingSet[];
};

// @beta
export function appendCmcdHeaders(headers: Record<string, string>, cmcd: Cmcd, options?: CmcdEncodeOptions): Record<string, string>;

// @beta
export function appendCmcdQuery(url: string, cmcd: Cmcd, options?: CmcdEncodeOptions): string;

// @alpha
export type AudioTrack = Track & {
sampleRate: number;
channels: number;
};

// @beta
export function base64decode(str: string): Uint8Array;

Expand All @@ -31,12 +42,12 @@ export interface Cmcd {
mtp?: number;
nor?: string;
nrr?: string;
ot?: CmObjectType;
ot?: CmcdObjectType;
pr?: number;
rtp?: number;
sf?: CmStreamingFormat;
sf?: CmcdStreamingFormat;
sid?: string;
st?: CmStreamType;
st?: CmcdStreamType;
su?: boolean;
tb?: number;
v?: number;
Expand All @@ -49,7 +60,7 @@ export const CMCD_PARAM = "CMCD";
export const CMCD_V1 = 1;

// @beta
export type CmcdCustomKey = CmCustomKey;
export type CmcdCustomKey = `${string}-${string}`;

// @beta
export interface CmcdEncodeOptions {
Expand Down Expand Up @@ -87,13 +98,7 @@ export type CmcdHeadersMap = Record<CmcdHeaderField, CmcdKey[]>;
export type CmcdKey = keyof Cmcd;

// @beta
export type CmcdValue = CmValue;

// @beta
export type CmCustomKey = `${string}-${string}`;

// @beta
enum CmObjectType {
export enum CmcdObjectType {
AUDIO = "a",
CAPTION = "c",
INIT = "i",
Expand All @@ -104,8 +109,28 @@ enum CmObjectType {
TIMED_TEXT = "tt",
VIDEO = "v"
}
export { CmObjectType as CmcdObjectType }
export { CmObjectType as CmsdObjectType }

// @beta
export enum CmcdStreamingFormat {
DASH = "d",
HLS = "h",
OTHER = "o",
SMOOTH = "s"
}

// @beta
export enum CmcdStreamType {
LIVE = "l",
VOD = "v"
}

// @beta
export type CmcdValue = CmcdObjectType | CmcdStreamingFormat | CmcdStreamType | string | number | boolean | symbol | SfToken;

// Warning: (ae-internal-missing-underscore) The name "CmCustomKey" should be prefixed with an underscore because the declaration is marked as @internal
//
// @internal
export type CmCustomKey = `${string}-${string}`;

// @beta
export const CMSD_DYNAMIC = "CMSD-Dynamic";
Expand All @@ -117,7 +142,7 @@ export const CMSD_STATIC = "CMSD-Static";
export const CMSD_V1 = 1;

// @beta
export type CmsdCustomKey = CmCustomKey;
export type CmsdCustomKey = `${string}-${string}`;

// @beta
export interface CmsdDynamic {
Expand Down Expand Up @@ -146,6 +171,19 @@ export enum CmsdHeaderField {
STATIC = "CMSD-Static"
}

// @beta
export enum CmsdObjectType {
AUDIO = "a",
CAPTION = "c",
INIT = "i",
KEY = "k",
MANIFEST = "m",
MUXED = "av",
OTHER = "o",
TIMED_TEXT = "tt",
VIDEO = "v"
}

// @beta
export interface CmsdStatic {
[index: CmsdCustomKey]: CmsdValue;
Expand All @@ -156,35 +194,36 @@ export interface CmsdStatic {
n?: string;
nor?: string;
nrr?: string;
ot?: CmObjectType;
sf?: CmStreamingFormat;
st?: CmStreamType;
ot?: CmsdObjectType;
sf?: CmsdStreamingFormat;
st?: CmsdStreamType;
su?: boolean;
v?: number;
}

// @beta
export type CmsdValue = CmValue;

// @beta
enum CmStreamingFormat {
export enum CmsdStreamingFormat {
DASH = "d",
HLS = "h",
OTHER = "o",
SMOOTH = "s"
}
export { CmStreamingFormat as CmcdStreamingFormat }
export { CmStreamingFormat as CmsdStreamingFormat }

// @beta
enum CmStreamType {
export enum CmsdStreamType {
LIVE = "l",
VOD = "v"
}
export { CmStreamType as CmcdStreamType }
export { CmStreamType as CmsdStreamType }

// @beta
export type CmsdValue = CmsdObjectType | CmsdStreamingFormat | CmsdStreamType | string | number | boolean | symbol | SfToken;

// Warning: (ae-forgotten-export) The symbol "CmObjectType" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "CmStreamingFormat" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "CmStreamType" needs to be exported by the entry point index.d.ts
// Warning: (ae-internal-missing-underscore) The name "CmValue" should be prefixed with an underscore because the declaration is marked as @internal
//
// @internal
export type CmValue = CmObjectType | CmStreamingFormat | CmStreamType | string | number | boolean | symbol | SfToken;

// @beta
Expand Down Expand Up @@ -213,6 +252,9 @@ export interface CommonMediaResponse {
url?: string;
}

// @alpha
export function dashToHam(manifest: string): Presentation[];

// @beta
export function decodeCmcd(cmcd: string): Cmcd;

Expand Down Expand Up @@ -279,6 +321,24 @@ export function getId3Frames(id3Data: Uint8Array): Id3Frame[];
// @beta
export function getId3Timestamp(data: Uint8Array): number | undefined;

// @alpha
export function getTracksFromPresentation(presentation: Presentation, predicate?: (track: Track) => boolean): Track[];

// @alpha
export function getTracksFromSelectionSet(selectionSet: SelectionSet, predicate?: (track: Track) => boolean): Track[];

// @alpha
export function getTracksFromSwitchingSet(switchingSet: SwitchingSet, predicate?: (track: Track) => boolean): Track[];

// @alpha
export function hamToDash(presentation: Presentation[]): Manifest;

// @alpha
export function hamToHls(presentation: Presentation[]): Manifest;

// @alpha
export function hlsToHam(manifest: string, ancillaryManifests: string[]): Presentation[];

// @beta
export type Id3Frame = DecodedId3Frame<ArrayBuffer | string | number>;

Expand All @@ -287,6 +347,22 @@ export type Id3Frame = DecodedId3Frame<ArrayBuffer | string | number>;
// @internal
export function isId3TimestampFrame(frame: Id3Frame): boolean;

// @alpha
export type Manifest = {
manifest: string;
fileName?: string;
ancillaryManifests?: Manifest[];
type: ManifestFormat;
metadata?: Map<string, string>;
};

// Warning: (ae-forgotten-export) The symbol "Ham" needs to be exported by the entry point index.d.ts
//
// @alpha
export type Presentation = Ham & {
selectionSets: SelectionSet[];
};

// @beta
export type RequestInterceptor = (request: CommonMediaRequest) => Promise<CommonMediaRequest>;

Expand All @@ -310,6 +386,19 @@ export type ResponseInterceptor = (response: CommonMediaResponse) => Promise<Com
// @beta
export function roundToEven(value: number, precision: number): number;

// @alpha
export type Segment = {
duration: number;
url: string;
byteRange?: string;
};

// @alpha
export type SelectionSet = Ham & {
switchingSets: SwitchingSet[];
alignedSwitchingSets?: AlignedSwitchingSet[];
};

// @beta
export type SfBareItem = string | Uint8Array | boolean | number | symbol | Date | SfToken;

Expand Down Expand Up @@ -354,6 +443,15 @@ export class SfToken {
description: string;
}

// @alpha
export type SwitchingSet = Ham & {
tracks: Track[];
};

// @alpha
type TextTrack_2 = Track;
export { TextTrack_2 as TextTrack }

// @beta
export function toCmcdHeaders(cmcd: Cmcd, options?: CmcdEncodeOptions): {};

Expand All @@ -363,6 +461,19 @@ export function toCmcdJson(cmcd: Cmcd, options?: CmcdEncodeOptions): string;
// @beta
export function toCmcdQuery(cmcd: Cmcd, options?: CmcdEncodeOptions): string;

// @alpha
export type Track = Ham & {
type: TrackType;
fileName?: string;
codec: string;
duration: number;
language: string;
bandwidth: number;
byteRange?: string;
urlInitialization?: string;
segments: Segment[];
};

// @beta
export function urlToRelativePath(url: string, base: string): string;

Expand All @@ -372,4 +483,53 @@ export function utf8ArrayToStr(array: Uint8Array, exitOnNull?: boolean): string;
// @beta
export function uuid(): string;

// @alpha
export function validatePresentation(presentation: Presentation): Validation;

// @alpha
export function validateSegment(segment: Segment, trackId?: string, prevValidation?: Validation): Validation;

// @alpha
export function validateSegments(segments: Segment[], trackId?: string, prevValidation?: Validation): Validation;

// @alpha
export function validateSelectionSet(selectionSet: SelectionSet, presentationId?: string, prevValidation?: Validation): Validation;

// @alpha
export function validateSelectionSets(selectionSets: SelectionSet[], presentationId?: string, prevValidation?: Validation): Validation;

// @alpha
export function validateSwitchingSet(switchingSet: SwitchingSet, selectionSetId?: string, prevValidation?: Validation): Validation;

// @alpha
export function validateSwitchingSets(switchingSets: SwitchingSet[], selectionSetId?: string, prevValidation?: Validation): Validation;

// @alpha
export function validateTrack(track: Track, switchingSetId?: string, prevValidation?: Validation): Validation;

// @alpha
export function validateTracks(tracks: Track[], switchingSetId?: string, prevValidation?: Validation): Validation;

// @alpha
export type Validation = {
status: boolean;
errorMessages: string[];
};

// @alpha
export type VideoTrack = Track & {
width: number;
height: number;
frameRate: FrameRate;
par: string;
sar: string;
scanType: string;
};

// Warnings were encountered during analysis:
//
// src/cmaf/ham/types/manifest/Manifest.ts:13:2 - (ae-forgotten-export) The symbol "ManifestFormat" needs to be exported by the entry point index.d.ts
// src/cmaf/ham/types/model/Track.ts:23:2 - (ae-forgotten-export) The symbol "TrackType" needs to be exported by the entry point index.d.ts
// src/cmaf/ham/types/model/VideoTrack.ts:19:2 - (ae-forgotten-export) The symbol "FrameRate" needs to be exported by the entry point index.d.ts

```
Loading
Loading