fastpixapi 1.1.4 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/crystalline/metadata_fields.rb +2 -0
- data/lib/crystalline/module.rb +12 -13
- data/lib/fastpix_client/live_playback.rb +253 -0
- data/lib/fastpix_client/models/components/addtrackresponse.rb +1 -1
- data/lib/fastpix_client/models/components/audiotrack.rb +1 -1
- data/lib/fastpix_client/models/components/createmediaresponse.rb +1 -1
- data/lib/fastpix_client/models/components/createplaybackid.rb +1 -1
- data/lib/fastpix_client/models/components/createplaybackid_domains.rb +1 -1
- data/lib/fastpix_client/models/components/createplaybackid_useragents.rb +1 -1
- data/lib/fastpix_client/models/components/directupload.rb +1 -1
- data/lib/fastpix_client/models/components/directuploadresponse.rb +1 -1
- data/lib/fastpix_client/models/components/generatetrackresponse.rb +1 -1
- data/lib/fastpix_client/models/components/getallmediaresponse.rb +3 -3
- data/lib/fastpix_client/models/components/getallmediaresponse.rbi +1 -1
- data/lib/fastpix_client/models/components/getmediadetailresponse.rb +3 -3
- data/lib/fastpix_client/models/components/getmediadetailresponse.rbi +1 -1
- data/lib/fastpix_client/models/components/inputmediasettings.rb +7 -2
- data/lib/fastpix_client/models/components/inputmediasettings.rbi +2 -0
- data/lib/fastpix_client/models/components/live_media_clips.rb +3 -3
- data/lib/fastpix_client/models/components/live_media_clips.rbi +1 -1
- data/lib/fastpix_client/models/components/media.rb +3 -3
- data/lib/fastpix_client/models/components/media.rbi +1 -1
- data/lib/fastpix_client/models/components/mediaclipresponse_data.rb +2 -2
- data/lib/fastpix_client/models/components/mediaclipresponse_data.rbi +1 -1
- data/lib/fastpix_client/models/components/playbackid.rb +1 -1
- data/lib/fastpix_client/models/components/playbackid_domains.rb +1 -1
- data/lib/fastpix_client/models/components/playbackid_useragents.rb +1 -1
- data/lib/fastpix_client/models/components/playbackidrequest.rb +6 -2
- data/lib/fastpix_client/models/components/playbackidrequest.rbi +3 -1
- data/lib/fastpix_client/models/components/playbackidresponse.rb +6 -2
- data/lib/fastpix_client/models/components/playbackidresponse.rbi +3 -1
- data/lib/fastpix_client/models/components/playbackidsuccessresponse_data.rb +6 -2
- data/lib/fastpix_client/models/components/playbackidsuccessresponse_data.rbi +3 -1
- data/lib/fastpix_client/models/components/playbacksettings.rb +6 -2
- data/lib/fastpix_client/models/components/playbacksettings.rbi +3 -1
- data/lib/fastpix_client/models/components/playlistbyidresponsedatamanual.rb +1 -1
- data/lib/fastpix_client/models/components/playlistbyidresponsedatasmart.rb +1 -1
- data/lib/fastpix_client/models/components/playlistbyidresponsemedialistitem.rb +2 -2
- data/lib/fastpix_client/models/components/playlistbyidresponsemedialistitem.rbi +1 -1
- data/lib/fastpix_client/models/components/playlistitem.rb +1 -1
- data/lib/fastpix_client/models/components/sourceaccessmedia.rb +3 -3
- data/lib/fastpix_client/models/components/sourceaccessmedia.rbi +1 -1
- data/lib/fastpix_client/models/components/subtitletrack.rb +1 -1
- data/lib/fastpix_client/models/components/unused_uploads_playbackid.rb +1 -1
- data/lib/fastpix_client/models/components/unused_uploads_playbackid_domains.rb +1 -1
- data/lib/fastpix_client/models/components/unused_uploads_playbackid_useragents.rb +1 -1
- data/lib/fastpix_client/models/components/unuseddirectupload.rb +1 -1
- data/lib/fastpix_client/models/components/unuseddirectuploadresponse.rb +1 -1
- data/lib/fastpix_client/models/components/update_media.rb +3 -3
- data/lib/fastpix_client/models/components/update_media.rbi +1 -1
- data/lib/fastpix_client/models/components/updatetrackresponse.rb +1 -1
- data/lib/fastpix_client/models/operations/get_playback_id_data.rb +1 -1
- data/lib/fastpix_client/models/operations/get_playback_id_domains.rb +1 -1
- data/lib/fastpix_client/models/operations/get_playback_id_useragents.rb +1 -1
- data/lib/fastpix_client/models/operations/list_playback_ids_data.rb +1 -1
- data/lib/fastpix_client/models/operations/list_playback_ids_domains.rb +1 -1
- data/lib/fastpix_client/models/operations/list_playback_ids_useragents.rb +1 -1
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_data.rb +40 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_data.rbi +17 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_defaultpolicy.rb +21 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_defaultpolicy.rbi +11 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_request.rb +40 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_request.rbi +17 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_requestbody.rb +40 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_requestbody.rbi +17 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_response.rb +48 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_response.rbi +21 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_responsebody.rb +36 -0
- data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_responsebody.rbi +15 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_data.rb +40 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_data.rbi +17 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_defaultpolicy.rb +21 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_defaultpolicy.rbi +11 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_request.rb +40 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_request.rbi +17 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_requestbody.rb +40 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_requestbody.rbi +17 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_response.rb +48 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_response.rbi +21 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_responsebody.rb +36 -0
- data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_responsebody.rbi +15 -0
- data/lib/fastpix_client/models/operations.rb +12 -0
- data/lib/fastpix_client/sdkconfiguration.rb +3 -3
- data/lib/fastpix_client/utils/utils.rb +3 -2
- metadata +44 -40
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 61193159cda175fba2c8a1a939a4aabdf5ffdb6b0077fe7c60a0d96051001cae
|
|
4
|
+
data.tar.gz: a8b192da1ff5a627de29295d5c1c85a5816bf85f7f5917f80f966a97048de6e8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 25571c8ad27dca1459644bf7b770aa39ea157fcd910f76136138d059f9533c71b6cf75c8e80e48bdf8cc3e33891b3644787b4aa66b4fd642736ab38096e44e6f
|
|
7
|
+
data.tar.gz: 844af40feb387941740b6a8772c7a721580049d6ffa9599bc6463ee3c54682d04716ca17d18c92cc5282226e229abab7a76c1ef589c6fd8863066ec832094d22
|
|
@@ -53,6 +53,8 @@ module Crystalline
|
|
|
53
53
|
# rubocop:enable Lint/SuppressedException
|
|
54
54
|
return value
|
|
55
55
|
elsif field_type.to_s == 'Float'
|
|
56
|
+
raise TypeError, "Cannot convert #{value.inspect} to Float. The value is of type #{value.class}" unless value.is_a?(::Numeric)
|
|
57
|
+
|
|
56
58
|
return value.to_f
|
|
57
59
|
|
|
58
60
|
end
|
data/lib/crystalline/module.rb
CHANGED
|
@@ -32,19 +32,7 @@ module Crystalline
|
|
|
32
32
|
if type.instance_of?(Class) && type.include?(::Crystalline::MetadataFields)
|
|
33
33
|
type.from_dict(data)
|
|
34
34
|
elsif Crystalline::Utils.union? type
|
|
35
|
-
|
|
36
|
-
union_types = union_types.sort_by { |klass| Crystalline.non_nilable_attr_count(klass) }
|
|
37
|
-
|
|
38
|
-
union_types.each do |union_type|
|
|
39
|
-
unmarshalled_val = Crystalline.unmarshal_json(data, union_type)
|
|
40
|
-
return unmarshalled_val
|
|
41
|
-
rescue TypeError
|
|
42
|
-
next
|
|
43
|
-
rescue NoMethodError
|
|
44
|
-
next
|
|
45
|
-
rescue KeyError
|
|
46
|
-
next
|
|
47
|
-
end
|
|
35
|
+
unmarshal_union(data, type)
|
|
48
36
|
elsif Crystalline::Utils.arr? type
|
|
49
37
|
data.map { |v| Crystalline.unmarshal_json(v, Crystalline::Utils.arr_of(type)) }
|
|
50
38
|
elsif Crystalline::Utils.hash? type
|
|
@@ -60,6 +48,17 @@ module Crystalline
|
|
|
60
48
|
end
|
|
61
49
|
end
|
|
62
50
|
|
|
51
|
+
def self.unmarshal_union(data, type)
|
|
52
|
+
union_types = Crystalline::Utils.get_union_types(type)
|
|
53
|
+
union_types = union_types.sort_by { |klass| Crystalline.non_nilable_attr_count(klass) }
|
|
54
|
+
|
|
55
|
+
union_types.each do |union_type|
|
|
56
|
+
return Crystalline.unmarshal_json(data, union_type)
|
|
57
|
+
rescue TypeError, NoMethodError, KeyError
|
|
58
|
+
next
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
63
62
|
def self.json_encode(val, primitives: true)
|
|
64
63
|
if val.class.respond_to? :enums
|
|
65
64
|
val.serialize
|
|
@@ -439,5 +439,258 @@ module FastpixClient
|
|
|
439
439
|
end
|
|
440
440
|
end
|
|
441
441
|
end
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
sig { params(body: Models::Operations::UpdateLiveStreamDomainRestrictionsRequestBody, stream_id: ::String, playback_id: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdateLiveStreamDomainRestrictionsResponse) }
|
|
446
|
+
def update_live_stream_domain_restrictions(body:, stream_id:, playback_id:, timeout_ms: nil)
|
|
447
|
+
# update_live_stream_domain_restrictions - Update domain restrictions for a live stream playback ID
|
|
448
|
+
# This endpoint updates domain-level restrictions for a specific playback ID associated with a live stream.
|
|
449
|
+
# It allows you to restrict playback to specific domains or block known unauthorized domains.
|
|
450
|
+
#
|
|
451
|
+
# **How it works:**
|
|
452
|
+
# 1. Make a `PATCH` request to this endpoint with your desired domain access configuration.
|
|
453
|
+
# 2. Set a default policy (`allow` or `deny`) and specify domain names in the `allow` or `deny` lists.
|
|
454
|
+
# 3. This is commonly used to restrict video playback to your website or approved client domains.
|
|
455
|
+
#
|
|
456
|
+
# **Example:**
|
|
457
|
+
# A streaming service can allow playback only from `example.com` and deny all others by setting: `"defaultPolicy": "deny"` and `"allow": ["example.com"]`.
|
|
458
|
+
#
|
|
459
|
+
request = Models::Operations::UpdateLiveStreamDomainRestrictionsRequest.new(
|
|
460
|
+
stream_id: stream_id,
|
|
461
|
+
playback_id: playback_id,
|
|
462
|
+
body: body
|
|
463
|
+
)
|
|
464
|
+
url, params = @sdk_configuration.get_server_details
|
|
465
|
+
base_url = Utils.template_url(url, params)
|
|
466
|
+
url = Utils.generate_url(
|
|
467
|
+
Models::Operations::UpdateLiveStreamDomainRestrictionsRequest,
|
|
468
|
+
base_url,
|
|
469
|
+
'/live/streams/{streamId}/playback-ids/{playbackId}/domains',
|
|
470
|
+
request
|
|
471
|
+
)
|
|
472
|
+
headers = {}
|
|
473
|
+
headers = T.cast(headers, T::Hash[String, String])
|
|
474
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
|
|
475
|
+
headers['content-type'] = req_content_type
|
|
476
|
+
body = encode_request_body(req_content_type, data, form)
|
|
477
|
+
headers['Accept'] = CONTENT_TYPE_JSON
|
|
478
|
+
headers[USER_AGENT_HEADER] = @sdk_configuration.user_agent
|
|
479
|
+
|
|
480
|
+
security = @sdk_configuration.security_source&.call
|
|
481
|
+
|
|
482
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
|
483
|
+
timeout ||= @sdk_configuration.timeout
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
connection = @sdk_configuration.client
|
|
487
|
+
|
|
488
|
+
hook_ctx = SDKHooks::HookContext.new(
|
|
489
|
+
config: @sdk_configuration,
|
|
490
|
+
base_url: base_url,
|
|
491
|
+
oauth2_scopes: nil,
|
|
492
|
+
operation_id: 'update-live-stream-domain-restrictions',
|
|
493
|
+
security_source: @sdk_configuration.security_source
|
|
494
|
+
)
|
|
495
|
+
|
|
496
|
+
error = T.let(nil, T.nilable(StandardError))
|
|
497
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
begin
|
|
501
|
+
http_response = T.must(connection).patch(url) do |req|
|
|
502
|
+
req.body = body
|
|
503
|
+
req.headers.merge!(headers)
|
|
504
|
+
req.options.timeout = timeout unless timeout.nil?
|
|
505
|
+
Utils.configure_request_security(req, security)
|
|
506
|
+
|
|
507
|
+
@sdk_configuration.hooks.before_request(
|
|
508
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
|
509
|
+
hook_ctx: hook_ctx
|
|
510
|
+
),
|
|
511
|
+
request: req
|
|
512
|
+
)
|
|
513
|
+
end
|
|
514
|
+
rescue StandardError => e
|
|
515
|
+
error = e
|
|
516
|
+
ensure
|
|
517
|
+
http_response = apply_after_request_hooks(http_response, error, hook_ctx)
|
|
518
|
+
end
|
|
519
|
+
|
|
520
|
+
content_type = http_response.headers.fetch(CONTENT_TYPE_HEADER, DEFAULT_CONTENT_TYPE)
|
|
521
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
|
522
|
+
if Utils.match_content_type(content_type, CONTENT_TYPE_JSON)
|
|
523
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
524
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
525
|
+
hook_ctx: hook_ctx
|
|
526
|
+
),
|
|
527
|
+
response: http_response
|
|
528
|
+
)
|
|
529
|
+
response_data = http_response.env.response_body
|
|
530
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::UpdateLiveStreamDomainRestrictionsResponseBody)
|
|
531
|
+
response = Models::Operations::UpdateLiveStreamDomainRestrictionsResponse.new(
|
|
532
|
+
status_code: http_response.status,
|
|
533
|
+
content_type: content_type,
|
|
534
|
+
raw_response: http_response,
|
|
535
|
+
object: T.unsafe(obj)
|
|
536
|
+
)
|
|
537
|
+
|
|
538
|
+
return response
|
|
539
|
+
else
|
|
540
|
+
raise ::FastpixClient::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), UNKNOWN_CONTENT_TYPE_ERROR
|
|
541
|
+
end
|
|
542
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
|
543
|
+
raise ::FastpixClient::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), API_ERROR_OCCURRED
|
|
544
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
|
545
|
+
raise ::FastpixClient::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), API_ERROR_OCCURRED
|
|
546
|
+
else
|
|
547
|
+
if Utils.match_content_type(content_type, CONTENT_TYPE_JSON)
|
|
548
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
549
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
550
|
+
hook_ctx: hook_ctx
|
|
551
|
+
),
|
|
552
|
+
response: http_response
|
|
553
|
+
)
|
|
554
|
+
response_data = http_response.env.response_body
|
|
555
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::DefaultError)
|
|
556
|
+
response = Models::Operations::UpdateLiveStreamDomainRestrictionsResponse.new(
|
|
557
|
+
status_code: http_response.status,
|
|
558
|
+
content_type: content_type,
|
|
559
|
+
raw_response: http_response,
|
|
560
|
+
default_error: T.unsafe(obj)
|
|
561
|
+
)
|
|
562
|
+
|
|
563
|
+
return response
|
|
564
|
+
else
|
|
565
|
+
raise ::FastpixClient::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), UNKNOWN_CONTENT_TYPE_ERROR
|
|
566
|
+
end
|
|
567
|
+
end
|
|
568
|
+
end
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
sig { params(body: Models::Operations::UpdateLiveStreamUserAgentRestrictionsRequestBody, stream_id: ::String, playback_id: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdateLiveStreamUserAgentRestrictionsResponse) }
|
|
572
|
+
def update_live_stream_user_agent_restrictions(body:, stream_id:, playback_id:, timeout_ms: nil)
|
|
573
|
+
# update_live_stream_user_agent_restrictions - Update user-agent restrictions for a live stream playback ID
|
|
574
|
+
# This endpoint allows updating user-agent restrictions for a specific playback ID associated with a live stream.
|
|
575
|
+
# It can be used to allow or deny specific user-agents during playback request evaluation.
|
|
576
|
+
#
|
|
577
|
+
# **How it works:**
|
|
578
|
+
# 1. Make a `PATCH` request to this endpoint with your desired user-agent access configuration.
|
|
579
|
+
# 2. Specify a default policy (`allow` or `deny`) and provide specific `allow` or `deny` lists.
|
|
580
|
+
# 3. Use this to restrict access to specific browsers, devices, or bots.
|
|
581
|
+
#
|
|
582
|
+
# **Example:**
|
|
583
|
+
# A developer may configure a playback ID to deny access from known scraping user-agents while allowing all others by default.
|
|
584
|
+
#
|
|
585
|
+
request = Models::Operations::UpdateLiveStreamUserAgentRestrictionsRequest.new(
|
|
586
|
+
stream_id: stream_id,
|
|
587
|
+
playback_id: playback_id,
|
|
588
|
+
body: body
|
|
589
|
+
)
|
|
590
|
+
url, params = @sdk_configuration.get_server_details
|
|
591
|
+
base_url = Utils.template_url(url, params)
|
|
592
|
+
url = Utils.generate_url(
|
|
593
|
+
Models::Operations::UpdateLiveStreamUserAgentRestrictionsRequest,
|
|
594
|
+
base_url,
|
|
595
|
+
'/live/streams/{streamId}/playback-ids/{playbackId}/user-agents',
|
|
596
|
+
request
|
|
597
|
+
)
|
|
598
|
+
headers = {}
|
|
599
|
+
headers = T.cast(headers, T::Hash[String, String])
|
|
600
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
|
|
601
|
+
headers['content-type'] = req_content_type
|
|
602
|
+
body = encode_request_body(req_content_type, data, form)
|
|
603
|
+
headers['Accept'] = CONTENT_TYPE_JSON
|
|
604
|
+
headers[USER_AGENT_HEADER] = @sdk_configuration.user_agent
|
|
605
|
+
|
|
606
|
+
security = @sdk_configuration.security_source&.call
|
|
607
|
+
|
|
608
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
|
609
|
+
timeout ||= @sdk_configuration.timeout
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
connection = @sdk_configuration.client
|
|
613
|
+
|
|
614
|
+
hook_ctx = SDKHooks::HookContext.new(
|
|
615
|
+
config: @sdk_configuration,
|
|
616
|
+
base_url: base_url,
|
|
617
|
+
oauth2_scopes: nil,
|
|
618
|
+
operation_id: 'update-live-stream-user-agent-restrictions',
|
|
619
|
+
security_source: @sdk_configuration.security_source
|
|
620
|
+
)
|
|
621
|
+
|
|
622
|
+
error = T.let(nil, T.nilable(StandardError))
|
|
623
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
begin
|
|
627
|
+
http_response = T.must(connection).patch(url) do |req|
|
|
628
|
+
req.body = body
|
|
629
|
+
req.headers.merge!(headers)
|
|
630
|
+
req.options.timeout = timeout unless timeout.nil?
|
|
631
|
+
Utils.configure_request_security(req, security)
|
|
632
|
+
|
|
633
|
+
@sdk_configuration.hooks.before_request(
|
|
634
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
|
635
|
+
hook_ctx: hook_ctx
|
|
636
|
+
),
|
|
637
|
+
request: req
|
|
638
|
+
)
|
|
639
|
+
end
|
|
640
|
+
rescue StandardError => e
|
|
641
|
+
error = e
|
|
642
|
+
ensure
|
|
643
|
+
http_response = apply_after_request_hooks(http_response, error, hook_ctx)
|
|
644
|
+
end
|
|
645
|
+
|
|
646
|
+
content_type = http_response.headers.fetch(CONTENT_TYPE_HEADER, DEFAULT_CONTENT_TYPE)
|
|
647
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
|
648
|
+
if Utils.match_content_type(content_type, CONTENT_TYPE_JSON)
|
|
649
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
650
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
651
|
+
hook_ctx: hook_ctx
|
|
652
|
+
),
|
|
653
|
+
response: http_response
|
|
654
|
+
)
|
|
655
|
+
response_data = http_response.env.response_body
|
|
656
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::UpdateLiveStreamUserAgentRestrictionsResponseBody)
|
|
657
|
+
response = Models::Operations::UpdateLiveStreamUserAgentRestrictionsResponse.new(
|
|
658
|
+
status_code: http_response.status,
|
|
659
|
+
content_type: content_type,
|
|
660
|
+
raw_response: http_response,
|
|
661
|
+
object: T.unsafe(obj)
|
|
662
|
+
)
|
|
663
|
+
|
|
664
|
+
return response
|
|
665
|
+
else
|
|
666
|
+
raise ::FastpixClient::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), UNKNOWN_CONTENT_TYPE_ERROR
|
|
667
|
+
end
|
|
668
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
|
669
|
+
raise ::FastpixClient::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), API_ERROR_OCCURRED
|
|
670
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
|
671
|
+
raise ::FastpixClient::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), API_ERROR_OCCURRED
|
|
672
|
+
else
|
|
673
|
+
if Utils.match_content_type(content_type, CONTENT_TYPE_JSON)
|
|
674
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
675
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
676
|
+
hook_ctx: hook_ctx
|
|
677
|
+
),
|
|
678
|
+
response: http_response
|
|
679
|
+
)
|
|
680
|
+
response_data = http_response.env.response_body
|
|
681
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::DefaultError)
|
|
682
|
+
response = Models::Operations::UpdateLiveStreamUserAgentRestrictionsResponse.new(
|
|
683
|
+
status_code: http_response.status,
|
|
684
|
+
content_type: content_type,
|
|
685
|
+
raw_response: http_response,
|
|
686
|
+
default_error: T.unsafe(obj)
|
|
687
|
+
)
|
|
688
|
+
|
|
689
|
+
return response
|
|
690
|
+
else
|
|
691
|
+
raise ::FastpixClient::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), UNKNOWN_CONTENT_TYPE_ERROR
|
|
692
|
+
end
|
|
693
|
+
end
|
|
694
|
+
end
|
|
442
695
|
end
|
|
443
696
|
end
|
|
@@ -25,7 +25,7 @@ module FastpixClient
|
|
|
25
25
|
# Title of the track.
|
|
26
26
|
field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('title') } }
|
|
27
27
|
|
|
28
|
-
sig { params(id: T.nilable(::String), type: T.nilable(Models::Components::AddTrackResponseType), url: T.nilable(::String), language_code: T.nilable(::String), language_name: T.nilable(::String), title: T.nilable(::String)).void }
|
|
28
|
+
sig { params(id: T.nilable(::String), type: T.nilable(T.any(Models::Components::AddTrackResponseType, String)), url: T.nilable(::String), language_code: T.nilable(::String), language_name: T.nilable(::String), title: T.nilable(::String)).void }
|
|
29
29
|
def initialize(id: nil, type: nil, url: nil, language_code: nil, language_name: nil, title: nil)
|
|
30
30
|
@id = id
|
|
31
31
|
@type = type
|
|
@@ -27,7 +27,7 @@ module FastpixClient
|
|
|
27
27
|
#
|
|
28
28
|
field :language_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('languageCode') } }
|
|
29
29
|
|
|
30
|
-
sig { params(id: T.nilable(::String), type: T.nilable(Models::Components::AudioTrackType), status: T.nilable(::String), title: T.nilable(::String), language_name: T.nilable(::String), language_code: T.nilable(::String)).void }
|
|
30
|
+
sig { params(id: T.nilable(::String), type: T.nilable(T.any(Models::Components::AudioTrackType, String)), status: T.nilable(::String), title: T.nilable(::String), language_name: T.nilable(::String), language_code: T.nilable(::String)).void }
|
|
31
31
|
def initialize(id: nil, type: nil, status: nil, title: nil, language_name: nil, language_code: nil)
|
|
32
32
|
@id = id
|
|
33
33
|
@type = type
|
|
@@ -41,7 +41,7 @@ module FastpixClient
|
|
|
41
41
|
#
|
|
42
42
|
field :trial, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('trial') } }
|
|
43
43
|
|
|
44
|
-
sig { params(id: T.nilable(::String), status: T.nilable(Models::Components::CreateMediaResponseStatus), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), metadata: T.nilable(T::Hash[Symbol, ::String]), media_quality: T.nilable(Models::Components::CreateMediaResponseMediaQuality), source_access: T.nilable(T::Boolean), max_resolution: T.nilable(Models::Components::CreateMediaResponseMaxResolution), inputs: T.nilable(T::Array[Models::Components::CreateMediaResponseInput]), optimize_audio: T.nilable(T::Boolean), trial: T.nilable(T::Boolean)).void }
|
|
44
|
+
sig { params(id: T.nilable(::String), status: T.nilable(T.any(Models::Components::CreateMediaResponseStatus, String)), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), metadata: T.nilable(T::Hash[Symbol, ::String]), media_quality: T.nilable(T.any(Models::Components::CreateMediaResponseMediaQuality, String)), source_access: T.nilable(T::Boolean), max_resolution: T.nilable(T.any(Models::Components::CreateMediaResponseMaxResolution, String)), inputs: T.nilable(T::Array[Models::Components::CreateMediaResponseInput]), optimize_audio: T.nilable(T::Boolean), trial: T.nilable(T::Boolean)).void }
|
|
45
45
|
def initialize(id: nil, status: nil, created_at: nil, updated_at: nil, playback_ids: nil, metadata: nil, media_quality: nil, source_access: nil, max_resolution: nil, inputs: nil, optimize_audio: nil, trial: true)
|
|
46
46
|
@id = id
|
|
47
47
|
@status = status
|
|
@@ -21,7 +21,7 @@ module FastpixClient
|
|
|
21
21
|
# The maximum resolution for the playback ID.
|
|
22
22
|
field :resolution, Crystalline::Nilable.new(Models::Components::Resolution), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('resolution'), 'decoder': Utils.enum_from_string(Models::Components::Resolution, true) } }
|
|
23
23
|
|
|
24
|
-
sig { params(id: T.nilable(::String), access_policy: T.nilable(Models::Components::AccessPolicy), access_restrictions: T.nilable(Models::Components::CreatePlaybackIdAccessRestrictions), resolution: T.nilable(Models::Components::Resolution)).void }
|
|
24
|
+
sig { params(id: T.nilable(::String), access_policy: T.nilable(T.any(Models::Components::AccessPolicy, String)), access_restrictions: T.nilable(Models::Components::CreatePlaybackIdAccessRestrictions), resolution: T.nilable(T.any(Models::Components::Resolution, String))).void }
|
|
25
25
|
def initialize(id: nil, access_policy: nil, access_restrictions: nil, resolution: nil)
|
|
26
26
|
@id = id
|
|
27
27
|
@access_policy = access_policy
|
|
@@ -19,7 +19,7 @@ module FastpixClient
|
|
|
19
19
|
# A list of domains that are explicitly blocked from accessing the resource.
|
|
20
20
|
field :deny, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('deny') } }
|
|
21
21
|
|
|
22
|
-
sig { params(default_policy: T.nilable(Models::Components::PolicyAction), allow: T.nilable(T::Array[::String]), deny: T.nilable(T::Array[::String])).void }
|
|
22
|
+
sig { params(default_policy: T.nilable(T.any(Models::Components::PolicyAction, String)), allow: T.nilable(T::Array[::String]), deny: T.nilable(T::Array[::String])).void }
|
|
23
23
|
def initialize(default_policy: nil, allow: nil, deny: nil)
|
|
24
24
|
@default_policy = default_policy
|
|
25
25
|
@allow = allow
|
|
@@ -19,7 +19,7 @@ module FastpixClient
|
|
|
19
19
|
# A list of specific user agents that are blocked.
|
|
20
20
|
field :deny, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('deny') } }
|
|
21
21
|
|
|
22
|
-
sig { params(default_policy: T.nilable(Models::Components::PolicyAction), allow: T.nilable(T::Array[::String]), deny: T.nilable(T::Array[::String])).void }
|
|
22
|
+
sig { params(default_policy: T.nilable(T.any(Models::Components::PolicyAction, String)), allow: T.nilable(T::Array[::String]), deny: T.nilable(T::Array[::String])).void }
|
|
23
23
|
def initialize(default_policy: nil, allow: nil, deny: nil)
|
|
24
24
|
@default_policy = default_policy
|
|
25
25
|
@allow = allow
|
|
@@ -28,7 +28,7 @@ module FastpixClient
|
|
|
28
28
|
#
|
|
29
29
|
field :timeout, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('timeout') } }
|
|
30
30
|
|
|
31
|
-
sig { params(upload_id: T.nilable(::String), trial: T.nilable(T::Boolean), status: T.nilable(Models::Components::DirectUploadStatus), url: T.nilable(::String), cors_origin: T.nilable(::String), push_media_settings: T.nilable(Models::Components::DirectUploadResponse), timeout: T.nilable(::Float)).void }
|
|
31
|
+
sig { params(upload_id: T.nilable(::String), trial: T.nilable(T::Boolean), status: T.nilable(T.any(Models::Components::DirectUploadStatus, String)), url: T.nilable(::String), cors_origin: T.nilable(::String), push_media_settings: T.nilable(Models::Components::DirectUploadResponse), timeout: T.nilable(::Float)).void }
|
|
32
32
|
def initialize(upload_id: nil, trial: nil, status: nil, url: nil, cors_origin: nil, push_media_settings: nil, timeout: 14_400.0)
|
|
33
33
|
@upload_id = upload_id
|
|
34
34
|
@trial = trial
|
|
@@ -26,7 +26,7 @@ module FastpixClient
|
|
|
26
26
|
#
|
|
27
27
|
field :optimize_audio, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('optimizeAudio') } }
|
|
28
28
|
|
|
29
|
-
sig { params(playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), metadata: T.nilable(T::Hash[Symbol, ::String]), media_quality: T.nilable(Models::Components::DirectUploadResponseMediaQuality), source_access: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean)).void }
|
|
29
|
+
sig { params(playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), metadata: T.nilable(T::Hash[Symbol, ::String]), media_quality: T.nilable(T.any(Models::Components::DirectUploadResponseMediaQuality, String)), source_access: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean)).void }
|
|
30
30
|
def initialize(playback_ids: nil, metadata: nil, media_quality: nil, source_access: nil, optimize_audio: nil)
|
|
31
31
|
@playback_ids = playback_ids
|
|
32
32
|
@metadata = metadata
|
|
@@ -27,7 +27,7 @@ module FastpixClient
|
|
|
27
27
|
# Title of the track.
|
|
28
28
|
field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('title') } }
|
|
29
29
|
|
|
30
|
-
sig { params(id: T.nilable(::String), type: T.nilable(Models::Components::GenerateTrackResponseType), language_code: T.nilable(Models::Components::GenerateTrackResponseLanguageCode), language_name: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), title: T.nilable(::String)).void }
|
|
30
|
+
sig { params(id: T.nilable(::String), type: T.nilable(T.any(Models::Components::GenerateTrackResponseType, String)), language_code: T.nilable(T.any(Models::Components::GenerateTrackResponseLanguageCode, String)), language_name: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), title: T.nilable(::String)).void }
|
|
31
31
|
def initialize(id: nil, type: nil, language_code: nil, language_name: nil, metadata: nil, title: nil)
|
|
32
32
|
@id = id
|
|
33
33
|
@type = type
|
|
@@ -40,8 +40,8 @@ module FastpixClient
|
|
|
40
40
|
field :named_entities, Crystalline::Nilable.new(Models::Components::AiResponseRecord), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('namedEntities') } }
|
|
41
41
|
# Represents an AI response record containing status and data for AI-generated features like summary, chapters, named entities, or moderation.
|
|
42
42
|
field :moderation, Crystalline::Nilable.new(Models::Components::AiResponseRecord), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('moderation') } }
|
|
43
|
-
#
|
|
44
|
-
field :duration, Crystalline::Nilable.new(::
|
|
43
|
+
# Duration of the media in seconds.
|
|
44
|
+
field :duration, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
|
|
45
45
|
# 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.
|
|
46
46
|
field :frame_rate, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('frameRate') } }
|
|
47
47
|
# Time the media was created, defined as a localDateTime (UTC Time).
|
|
@@ -72,7 +72,7 @@ module FastpixClient
|
|
|
72
72
|
# The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height.
|
|
73
73
|
field :aspect_ratio, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('aspectRatio') } }
|
|
74
74
|
|
|
75
|
-
sig { params(id: T.nilable(::String), source_media_id: T.nilable(::String), workspace_id: T.nilable(::String), stream_id: T.nilable(::String), media_quality: T.nilable(Models::Components::GetAllMediaResponseMediaQuality), creator_id: T.nilable(::String), status: T.nilable(Models::Components::GetAllMediaResponseStatus), mp4_support: T.nilable(T::Array[Models::Components::GetAllMediaResponseMp4Support]), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrackForGetAll, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), duration: T.nilable(::
|
|
75
|
+
sig { params(id: T.nilable(::String), source_media_id: T.nilable(::String), workspace_id: T.nilable(::String), stream_id: T.nilable(::String), media_quality: T.nilable(T.any(Models::Components::GetAllMediaResponseMediaQuality, String)), creator_id: T.nilable(::String), status: T.nilable(T.any(Models::Components::GetAllMediaResponseStatus, String)), mp4_support: T.nilable(T::Array[Models::Components::GetAllMediaResponseMp4Support]), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrackForGetAll, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), duration: T.nilable(::Float), frame_rate: T.nilable(::String), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), thumbnail: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), title: T.nilable(::String), max_resolution: T.nilable(T.any(Models::Components::GetAllMediaResponseMaxResolution, String)), source_resolution: T.nilable(T.any(Models::Components::GetAllMediaResponseSourceResolution, String)), source_access: T.nilable(T::Boolean), generated_subtitles: T.nilable(T::Array[Models::Components::TracksSubtitles]), is_audio_only: T.nilable(T::Boolean), subtitle_available: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean), aspect_ratio: T.nilable(::String)).void }
|
|
76
76
|
def initialize(id: nil, source_media_id: nil, workspace_id: nil, stream_id: nil, media_quality: nil, creator_id: nil, status: nil, mp4_support: nil, playback_ids: nil, tracks: nil, summary: nil, chapters: nil, named_entities: nil, moderation: nil, duration: nil, frame_rate: nil, created_at: nil, updated_at: nil, thumbnail: nil, metadata: nil, title: nil, max_resolution: Models::Components::GetAllMediaResponseMaxResolution::ONE_THOUSAND_AND_EIGHTYP, source_resolution: Models::Components::GetAllMediaResponseSourceResolution::ONE_THOUSAND_AND_EIGHTYP, source_access: nil, generated_subtitles: nil, is_audio_only: nil, subtitle_available: nil, optimize_audio: nil, aspect_ratio: nil)
|
|
77
77
|
@id = id
|
|
78
78
|
@source_media_id = source_media_id
|
|
@@ -37,7 +37,7 @@ class FastpixClient::Models::Components::GetAllMediaResponse
|
|
|
37
37
|
def moderation(); end
|
|
38
38
|
def moderation=(str_); end
|
|
39
39
|
def duration(); end
|
|
40
|
-
def duration=(
|
|
40
|
+
def duration=(float_); end
|
|
41
41
|
def frame_rate(); end
|
|
42
42
|
def frame_rate=(str_); end
|
|
43
43
|
def created_at(); end
|
|
@@ -40,8 +40,8 @@ module FastpixClient
|
|
|
40
40
|
field :named_entities, Crystalline::Nilable.new(Models::Components::AiResponseRecord), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('namedEntities') } }
|
|
41
41
|
# Represents an AI response record containing status and data for AI-generated features like summary, chapters, named entities, or moderation.
|
|
42
42
|
field :moderation, Crystalline::Nilable.new(Models::Components::AiResponseRecord), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('moderation') } }
|
|
43
|
-
#
|
|
44
|
-
field :duration, Crystalline::Nilable.new(::
|
|
43
|
+
# Duration of the media in seconds.
|
|
44
|
+
field :duration, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
|
|
45
45
|
# 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.
|
|
46
46
|
field :frame_rate, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('frameRate') } }
|
|
47
47
|
# Time the media was created, defined as a localDateTime (UTC Time).
|
|
@@ -72,7 +72,7 @@ module FastpixClient
|
|
|
72
72
|
# The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height.
|
|
73
73
|
field :aspect_ratio, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('aspectRatio') } }
|
|
74
74
|
|
|
75
|
-
sig { params(id: T.nilable(::String), source_media_id: T.nilable(::String), workspace_id: T.nilable(::String), stream_id: T.nilable(::String), media_quality: T.nilable(Models::Components::GetMediaDetailResponseMediaQuality), creator_id: T.nilable(::String), status: T.nilable(Models::Components::GetMediaDetailResponseStatus), mp4_support: T.nilable(T::Array[Models::Components::GetMediaDetailResponseMp4Support]), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), duration: T.nilable(::
|
|
75
|
+
sig { params(id: T.nilable(::String), source_media_id: T.nilable(::String), workspace_id: T.nilable(::String), stream_id: T.nilable(::String), media_quality: T.nilable(T.any(Models::Components::GetMediaDetailResponseMediaQuality, String)), creator_id: T.nilable(::String), status: T.nilable(T.any(Models::Components::GetMediaDetailResponseStatus, String)), mp4_support: T.nilable(T::Array[Models::Components::GetMediaDetailResponseMp4Support]), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), duration: T.nilable(::Float), frame_rate: T.nilable(::String), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), thumbnail: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), title: T.nilable(::String), max_resolution: T.nilable(T.any(Models::Components::GetMediaDetailResponseMaxResolution, String)), source_resolution: T.nilable(T.any(Models::Components::GetMediaDetailResponseSourceResolution, String)), source_access: T.nilable(T::Boolean), generated_subtitles: T.nilable(T::Array[Models::Components::TracksSubtitles]), is_audio_only: T.nilable(T::Boolean), subtitle_available: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean), aspect_ratio: T.nilable(::String)).void }
|
|
76
76
|
def initialize(id: nil, source_media_id: nil, workspace_id: nil, stream_id: nil, media_quality: nil, creator_id: nil, status: nil, mp4_support: nil, playback_ids: nil, tracks: nil, summary: nil, chapters: nil, named_entities: nil, moderation: nil, duration: nil, frame_rate: nil, created_at: nil, updated_at: nil, thumbnail: nil, metadata: nil, title: nil, max_resolution: Models::Components::GetMediaDetailResponseMaxResolution::ONE_THOUSAND_AND_EIGHTYP, source_resolution: Models::Components::GetMediaDetailResponseSourceResolution::ONE_THOUSAND_AND_EIGHTYP, source_access: nil, generated_subtitles: nil, is_audio_only: nil, subtitle_available: nil, optimize_audio: nil, aspect_ratio: nil)
|
|
77
77
|
@id = id
|
|
78
78
|
@source_media_id = source_media_id
|
|
@@ -37,7 +37,7 @@ class FastpixClient::Models::Components::GetMediaDetailResponse
|
|
|
37
37
|
def moderation(); end
|
|
38
38
|
def moderation=(str_); end
|
|
39
39
|
def duration(); end
|
|
40
|
-
def duration=(
|
|
40
|
+
def duration=(float_); end
|
|
41
41
|
def frame_rate(); end
|
|
42
42
|
def frame_rate=(str_); end
|
|
43
43
|
def created_at(); end
|
|
@@ -19,6 +19,9 @@ module FastpixClient
|
|
|
19
19
|
# Enables DVR (Digital Video Recorder) functionality, allowing viewers to pause, rewind, and resume live playback.
|
|
20
20
|
#
|
|
21
21
|
field :enable_dvr_mode, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('enableDvrMode') } }
|
|
22
|
+
# Controls whether the livestream is recorded to a VOD asset (Live-to-VOD). When true (default), FastPix records and stores the livestream for on-demand viewing. When false, the livestream is not recorded.
|
|
23
|
+
#
|
|
24
|
+
field :enable_recording, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('enableRecording') } }
|
|
22
25
|
# Defines the maximum resolution for encoding, storage, and playback of the live stream.
|
|
23
26
|
#
|
|
24
27
|
field :max_resolution, Crystalline::Nilable.new(Models::Components::CreateLiveStreamRequestMaxResolution), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('maxResolution'), 'decoder': Utils.enum_from_string(Models::Components::CreateLiveStreamRequestMaxResolution, true) } }
|
|
@@ -28,10 +31,11 @@ module FastpixClient
|
|
|
28
31
|
# Basic access policy for media content
|
|
29
32
|
field :media_policy, Crystalline::Nilable.new(Models::Components::BasicAccessPolicy), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('mediaPolicy'), 'decoder': Utils.enum_from_string(Models::Components::BasicAccessPolicy, true) } }
|
|
30
33
|
|
|
31
|
-
sig { params(metadata: T.nilable(T::Hash[Symbol, ::String]), enable_dvr_mode: T.nilable(T::Boolean), max_resolution: T.nilable(Models::Components::CreateLiveStreamRequestMaxResolution), reconnect_window: T.nilable(::Integer), media_policy: T.nilable(Models::Components::BasicAccessPolicy)).void }
|
|
32
|
-
def initialize(metadata: nil, enable_dvr_mode: nil, max_resolution: Models::Components::CreateLiveStreamRequestMaxResolution::ONE_THOUSAND_AND_EIGHTYP, reconnect_window: 60, media_policy: Models::Components::BasicAccessPolicy::PUBLIC)
|
|
34
|
+
sig { params(metadata: T.nilable(T::Hash[Symbol, ::String]), enable_dvr_mode: T.nilable(T::Boolean), enable_recording: T.nilable(T::Boolean), max_resolution: T.nilable(Models::Components::CreateLiveStreamRequestMaxResolution), reconnect_window: T.nilable(::Integer), media_policy: T.nilable(Models::Components::BasicAccessPolicy)).void }
|
|
35
|
+
def initialize(metadata: nil, enable_dvr_mode: nil, enable_recording: true, max_resolution: Models::Components::CreateLiveStreamRequestMaxResolution::ONE_THOUSAND_AND_EIGHTYP, reconnect_window: 60, media_policy: Models::Components::BasicAccessPolicy::PUBLIC)
|
|
33
36
|
@metadata = metadata
|
|
34
37
|
@enable_dvr_mode = enable_dvr_mode
|
|
38
|
+
@enable_recording = enable_recording
|
|
35
39
|
@max_resolution = max_resolution
|
|
36
40
|
@reconnect_window = reconnect_window
|
|
37
41
|
@media_policy = media_policy
|
|
@@ -42,6 +46,7 @@ module FastpixClient
|
|
|
42
46
|
return false unless other.is_a? self.class
|
|
43
47
|
return false unless @metadata == other.metadata
|
|
44
48
|
return false unless @enable_dvr_mode == other.enable_dvr_mode
|
|
49
|
+
return false unless @enable_recording == other.enable_recording
|
|
45
50
|
return false unless @max_resolution == other.max_resolution
|
|
46
51
|
return false unless @reconnect_window == other.reconnect_window
|
|
47
52
|
return false unless @media_policy == other.media_policy
|
|
@@ -12,6 +12,8 @@ class FastpixClient::Models::Components::InputMediaSettings
|
|
|
12
12
|
def metadata=(str_); end
|
|
13
13
|
def enable_dvr_mode(); end
|
|
14
14
|
def enable_dvr_mode=(str_); end
|
|
15
|
+
def enable_recording(); end
|
|
16
|
+
def enable_recording=(str_); end
|
|
15
17
|
def max_resolution(); end
|
|
16
18
|
def max_resolution=(str_); end
|
|
17
19
|
def reconnect_window(); end
|
|
@@ -30,8 +30,8 @@ module FastpixClient
|
|
|
30
30
|
field :tracks, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack))), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('tracks') } }
|
|
31
31
|
# The MP4 renditions generated for the media. Present only when MP4 support is enabled.
|
|
32
32
|
field :mp4_support, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::LiveMediaClipsMp4Support)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('mp4Support') } }
|
|
33
|
-
#
|
|
34
|
-
field :duration, Crystalline::Nilable.new(::
|
|
33
|
+
# Duration of the media in seconds.
|
|
34
|
+
field :duration, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
|
|
35
35
|
# Time the media was created, defined as a localDateTime (UTC Time).
|
|
36
36
|
field :created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('createdAt'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
|
37
37
|
# Time the media was updated, defined as a localDateTime (UTC Time).
|
|
@@ -55,7 +55,7 @@ module FastpixClient
|
|
|
55
55
|
# The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height.
|
|
56
56
|
field :aspect_ratio, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('aspectRatio') } }
|
|
57
57
|
|
|
58
|
-
sig { params(id: T.nilable(::String), workspace_id: T.nilable(::String), stream_id: T.nilable(::String), creator_id: T.nilable(::String), status: T.nilable(Models::Components::LiveMediaClipsStatus), source_access: T.nilable(T::Boolean), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), mp4_support: T.nilable(T::Array[Models::Components::LiveMediaClipsMp4Support]), duration: T.nilable(::
|
|
58
|
+
sig { params(id: T.nilable(::String), workspace_id: T.nilable(::String), stream_id: T.nilable(::String), creator_id: T.nilable(::String), status: T.nilable(T.any(Models::Components::LiveMediaClipsStatus, String)), source_access: T.nilable(T::Boolean), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), mp4_support: T.nilable(T::Array[Models::Components::LiveMediaClipsMp4Support]), duration: T.nilable(::Float), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), thumbnail: T.nilable(::String), title: T.nilable(::String), max_resolution: T.nilable(T.any(Models::Components::LiveMediaClipsMaxResolution, String)), source_resolution: T.nilable(T.any(Models::Components::LiveMediaClipsSourceResolution, String)), generated_subtitles: T.nilable(T::Array[Models::Components::TracksSubtitles]), is_audio_only: T.nilable(T::Boolean), subtitle_available: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean), aspect_ratio: T.nilable(::String)).void }
|
|
59
59
|
def initialize(id: nil, workspace_id: nil, stream_id: nil, creator_id: nil, status: nil, source_access: nil, playback_ids: nil, tracks: nil, mp4_support: nil, duration: nil, created_at: nil, updated_at: nil, thumbnail: nil, title: nil, max_resolution: Models::Components::LiveMediaClipsMaxResolution::ONE_THOUSAND_AND_EIGHTYP, source_resolution: Models::Components::LiveMediaClipsSourceResolution::ONE_THOUSAND_AND_EIGHTYP, generated_subtitles: nil, is_audio_only: nil, subtitle_available: nil, optimize_audio: nil, aspect_ratio: nil)
|
|
60
60
|
@id = id
|
|
61
61
|
@workspace_id = workspace_id
|
|
@@ -27,7 +27,7 @@ class FastpixClient::Models::Components::LiveMediaClips
|
|
|
27
27
|
def mp4_support(); end
|
|
28
28
|
def mp4_support=(str_); end
|
|
29
29
|
def duration(); end
|
|
30
|
-
def duration=(
|
|
30
|
+
def duration=(float_); end
|
|
31
31
|
def created_at(); end
|
|
32
32
|
def created_at=(str_); end
|
|
33
33
|
def updated_at(); end
|
|
@@ -36,8 +36,8 @@ module FastpixClient
|
|
|
36
36
|
field :named_entities, Crystalline::Nilable.new(Models::Components::AiResponseRecord), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('namedEntities') } }
|
|
37
37
|
# Represents an AI response record containing status and data for AI-generated features like summary, chapters, named entities, or moderation.
|
|
38
38
|
field :moderation, Crystalline::Nilable.new(Models::Components::AiResponseRecord), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('moderation') } }
|
|
39
|
-
#
|
|
40
|
-
field :duration, Crystalline::Nilable.new(::
|
|
39
|
+
# Duration of the media in seconds.
|
|
40
|
+
field :duration, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
|
|
41
41
|
# Time the media was created, defined as a localDateTime (UTC Time).
|
|
42
42
|
field :created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('createdAt'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
|
43
43
|
# Time the media was updated, defined as a localDateTime (UTC Time).
|
|
@@ -66,7 +66,7 @@ module FastpixClient
|
|
|
66
66
|
# The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height.
|
|
67
67
|
field :aspect_ratio, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('aspectRatio') } }
|
|
68
68
|
|
|
69
|
-
sig { params(id: T.nilable(::String), workspace_id: T.nilable(::String), media_quality: T.nilable(Models::Components::MediaMediaQuality), creator_id: T.nilable(::String), status: T.nilable(Models::Components::MediaStatus), mp4_support: T.nilable(T::Array[Models::Components::MediaMp4Support]), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), duration: T.nilable(::
|
|
69
|
+
sig { params(id: T.nilable(::String), workspace_id: T.nilable(::String), media_quality: T.nilable(T.any(Models::Components::MediaMediaQuality, String)), creator_id: T.nilable(::String), status: T.nilable(T.any(Models::Components::MediaStatus, String)), mp4_support: T.nilable(T::Array[Models::Components::MediaMp4Support]), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), duration: T.nilable(::Float), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), thumbnail: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), title: T.nilable(::String), max_resolution: T.nilable(T.any(Models::Components::MediaMaxResolution, String)), source_resolution: T.nilable(T.any(Models::Components::MediaSourceResolution, String)), source_access: T.nilable(T::Boolean), generated_subtitles: T.nilable(T::Array[Models::Components::TracksSubtitles]), is_audio_only: T.nilable(T::Boolean), subtitle_available: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean), aspect_ratio: T.nilable(::String)).void }
|
|
70
70
|
def initialize(id: nil, workspace_id: nil, media_quality: nil, creator_id: nil, status: nil, mp4_support: nil, playback_ids: nil, tracks: nil, summary: nil, chapters: nil, named_entities: nil, moderation: nil, duration: nil, created_at: nil, updated_at: nil, thumbnail: nil, metadata: nil, title: nil, max_resolution: Models::Components::MediaMaxResolution::ONE_THOUSAND_AND_EIGHTYP, source_resolution: Models::Components::MediaSourceResolution::ONE_THOUSAND_AND_EIGHTYP, source_access: nil, generated_subtitles: nil, is_audio_only: nil, subtitle_available: nil, optimize_audio: nil, aspect_ratio: nil)
|
|
71
71
|
@id = id
|
|
72
72
|
@workspace_id = workspace_id
|
|
@@ -33,7 +33,7 @@ class FastpixClient::Models::Components::Media
|
|
|
33
33
|
def moderation(); end
|
|
34
34
|
def moderation=(str_); end
|
|
35
35
|
def duration(); end
|
|
36
|
-
def duration=(
|
|
36
|
+
def duration=(float_); end
|
|
37
37
|
def created_at(); end
|
|
38
38
|
def created_at=(str_); end
|
|
39
39
|
def updated_at(); end
|