Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 5 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,17 @@ node_modules/
tests/artifacts*/
tests/*_REPORT.md
tests/*_FIX_SUGGESTIONS.md
tests/.fixture-resources.json

# Local example runners — contain real credentials, never commit
# Local example runners and credentials, never commit
tests/examples/
tests/.env

# Local example helper script + its machine-specific classpath cache
/run-example.sh
/.example-classpath

# Local working files (not part of the published SDK)
/fixed 7.yaml
/CLAUDE.md
/fastpix-openai.yaml
/openapi.yaml
/spec_sync_check.*
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,38 @@ All notable changes to this project will be documented in this file.

---

## [1.1.0]

### Breaking

- Media `duration` is now a `Double` (seconds) instead of an `"HH:MM:SS"` string,
matching the updated API. Affects `manageVideos().get`, `manageVideos().list`,
`videos().updateMedia`, `manageVideos().updateSourceAccess`,
`videos().updateMp4Support`, `videos().listLiveClips`, `videos().getMediaClips`,
and every playlist operation that returns `mediaList`. Code reading `duration()` as
`Optional<String>` no longer compiles.

### Added

- `enableRecording` on live stream creation (`InputMediaSettings`, the API
defaults it to true).
- `accessRestrictions` (domain and user-agent allow/deny policies) on live
playback ID create/get responses, `PlaybackIdRequest`, `PlaybackSettings`,
and the `playbackIds` items of live stream responses.
- `livePlayback().updateDomainRestrictions` for
`PATCH /live/streams/{streamId}/playback-ids/{playbackId}/domains`.
- `livePlayback().updateUserAgentRestrictions` for
`PATCH /live/streams/{streamId}/playback-ids/{playbackId}/user-agents`.
- Async variants of both on `livePlayback().async()`.
- Offline model contract tests and mocked endpoint tests under `src/test`.

### Fixed

- Async operation paths were audited for missing error propagation and
mismatched response types; none were found.

---

## [1.0.5]

### Changed
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Add the dependency to your `build.gradle`:

```groovy
dependencies {
implementation 'io.fastpix:sdk:1.0.5'
implementation 'io.fastpix:sdk:1.1.0'
}
```

Expand All @@ -77,7 +77,7 @@ Add the dependency to your `pom.xml`:
<dependency>
<groupId>io.fastpix</groupId>
<artifactId>sdk</artifactId>
<version>1.0.5</version>
<version>1.1.0</version>
</dependency>
```

Expand Down Expand Up @@ -369,6 +369,8 @@ For detailed documentation, see [FastPix Live Stream Overview](https://fastpix.c
- [Create Playback ID](docs/sdks/liveplayback/README.md#createplaybackid) - Generate secure live playback access
- [Delete Playback ID](docs/sdks/liveplayback/README.md#deleteplaybackid) - Revoke live playback access
- [Get Playback ID](docs/sdks/liveplaybacks/README.md#getplaybackiddetails) - Retrieve live playback configuration
- [Update Domain Restrictions](docs/sdks/liveplayback/README.md#updatedomainrestrictions) - Allow or deny playback by domain
- [Update User-Agent Restrictions](docs/sdks/liveplayback/README.md#updateuseragentrestrictions) - Allow or deny playback by user agent

#### Simulcast Stream
- [Create Simulcast](docs/sdks/simulcaststream/README.md#create) - Set up multi-platform streaming
Expand Down
2 changes: 1 addition & 1 deletion docs/models/components/GetAllMediaResponse.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
| `moderation` | [Optional\<AiResponseRecord>](../../models/components/AiResponseRecord.md) | :heavy_minus_sign: | Represents an AI response record containing status and data for AI-generated features like summary, chapters, named entities, or moderation. | |
| `isAudioOnly` | *JsonNullable\<Boolean>* | :heavy_minus_sign: | Indicates whether the media contains only audio (no video track). | false |
| `subtitleAvailable` | *JsonNullable\<Boolean>* | :heavy_minus_sign: | Indicates whether subtitles are available for the media. | true |
| `duration` | *Optional\<String>* | :heavy_minus_sign: | The length of the media in seconds, with a maximum allowed duration of 12 hours per individual media. | 00:00:10 |
| `duration` | *Optional\<Double>* | :heavy_minus_sign: | Duration of the media in seconds. | 145.82 |
| `frameRate` | *Optional\<String>* | :heavy_minus_sign: | Frame rate quantifies the speed at which frames are displayed per second. It represents the range of frames available for a specific track. The indeterminable frame rate of the input file is indicated by a value of -1. | 30/1 |
| `aspectRatio` | *JsonNullable\<String>* | :heavy_minus_sign: | The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height. | 16:9 |
| `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was created, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z |
Expand Down
Loading