You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- updated to Gradle v8.5
- migrated from JDK8 to JDK11
- migrated from java.io to java.nio
- migrated from javax to jakarta (where applicable)
- added S3 support via aws-java-nio-spi-for-s3
- consolidated ApplicationComposition, AbstractApplicationComposition and IMFCompositionPlaylistype into IMFCompositionPlaylist
- moved validation code into new package com.netflix.imflibrary.validation
- separated validations for (revisions of) applications, core constraints, cpl and plug-ins
- introduced interface ConstraintsValidator and factory ConstraintsValidatorFactory
- replaced use of SequenceTypeEnum with Strings for SequenceType/Namespace for easier extensibility
- renamed IMPAnalyzer.analyzePackage to IMPAnalyzer.analyzeDelivery to reflect actual scope
- consolidated MXF utility methods in new class MXFUtils
- moved some virtual track validation methods to ConstraintsValidatorUtils, some to core constraints validation classes, and deleted others
- updated CI config with cross platform and multi-JDK builds
---------
Co-authored-by: Adam Pongracz <adamp@colorfront.com>
Copy file name to clipboardExpand all lines: README.md
+44-45Lines changed: 44 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,36 +6,41 @@ Photon is a Java implementation of the [Interoperable Master Format (IMF)](https
6
6
- AssetMap (ST 429-9)
7
7
- PackingList (ST 429-8)
8
8
- Composition Playlist (ST 2067-3)
9
-
- IMF track files (ST 2067-5)
9
+
- IMF Track Files (ST 2067-5)
10
10
11
-
Photon parses and reads IMF track files and serializes the metadata into the IMF Composition Playlist structure. Currently, Photon provides support for IMF Application #2E (ST 2067-21) and Application #5 ACES (ST 2067-50), and the Immersive Audio Bitstream (IAB) Plug-in (ST 2067-201).
11
+
Photon parses and reads IMF track files and serializes the metadata into the IMF Composition Playlist structure. Currently, Photon provides support for
- Audio with Frame-based S-ADM Metadata Plug-in (ST 2067-203).
12
16
13
17
The goal of the Photon is to provide a simple standardized interface to completely validate an IMP.
14
18
15
19
## Build
16
20
17
21
### JDK requirements
18
22
19
-
Photon can be built using JDK-8. Support for earlier jdk versions has not been tested and/or verified.
23
+
Photon can be built using JDK-11.
20
24
21
25
### Gradle
22
26
Photon can be built very easily by using the included Gradle wrapper. Having downloaded the sources, simply invoke the following commands inside the folder containing the sources:
23
27
28
+
Linux/macOS:
24
29
```
25
30
$ ./gradlew clean
26
31
$ ./gradlew build
32
+
$ ./gradlew getDependencies
27
33
```
28
34
29
-
For Windows
35
+
Windows:
30
36
```
31
37
$ gradlew.bat clean
32
38
$ gradlew.bat build
39
+
$ gradlew.bat getDependencies
33
40
```
34
41
35
-
## Full Documentation
36
-
37
-
-[Wiki](https://github.com/Netflix/photon/wiki)
38
-
-[Javadoc](http://netflix.github.io/photon/)
42
+
> [!NOTE]
43
+
> `getDependencies` downloads all dependencies into the `./build/libs` directory.
39
44
40
45
## Binaries
41
46
Binaries and dependency information for Maven, Ivy, Gradle and others can be found at [http://search.maven.org](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.netflix.photon%22).
If you need to download all dependencies, you just have to run:
61
-
62
-
```
63
-
$ ./gradlew getDependencies
64
-
```
65
+
## Documentation
65
66
66
-
It will download all dependencies into ./build/libs directory, where Photon.*.jar is built. Multiple sample applications have been provided with this project (e.g., com.netflix.imflibrary.app.IMFTrackFileReader). Having obtained the dependencies, you can run an application as follows:
67
+
### Sample Applications
68
+
Multiple sample applications have been provided with this project (e.g., com.netflix.imflibrary.app.IMFTrackFileReader). Having obtained the dependencies, you can run an application as follows:
67
69
70
+
#### Linux/macOS:
68
71
```
69
-
java -cp ./build/libs/*: <fully qualified class name> <zero or more arguments>
72
+
java -cp "./build/libs/*:" <fully qualified class name> <arguments>
Photon supports S3 URIs through [aws-java-nio-spi-for-s3](https://github.com/awslabs/aws-java-nio-spi-for-s3). No Photon-specific setup is needed, instead the S3 CLI config and credentials are used directly (see [here](https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html) for instructions).
For Windows please refer to the following examples
86
104
87
-
To download all dependencies, you just have to run:
105
+
### API and Developer Documentation
88
106
89
-
```
90
-
$ gradlew.bat getDependencies
91
-
```
92
-
93
-
It will download all dependencies into build\libs directory, where Photon.*.jar is built. Multiple sample applications have been provided with this project (e.g., com.netflix.imflibrary.app.IMFTrackFileReader). Having obtained the dependencies, you can run an application as follows:
107
+
API documentation is available via [Javadoc](http://netflix.github.io/photon/).
94
108
95
-
```
96
-
java -cp build\libs\*; <fully qualified class name> <zero or more arguments>
0 commit comments