Skip to content

Commit 5534e97

Browse files
authored
v6.0.0 (#65)
- add support for `static-renditions` APIs - add `passthrough` to each `static_rendition` object - add support for additional standard dimensions in Mux Data - allow updating `video_quality` on live streams - add support for Asset metadata - add support for `video_creator_id` in Video Views - [breaking] It is very unlikely that you were using the `AssetStaticRenditionsFiles` type directly, but just in case this has been replaced with `StaticRendition` for the object, and `CreateStaticRenditionRequest` for the request with the new `static-renditions` APIs - [breaking] Deprecate `mp4_support` and associated APIs. [Utilize the new Static Rendition APIs instead.](https://www.mux.com/docs/changelog/static-renditions-api-for-creating-mp4-and-m4a-renditions-now-available) - [breaking] Remove Spaces APIs and routes
1 parent 177e2f8 commit 5534e97

32 files changed

+610
-26
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Not familiar with Mux? Check out https://mux.com/ for more information.
1616
## Installation
1717

1818
```
19-
go get github.com/muxinc/mux-go/v5
19+
go get github.com/muxinc/mux-go/v6
2020
```
2121

2222
## Getting Started
@@ -48,7 +48,7 @@ import (
4848
"fmt"
4949
"os"
5050

51-
"github.com/muxinc/mux-go/v5"
51+
"github.com/muxinc/mux-go/v6"
5252
)
5353

5454
func main() {

api_assets.go

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,83 @@ func (a *AssetsApiService) CreateAssetPlaybackId(aSSETID string, createPlaybackI
165165
return localVarReturnValue, nil
166166
}
167167

168+
func (a *AssetsApiService) CreateAssetStaticRendition(aSSETID string, createStaticRenditionRequest CreateStaticRenditionRequest, opts ...APIOption) (CreateStaticRenditionResponse, error) {
169+
var (
170+
localVarAPIOptions = new(APIOptions)
171+
localVarHttpMethod = strings.ToUpper("Post")
172+
localVarPostBody interface{}
173+
localVarFormFileName string
174+
localVarFileName string
175+
localVarFileBytes []byte
176+
localVarReturnValue CreateStaticRenditionResponse
177+
)
178+
179+
for _, opt := range opts {
180+
opt(localVarAPIOptions)
181+
}
182+
183+
// create path and map variables
184+
localVarPath := a.client.cfg.basePath + "/video/v1/assets/{ASSET_ID}/static-renditions"
185+
localVarPath = strings.Replace(localVarPath, "{"+"ASSET_ID"+"}", fmt.Sprintf("%v", aSSETID), -1)
186+
187+
localVarHeaderParams := make(map[string]string)
188+
localVarQueryParams := url.Values{}
189+
localVarFormParams := url.Values{}
190+
191+
// to determine the Content-Type header
192+
localVarHttpContentTypes := []string{"application/json"}
193+
194+
// set Content-Type header
195+
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
196+
if localVarHttpContentType != "" {
197+
localVarHeaderParams["Content-Type"] = localVarHttpContentType
198+
}
199+
200+
// to determine the Accept header
201+
localVarHttpHeaderAccepts := []string{"application/json"}
202+
203+
// set Accept header
204+
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
205+
if localVarHttpHeaderAccept != "" {
206+
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
207+
}
208+
// body params
209+
localVarPostBody = &createStaticRenditionRequest
210+
211+
r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
212+
if err != nil {
213+
return localVarReturnValue, err
214+
}
215+
216+
localVarHttpResponse, err := a.client.callAPI(r)
217+
if err != nil || localVarHttpResponse == nil {
218+
return localVarReturnValue, err
219+
}
220+
221+
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
222+
localVarHttpResponse.Body.Close()
223+
if err != nil {
224+
return localVarReturnValue, err
225+
}
226+
227+
// Check for common HTTP error status codes
228+
err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody)
229+
if err != nil {
230+
return localVarReturnValue, err
231+
}
232+
233+
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
234+
if err != nil {
235+
newErr := GenericOpenAPIError{
236+
body: localVarBody,
237+
error: err.Error(),
238+
}
239+
return localVarReturnValue, newErr
240+
}
241+
242+
return localVarReturnValue, nil
243+
}
244+
168245
func (a *AssetsApiService) CreateAssetTrack(aSSETID string, createTrackRequest CreateTrackRequest, opts ...APIOption) (CreateTrackResponse, error) {
169246
var (
170247
localVarAPIOptions = new(APIOptions)
@@ -373,6 +450,72 @@ func (a *AssetsApiService) DeleteAssetPlaybackId(aSSETID string, pLAYBACKID stri
373450
return nil
374451
}
375452

453+
func (a *AssetsApiService) DeleteAssetStaticRendition(aSSETID string, sTATICRENDITIONID string, opts ...APIOption) error {
454+
var (
455+
localVarAPIOptions = new(APIOptions)
456+
localVarHttpMethod = strings.ToUpper("Delete")
457+
localVarPostBody interface{}
458+
localVarFormFileName string
459+
localVarFileName string
460+
localVarFileBytes []byte
461+
)
462+
463+
for _, opt := range opts {
464+
opt(localVarAPIOptions)
465+
}
466+
467+
// create path and map variables
468+
localVarPath := a.client.cfg.basePath + "/video/v1/assets/{ASSET_ID}/static-renditions/{STATIC_RENDITION_ID}"
469+
localVarPath = strings.Replace(localVarPath, "{"+"ASSET_ID"+"}", fmt.Sprintf("%v", aSSETID), -1)
470+
localVarPath = strings.Replace(localVarPath, "{"+"STATIC_RENDITION_ID"+"}", fmt.Sprintf("%v", sTATICRENDITIONID), -1)
471+
472+
localVarHeaderParams := make(map[string]string)
473+
localVarQueryParams := url.Values{}
474+
localVarFormParams := url.Values{}
475+
476+
// to determine the Content-Type header
477+
localVarHttpContentTypes := []string{}
478+
479+
// set Content-Type header
480+
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
481+
if localVarHttpContentType != "" {
482+
localVarHeaderParams["Content-Type"] = localVarHttpContentType
483+
}
484+
485+
// to determine the Accept header
486+
localVarHttpHeaderAccepts := []string{}
487+
488+
// set Accept header
489+
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
490+
if localVarHttpHeaderAccept != "" {
491+
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
492+
}
493+
494+
r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
495+
if err != nil {
496+
return err
497+
}
498+
499+
localVarHttpResponse, err := a.client.callAPI(r)
500+
if err != nil || localVarHttpResponse == nil {
501+
return err
502+
}
503+
504+
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
505+
localVarHttpResponse.Body.Close()
506+
if err != nil {
507+
return err
508+
}
509+
510+
// Check for common HTTP error status codes
511+
err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody)
512+
if err != nil {
513+
return err
514+
}
515+
516+
return nil
517+
}
518+
376519
func (a *AssetsApiService) DeleteAssetTrack(aSSETID string, tRACKID string, opts ...APIOption) error {
377520
var (
378521
localVarAPIOptions = new(APIOptions)

api_live_streams.go

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,71 @@ func (a *LiveStreamsApiService) DeleteLiveStream(lIVESTREAMID string, opts ...AP
307307
return nil
308308
}
309309

310+
func (a *LiveStreamsApiService) DeleteLiveStreamNewAssetSettingsStaticRenditions(lIVESTREAMID string, opts ...APIOption) error {
311+
var (
312+
localVarAPIOptions = new(APIOptions)
313+
localVarHttpMethod = strings.ToUpper("Delete")
314+
localVarPostBody interface{}
315+
localVarFormFileName string
316+
localVarFileName string
317+
localVarFileBytes []byte
318+
)
319+
320+
for _, opt := range opts {
321+
opt(localVarAPIOptions)
322+
}
323+
324+
// create path and map variables
325+
localVarPath := a.client.cfg.basePath + "/video/v1/live-streams/{LIVE_STREAM_ID}/new-asset-settings/static-renditions"
326+
localVarPath = strings.Replace(localVarPath, "{"+"LIVE_STREAM_ID"+"}", fmt.Sprintf("%v", lIVESTREAMID), -1)
327+
328+
localVarHeaderParams := make(map[string]string)
329+
localVarQueryParams := url.Values{}
330+
localVarFormParams := url.Values{}
331+
332+
// to determine the Content-Type header
333+
localVarHttpContentTypes := []string{}
334+
335+
// set Content-Type header
336+
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
337+
if localVarHttpContentType != "" {
338+
localVarHeaderParams["Content-Type"] = localVarHttpContentType
339+
}
340+
341+
// to determine the Accept header
342+
localVarHttpHeaderAccepts := []string{}
343+
344+
// set Accept header
345+
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
346+
if localVarHttpHeaderAccept != "" {
347+
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
348+
}
349+
350+
r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
351+
if err != nil {
352+
return err
353+
}
354+
355+
localVarHttpResponse, err := a.client.callAPI(r)
356+
if err != nil || localVarHttpResponse == nil {
357+
return err
358+
}
359+
360+
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
361+
localVarHttpResponse.Body.Close()
362+
if err != nil {
363+
return err
364+
}
365+
366+
// Check for common HTTP error status codes
367+
err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody)
368+
if err != nil {
369+
return err
370+
}
371+
372+
return nil
373+
}
374+
310375
func (a *LiveStreamsApiService) DeleteLiveStreamPlaybackId(lIVESTREAMID string, pLAYBACKID string, opts ...APIOption) error {
311376
var (
312377
localVarAPIOptions = new(APIOptions)
@@ -1295,3 +1360,80 @@ func (a *LiveStreamsApiService) UpdateLiveStreamGeneratedSubtitles(lIVESTREAMID
12951360

12961361
return localVarReturnValue, nil
12971362
}
1363+
1364+
func (a *LiveStreamsApiService) UpdateLiveStreamNewAssetSettingsStaticRenditions(lIVESTREAMID string, updateLiveStreamNewAssetSettingsStaticRenditionsRequest UpdateLiveStreamNewAssetSettingsStaticRenditionsRequest, opts ...APIOption) (LiveStreamResponse, error) {
1365+
var (
1366+
localVarAPIOptions = new(APIOptions)
1367+
localVarHttpMethod = strings.ToUpper("Put")
1368+
localVarPostBody interface{}
1369+
localVarFormFileName string
1370+
localVarFileName string
1371+
localVarFileBytes []byte
1372+
localVarReturnValue LiveStreamResponse
1373+
)
1374+
1375+
for _, opt := range opts {
1376+
opt(localVarAPIOptions)
1377+
}
1378+
1379+
// create path and map variables
1380+
localVarPath := a.client.cfg.basePath + "/video/v1/live-streams/{LIVE_STREAM_ID}/new-asset-settings/static-renditions"
1381+
localVarPath = strings.Replace(localVarPath, "{"+"LIVE_STREAM_ID"+"}", fmt.Sprintf("%v", lIVESTREAMID), -1)
1382+
1383+
localVarHeaderParams := make(map[string]string)
1384+
localVarQueryParams := url.Values{}
1385+
localVarFormParams := url.Values{}
1386+
1387+
// to determine the Content-Type header
1388+
localVarHttpContentTypes := []string{"application/json"}
1389+
1390+
// set Content-Type header
1391+
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
1392+
if localVarHttpContentType != "" {
1393+
localVarHeaderParams["Content-Type"] = localVarHttpContentType
1394+
}
1395+
1396+
// to determine the Accept header
1397+
localVarHttpHeaderAccepts := []string{"application/json"}
1398+
1399+
// set Accept header
1400+
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
1401+
if localVarHttpHeaderAccept != "" {
1402+
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
1403+
}
1404+
// body params
1405+
localVarPostBody = &updateLiveStreamNewAssetSettingsStaticRenditionsRequest
1406+
1407+
r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
1408+
if err != nil {
1409+
return localVarReturnValue, err
1410+
}
1411+
1412+
localVarHttpResponse, err := a.client.callAPI(r)
1413+
if err != nil || localVarHttpResponse == nil {
1414+
return localVarReturnValue, err
1415+
}
1416+
1417+
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
1418+
localVarHttpResponse.Body.Close()
1419+
if err != nil {
1420+
return localVarReturnValue, err
1421+
}
1422+
1423+
// Check for common HTTP error status codes
1424+
err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody)
1425+
if err != nil {
1426+
return localVarReturnValue, err
1427+
}
1428+
1429+
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
1430+
if err != nil {
1431+
newErr := GenericOpenAPIError{
1432+
body: localVarBody,
1433+
error: err.Error(),
1434+
}
1435+
return localVarReturnValue, newErr
1436+
}
1437+
1438+
return localVarReturnValue, nil
1439+
}

client.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ type APIClient struct {
5353
PlaybackRestrictionsApi *PlaybackRestrictionsApiService
5454
RealTimeApi *RealTimeApiService
5555
SigningKeysApi *SigningKeysApiService
56-
SpacesApi *SpacesApiService
5756
TranscriptionVocabulariesApi *TranscriptionVocabulariesApiService
5857
URLSigningKeysApi *URLSigningKeysApiService
5958
VideoViewsApi *VideoViewsApiService
@@ -90,7 +89,6 @@ func NewAPIClient(cfg *Configuration) *APIClient {
9089
c.PlaybackRestrictionsApi = (*PlaybackRestrictionsApiService)(&c.common)
9190
c.RealTimeApi = (*RealTimeApiService)(&c.common)
9291
c.SigningKeysApi = (*SigningKeysApiService)(&c.common)
93-
c.SpacesApi = (*SpacesApiService)(&c.common)
9492
c.TranscriptionVocabulariesApi = (*TranscriptionVocabulariesApiService)(&c.common)
9593
c.URLSigningKeysApi = (*URLSigningKeysApiService)(&c.common)
9694
c.VideoViewsApi = (*VideoViewsApiService)(&c.common)

configuration.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type ConfigurationOption func(*Configuration)
2222
func NewConfiguration(opts ...ConfigurationOption) *Configuration {
2323
cfg := &Configuration{
2424
basePath: "https://api.mux.com",
25-
userAgent: "Mux Go | 5.9.0",
25+
userAgent: "Mux Go | 6.0.0",
2626
}
2727
for _, opt := range opts {
2828
opt(cfg)

docs/Asset.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Name | Type | Description | Notes
2020
**PerTitleEncode** | **bool** | | [optional]
2121
**UploadId** | **string** | Unique identifier for the Direct Upload. This is an optional parameter added when the asset is created from a direct upload. | [optional]
2222
**IsLive** | **bool** | Indicates whether the live stream that created this asset is currently `active` and not in `idle` state. This is an optional parameter added when the asset is created from a live stream. | [optional]
23-
**Passthrough** | **string** | Arbitrary user-supplied metadata set for the asset. Max 255 characters. | [optional]
23+
**Passthrough** | **string** | You can set this field to anything you want. It will be included in the asset details and related webhooks. If you're looking for more structured metadata, such as `title` or `external_id` , you can use the `meta` object instead. **Max: 255 characters**. | [optional]
2424
**LiveStreamId** | **string** | Unique identifier for the live stream. This is an optional parameter added when the asset is created from a live stream. | [optional]
2525
**Master** | [**AssetMaster**](Asset_master.md) | | [optional]
2626
**MasterAccess** | **string** | | [optional] [default to MASTER_ACCESS_NONE]
@@ -32,6 +32,7 @@ Name | Type | Description | Notes
3232
**NonStandardInputReasons** | [**AssetNonStandardInputReasons**](Asset_non_standard_input_reasons.md) | | [optional]
3333
**Test** | **bool** | True means this live stream is a test asset. A test asset can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test assets created. Test assets are watermarked with the Mux logo, limited to 10 seconds, and deleted after 24 hrs. | [optional]
3434
**IngestType** | **string** | The type of ingest used to create the asset. | [optional]
35+
**Meta** | [**AssetMetadata**](AssetMetadata.md) | | [optional]
3536

3637
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
3738

docs/AssetMetadata.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# AssetMetadata
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**Title** | **string** | The video title. Max 512 code points. | [optional]
7+
**CreatorId** | **string** | This is an identifier you provide to keep track of the creator of the video. Max 128 code points. | [optional]
8+
**ExternalId** | **string** | This is an identifier you provide to link the video to your own data. Max 128 code points. | [optional]
9+
10+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
11+
12+

docs/AssetStaticRenditions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
## Properties
44
Name | Type | Description | Notes
55
------------ | ------------- | ------------- | -------------
6-
**Status** | **string** | Indicates the status of downloadable MP4 versions of this asset. | [optional] [default to STATUS_DISABLED]
7-
**Files** | [**[]AssetStaticRenditionsFiles**](Asset_static_renditions_files.md) | Array of file objects. | [optional]
6+
**Status** | **string** | Indicates the status of downloadable MP4 versions of this asset. This field is only valid when `mp4_support` is enabled | [optional] [default to STATUS_DISABLED]
7+
**Files** | [**[]StaticRendition**](StaticRendition.md) | Array of file objects. | [optional]
88

99
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
1010

0 commit comments

Comments
 (0)