google-cloud-video-stitcher-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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