google-cloud-video-stitcher-v1 0.1.0

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.
Files changed (38) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google/cloud/video/stitcher/v1/ad_tag_details_pb.rb +52 -0
  7. data/lib/google/cloud/video/stitcher/v1/cdn_keys_pb.rb +40 -0
  8. data/lib/google/cloud/video/stitcher/v1/companions_pb.rb +63 -0
  9. data/lib/google/cloud/video/stitcher/v1/events_pb.rb +61 -0
  10. data/lib/google/cloud/video/stitcher/v1/sessions_pb.rb +98 -0
  11. data/lib/google/cloud/video/stitcher/v1/slates_pb.rb +27 -0
  12. data/lib/google/cloud/video/stitcher/v1/stitch_details_pb.rb +37 -0
  13. data/lib/google/cloud/video/stitcher/v1/version.rb +30 -0
  14. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service/client.rb +2307 -0
  15. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service/credentials.rb +49 -0
  16. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service/paths.rb +191 -0
  17. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service.rb +55 -0
  18. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service_pb.rb +162 -0
  19. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service_services_pb.rb +93 -0
  20. data/lib/google/cloud/video/stitcher/v1.rb +40 -0
  21. data/lib/google-cloud-video-stitcher-v1.rb +21 -0
  22. data/proto_docs/README.md +4 -0
  23. data/proto_docs/google/api/field_behavior.rb +71 -0
  24. data/proto_docs/google/api/resource.rb +222 -0
  25. data/proto_docs/google/cloud/video/stitcher/v1/ad_tag_details.rb +102 -0
  26. data/proto_docs/google/cloud/video/stitcher/v1/cdn_keys.rb +71 -0
  27. data/proto_docs/google/cloud/video/stitcher/v1/companions.rb +129 -0
  28. data/proto_docs/google/cloud/video/stitcher/v1/events.rb +141 -0
  29. data/proto_docs/google/cloud/video/stitcher/v1/sessions.rb +287 -0
  30. data/proto_docs/google/cloud/video/stitcher/v1/slates.rb +42 -0
  31. data/proto_docs/google/cloud/video/stitcher/v1/stitch_details.rb +71 -0
  32. data/proto_docs/google/cloud/video/stitcher/v1/video_stitcher_service.rb +378 -0
  33. data/proto_docs/google/protobuf/duration.rb +98 -0
  34. data/proto_docs/google/protobuf/empty.rb +36 -0
  35. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  36. data/proto_docs/google/protobuf/struct.rb +96 -0
  37. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  38. metadata +230 -0
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Video
23
+ module Stitcher
24
+ module V1
25
+ # Describes an event and a trigger URI.
26
+ # @!attribute [rw] type
27
+ # @return [::Google::Cloud::Video::Stitcher::V1::Event::EventType]
28
+ # Describes the event that occurred.
29
+ # @!attribute [rw] uri
30
+ # @return [::String]
31
+ # The URI to trigger for this event.
32
+ # @!attribute [rw] id
33
+ # @return [::String]
34
+ # The ID of the event.
35
+ # @!attribute [rw] offset
36
+ # @return [::Google::Protobuf::Duration]
37
+ # The offset in seconds if the event type is `PROGRESS`.
38
+ class Event
39
+ include ::Google::Protobuf::MessageExts
40
+ extend ::Google::Protobuf::MessageExts::ClassMethods
41
+
42
+ # Describes the event that occurred.
43
+ module EventType
44
+ # The event type is unspecified.
45
+ EVENT_TYPE_UNSPECIFIED = 0
46
+
47
+ # First frame of creative ad viewed.
48
+ CREATIVE_VIEW = 1
49
+
50
+ # Creative ad started.
51
+ START = 2
52
+
53
+ # Start of an ad break.
54
+ BREAK_START = 3
55
+
56
+ # End of an ad break.
57
+ BREAK_END = 4
58
+
59
+ # Impression.
60
+ IMPRESSION = 5
61
+
62
+ # First quartile progress.
63
+ FIRST_QUARTILE = 6
64
+
65
+ # Midpoint progress.
66
+ MIDPOINT = 7
67
+
68
+ # Third quartile progress.
69
+ THIRD_QUARTILE = 8
70
+
71
+ # Ad progress completed.
72
+ COMPLETE = 9
73
+
74
+ # Specific progress event with an offset.
75
+ PROGRESS = 10
76
+
77
+ # Player muted.
78
+ MUTE = 11
79
+
80
+ # Player unmuted.
81
+ UNMUTE = 12
82
+
83
+ # Player paused.
84
+ PAUSE = 13
85
+
86
+ # Click event.
87
+ CLICK = 14
88
+
89
+ # Click-through event.
90
+ CLICK_THROUGH = 15
91
+
92
+ # Player rewinding.
93
+ REWIND = 16
94
+
95
+ # Player resumed.
96
+ RESUME = 17
97
+
98
+ # Error event.
99
+ ERROR = 18
100
+
101
+ # Ad expanded to a larger size.
102
+ EXPAND = 21
103
+
104
+ # Ad collapsed to a smaller size.
105
+ COLLAPSE = 22
106
+
107
+ # Non-linear ad closed.
108
+ CLOSE = 24
109
+
110
+ # Linear ad closed.
111
+ CLOSE_LINEAR = 25
112
+
113
+ # Ad skipped.
114
+ SKIP = 26
115
+
116
+ # Accept invitation event.
117
+ ACCEPT_INVITATION = 27
118
+ end
119
+ end
120
+
121
+ # Indicates a time in which a list of events should be triggered
122
+ # during media playback.
123
+ # @!attribute [rw] time_offset
124
+ # @return [::Google::Protobuf::Duration]
125
+ # The time when the following tracking events occurs. The time is in
126
+ # seconds relative to the start of the VOD asset.
127
+ # @!attribute [rw] events
128
+ # @return [::Array<::Google::Cloud::Video::Stitcher::V1::Event>]
129
+ # The list of progress tracking events for the ad break. These can be of
130
+ # the following IAB types: `BREAK_START`, `BREAK_END`, `IMPRESSION`,
131
+ # `CREATIVE_VIEW`, `START`, `FIRST_QUARTILE`, `MIDPOINT`, `THIRD_QUARTILE`,
132
+ # `COMPLETE`, `PROGRESS`.
133
+ class ProgressEvent
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,287 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Video
23
+ module Stitcher
24
+ module V1
25
+ # Metadata for a VOD session.
26
+ # @!attribute [r] name
27
+ # @return [::String]
28
+ # Output only. The name of the VOD session, in the form of
29
+ # `projects/{project_number}/locations/{location}/vodSessions/{id}`.
30
+ # @!attribute [r] interstitials
31
+ # @return [::Google::Cloud::Video::Stitcher::V1::Interstitials]
32
+ # Output only. Metadata of what was stitched into the content.
33
+ # @!attribute [r] play_uri
34
+ # @return [::String]
35
+ # Output only. The playback URI of the stitched content.
36
+ # @!attribute [rw] source_uri
37
+ # @return [::String]
38
+ # Required. URI of the media to stitch.
39
+ # @!attribute [rw] ad_tag_uri
40
+ # @return [::String]
41
+ # Required. Ad tag URI.
42
+ # @!attribute [rw] ad_tag_macro_map
43
+ # @return [::Google::Protobuf::Map{::String => ::String}]
44
+ # Key value pairs for ad tag macro replacement. If the
45
+ # specified ad tag URI has macros, this field provides the mapping
46
+ # to the value that will replace the macro in the ad tag URI.
47
+ # Macros are designated by square brackets.
48
+ # For example:
49
+ #
50
+ # Ad tag URI: `"https://doubleclick.google.com/ad/1?geo_id=[geoId]"`
51
+ #
52
+ # Ad tag macro map: `{"geoId": "123"}`
53
+ #
54
+ # Fully qualified ad tag:
55
+ # `"`https://doubleclick.google.com/ad/1?geo_id=123"`
56
+ # @!attribute [rw] client_ad_tracking
57
+ # @return [::Boolean]
58
+ # Indicates whether client side ad tracking is enabled. If client
59
+ # side ad tracking is enabled, then the client player is expected
60
+ # to trigger playback and activity events itself.
61
+ # If this is set to false, server side ad tracking is enabled,
62
+ # causing the Video Stitcher service will trigger playback events
63
+ # on behalf of the client player.
64
+ # @!attribute [rw] manifest_options
65
+ # @return [::Google::Cloud::Video::Stitcher::V1::ManifestOptions]
66
+ # Additional options that affect the output of the manifest.
67
+ class VodSession
68
+ include ::Google::Protobuf::MessageExts
69
+ extend ::Google::Protobuf::MessageExts::ClassMethods
70
+
71
+ # @!attribute [rw] key
72
+ # @return [::String]
73
+ # @!attribute [rw] value
74
+ # @return [::String]
75
+ class AdTagMacroMapEntry
76
+ include ::Google::Protobuf::MessageExts
77
+ extend ::Google::Protobuf::MessageExts::ClassMethods
78
+ end
79
+ end
80
+
81
+ # Describes what was stitched into a VOD session's manifest.
82
+ # @!attribute [rw] ad_breaks
83
+ # @return [::Array<::Google::Cloud::Video::Stitcher::V1::VodSessionAdBreak>]
84
+ # List of ad breaks ordered by time.
85
+ # @!attribute [rw] session_content
86
+ # @return [::Google::Cloud::Video::Stitcher::V1::VodSessionContent]
87
+ # Information related to the content of the VOD session.
88
+ class Interstitials
89
+ include ::Google::Protobuf::MessageExts
90
+ extend ::Google::Protobuf::MessageExts::ClassMethods
91
+ end
92
+
93
+ # Metadata for an inserted ad in a VOD session.
94
+ # @!attribute [rw] duration
95
+ # @return [::Google::Protobuf::Duration]
96
+ # Duration in seconds of the ad.
97
+ # @!attribute [rw] companion_ads
98
+ # @return [::Google::Cloud::Video::Stitcher::V1::CompanionAds]
99
+ # Metadata of companion ads associated with the ad.
100
+ # @!attribute [rw] activity_events
101
+ # @return [::Array<::Google::Cloud::Video::Stitcher::V1::Event>]
102
+ # The list of progress tracking events for the ad break. These can be of
103
+ # the following IAB types: `MUTE`, `UNMUTE`, `PAUSE`, `CLICK`,
104
+ # `CLICK_THROUGH`, `REWIND`, `RESUME`, `ERROR`, `FULLSCREEN`,
105
+ # `EXIT_FULLSCREEN`, `EXPAND`, `COLLAPSE`, `ACCEPT_INVITATION_LINEAR`,
106
+ # `CLOSE_LINEAR`, `SKIP`.
107
+ class VodSessionAd
108
+ include ::Google::Protobuf::MessageExts
109
+ extend ::Google::Protobuf::MessageExts::ClassMethods
110
+ end
111
+
112
+ # Metadata for the entire stitched content in a VOD session.
113
+ # @!attribute [rw] duration
114
+ # @return [::Google::Protobuf::Duration]
115
+ # The total duration in seconds of the content including the ads stitched
116
+ # in.
117
+ class VodSessionContent
118
+ include ::Google::Protobuf::MessageExts
119
+ extend ::Google::Protobuf::MessageExts::ClassMethods
120
+ end
121
+
122
+ # Metadata for an inserted ad break.
123
+ # @!attribute [rw] progress_events
124
+ # @return [::Array<::Google::Cloud::Video::Stitcher::V1::ProgressEvent>]
125
+ # List of events that are expected to be triggered, ordered by time.
126
+ # @!attribute [rw] ads
127
+ # @return [::Array<::Google::Cloud::Video::Stitcher::V1::VodSessionAd>]
128
+ # Ordered list of ads stitched into the ad break.
129
+ # @!attribute [rw] end_time_offset
130
+ # @return [::Google::Protobuf::Duration]
131
+ # Ad break end time in seconds relative to the start of the VOD asset.
132
+ # @!attribute [rw] start_time_offset
133
+ # @return [::Google::Protobuf::Duration]
134
+ # Ad break start time in seconds relative to the start of the VOD asset.
135
+ class VodSessionAdBreak
136
+ include ::Google::Protobuf::MessageExts
137
+ extend ::Google::Protobuf::MessageExts::ClassMethods
138
+ end
139
+
140
+ # Metadata for a live session.
141
+ # @!attribute [r] name
142
+ # @return [::String]
143
+ # Output only. The name of the live session, in the form of
144
+ # `projects/{project}/locations/{location}/liveSessions/{id}`.
145
+ # @!attribute [r] play_uri
146
+ # @return [::String]
147
+ # Output only. The URI to play the live session's ad-stitched stream.
148
+ # @!attribute [rw] source_uri
149
+ # @return [::String]
150
+ # The URI of the live session's source stream.
151
+ # @!attribute [rw] default_ad_tag_id
152
+ # @return [::String]
153
+ # The default ad tag to use when no ad tag ids are specified in an ad break's
154
+ # SCTE-35 message.
155
+ #
156
+ # default_ad_tag_id is necessary when `adTagMap` has more than one key. Its
157
+ # value must be present in the `adTagMap`.
158
+ # @!attribute [rw] ad_tag_map
159
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Video::Stitcher::V1::AdTag}]
160
+ # Key value pairs for ad tags. Ads parsed from ad tags must be MP4 videos
161
+ # each with at least one audio track.
162
+ # @!attribute [rw] ad_tag_macros
163
+ # @return [::Google::Protobuf::Map{::String => ::String}]
164
+ # Key value pairs for ad tag macro replacement. If the
165
+ # specified ad tag URI has macros, this field provides the mapping
166
+ # to the value that will replace the macro in the ad tag URI.
167
+ # Macros are designated by square brackets.
168
+ #
169
+ # For example:
170
+ #
171
+ # Ad tag URI: "https://doubleclick.google.com/ad/1?geo_id=[geoId]"
172
+ #
173
+ # Ad tag macros: `{"geoId": "123"}`
174
+ #
175
+ # Fully qualified ad tag:
176
+ # `"https://doubleclick.google.com/ad/1?geo_id=123"`
177
+ # @!attribute [rw] client_ad_tracking
178
+ # @return [::Boolean]
179
+ # Whether client side ad tracking is enabled. If enabled, the client player
180
+ # is expected to trigger playback and activity events itself. Otherwise,
181
+ # server side ad tracking is enabled and the Video Stitcher API will trigger
182
+ # playback events on behalf of the client player.
183
+ # @!attribute [rw] default_slate_id
184
+ # @return [::String]
185
+ # The default slate to use when no slates are specified in an ad break's
186
+ # SCTE-35 message. When specified, this value must match the ID for a slate
187
+ # that has already been created via the
188
+ # [CreateSlate](projects.locations.slates/create) method.
189
+ # @!attribute [rw] stitching_policy
190
+ # @return [::Google::Cloud::Video::Stitcher::V1::LiveSession::StitchingPolicy]
191
+ # Defines the stitcher behavior in case an ad does not align exactly with
192
+ # the ad break boundaries. If not specified, the default is `COMPLETE_AD`.
193
+ # @!attribute [rw] manifest_options
194
+ # @return [::Google::Cloud::Video::Stitcher::V1::ManifestOptions]
195
+ # Additional options that affect the output of the manifest.
196
+ class LiveSession
197
+ include ::Google::Protobuf::MessageExts
198
+ extend ::Google::Protobuf::MessageExts::ClassMethods
199
+
200
+ # @!attribute [rw] key
201
+ # @return [::String]
202
+ # @!attribute [rw] value
203
+ # @return [::Google::Cloud::Video::Stitcher::V1::AdTag]
204
+ class AdTagMapEntry
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+ end
208
+
209
+ # @!attribute [rw] key
210
+ # @return [::String]
211
+ # @!attribute [rw] value
212
+ # @return [::String]
213
+ class AdTagMacrosEntry
214
+ include ::Google::Protobuf::MessageExts
215
+ extend ::Google::Protobuf::MessageExts::ClassMethods
216
+ end
217
+
218
+ # Defines the stitcher behavior in case an ad does not align exactly with
219
+ # the ad break boundaries. If not specified, the default is COMPLETE_AD.
220
+ module StitchingPolicy
221
+ # Stitching policy is not specified.
222
+ STITCHING_POLICY_UNSPECIFIED = 0
223
+
224
+ # Finishes stitching the current ad before returning to content.
225
+ COMPLETE_AD = 1
226
+
227
+ # Finishes stitching the current pod before returning to content.
228
+ COMPLETE_POD = 2
229
+
230
+ # Cuts an ad short and returns to content in the middle of the ad.
231
+ CUT_CURRENT = 3
232
+ end
233
+ end
234
+
235
+ # Metadata of an ad tag.
236
+ # @!attribute [rw] uri
237
+ # @return [::String]
238
+ # Ad tag URI template.
239
+ class AdTag
240
+ include ::Google::Protobuf::MessageExts
241
+ extend ::Google::Protobuf::MessageExts::ClassMethods
242
+ end
243
+
244
+ # Options for manifest generation.
245
+ # @!attribute [rw] include_renditions
246
+ # @return [::Array<::Google::Cloud::Video::Stitcher::V1::RenditionFilter>]
247
+ # If specified, the output manifest will only return renditions matching the
248
+ # specified filters.
249
+ # @!attribute [rw] bitrate_order
250
+ # @return [::Google::Cloud::Video::Stitcher::V1::ManifestOptions::OrderPolicy]
251
+ # If specified, the output manifest will orders the video and muxed
252
+ # renditions by bitrate according to the ordering policy.
253
+ class ManifestOptions
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # Defines the ordering policy during manifest generation.
258
+ module OrderPolicy
259
+ # Ordering policy is not specified.
260
+ ORDER_POLICY_UNSPECIFIED = 0
261
+
262
+ # Order by ascending.
263
+ ASCENDING = 1
264
+
265
+ # Order by descending.
266
+ DESCENDING = 2
267
+ end
268
+ end
269
+
270
+ # Filters for a video or muxed redition.
271
+ # @!attribute [rw] bitrate_bps
272
+ # @return [::Integer]
273
+ # Bitrate in bits per second for the rendition. If set, only renditions with
274
+ # the exact bitrate will match.
275
+ # @!attribute [rw] codecs
276
+ # @return [::String]
277
+ # Codecs for the rendition. If set, only renditions with the exact value
278
+ # will match.
279
+ class RenditionFilter
280
+ include ::Google::Protobuf::MessageExts
281
+ extend ::Google::Protobuf::MessageExts::ClassMethods
282
+ end
283
+ end
284
+ end
285
+ end
286
+ end
287
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Video
23
+ module Stitcher
24
+ module V1
25
+ # Slate object
26
+ # @!attribute [r] name
27
+ # @return [::String]
28
+ # Output only. The name of the slate, in the form of
29
+ # `projects/{project_number}/locations/{location}/slates/{id}`.
30
+ # @!attribute [rw] uri
31
+ # @return [::String]
32
+ # The URI to fetch the source content for the slate. This URI must return an
33
+ # MP4 video with at least one audio track.
34
+ class Slate
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Video
23
+ module Stitcher
24
+ module V1
25
+ # Detailed information related to the interstitial of a VOD session.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # The name of the stitch detail in the specified VOD session, in the form of
29
+ # `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`.
30
+ # @!attribute [rw] ad_stitch_details
31
+ # @return [::Array<::Google::Cloud::Video::Stitcher::V1::AdStitchDetail>]
32
+ # A list of ad processing details for the fetched ad playlist.
33
+ class VodStitchDetail
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+ end
37
+
38
+ # Metadata for a stitched ad.
39
+ # @!attribute [rw] ad_break_id
40
+ # @return [::String]
41
+ # Required. The ad break ID of the processed ad.
42
+ # @!attribute [rw] ad_id
43
+ # @return [::String]
44
+ # Required. The ad ID of the processed ad.
45
+ # @!attribute [rw] ad_time_offset
46
+ # @return [::Google::Protobuf::Duration]
47
+ # Required. The time offset of the processed ad.
48
+ # @!attribute [rw] skip_reason
49
+ # @return [::String]
50
+ # Optional. Indicates the reason why the ad has been skipped.
51
+ # @!attribute [rw] media
52
+ # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}]
53
+ # Optional. The metadata of the chosen media file for the ad.
54
+ class AdStitchDetail
55
+ include ::Google::Protobuf::MessageExts
56
+ extend ::Google::Protobuf::MessageExts::ClassMethods
57
+
58
+ # @!attribute [rw] key
59
+ # @return [::String]
60
+ # @!attribute [rw] value
61
+ # @return [::Google::Protobuf::Value]
62
+ class MediaEntry
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end