1use conjure_http::endpoint;
2#[conjure_http::conjure_client(name = "VideoService")]
4pub trait VideoService<
5 #[request_writer]
6 O,
7 #[response_body]
8 I: Iterator<
9 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
10 >,
11> {
12 #[endpoint(
14 method = GET,
15 path = "/video/v1/videos/{videoRid}",
16 name = "get",
17 accept = conjure_http::client::StdResponseDeserializer
18 )]
19 fn get(
20 &self,
21 #[auth]
22 auth_: &conjure_object::BearerToken,
23 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
24 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
25 ) -> Result<
26 super::super::super::super::objects::scout::video::api::Video,
27 conjure_http::private::Error,
28 >;
29 #[endpoint(
31 method = POST,
32 path = "/video/v1/videos/batchGet",
33 name = "batchGet",
34 accept = conjure_http::client::StdResponseDeserializer
35 )]
36 fn batch_get(
37 &self,
38 #[auth]
39 auth_: &conjure_object::BearerToken,
40 #[body(serializer = conjure_http::client::StdRequestSerializer)]
41 request: &super::super::super::super::objects::scout::video::api::GetVideosRequest,
42 ) -> Result<
43 super::super::super::super::objects::scout::video::api::GetVideosResponse,
44 conjure_http::private::Error,
45 >;
46 #[endpoint(
48 method = POST,
49 path = "/video/v1/videos/search",
50 name = "search",
51 accept = conjure_http::client::StdResponseDeserializer
52 )]
53 fn search(
54 &self,
55 #[auth]
56 auth_: &conjure_object::BearerToken,
57 #[body(serializer = conjure_http::client::StdRequestSerializer)]
58 request: &super::super::super::super::objects::scout::video::api::SearchVideosRequest,
59 ) -> Result<
60 super::super::super::super::objects::scout::video::api::SearchVideosResponse,
61 conjure_http::private::Error,
62 >;
63 #[endpoint(
65 method = POST,
66 path = "/video/v1/videos",
67 name = "create",
68 accept = conjure_http::client::StdResponseDeserializer
69 )]
70 fn create(
71 &self,
72 #[auth]
73 auth_: &conjure_object::BearerToken,
74 #[body(serializer = conjure_http::client::StdRequestSerializer)]
75 request: &super::super::super::super::objects::scout::video::api::CreateVideoRequest,
76 ) -> Result<
77 super::super::super::super::objects::scout::video::api::Video,
78 conjure_http::private::Error,
79 >;
80 #[endpoint(
82 method = PUT,
83 path = "/video/v1/videos/{videoRid}",
84 name = "updateMetadata",
85 accept = conjure_http::client::StdResponseDeserializer
86 )]
87 fn update_metadata(
88 &self,
89 #[auth]
90 auth_: &conjure_object::BearerToken,
91 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
92 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
93 #[body(serializer = conjure_http::client::StdRequestSerializer)]
94 request: &super::super::super::super::objects::scout::video::api::UpdateVideoMetadataRequest,
95 ) -> Result<
96 super::super::super::super::objects::scout::video::api::Video,
97 conjure_http::private::Error,
98 >;
99 #[endpoint(
100 method = PUT,
101 path = "/video/v1/videos/{videoRid}/ingest-status",
102 name = "updateIngestStatus",
103 accept = conjure_http::client::conjure::EmptyResponseDeserializer
104 )]
105 fn update_ingest_status(
106 &self,
107 #[auth]
108 auth_: &conjure_object::BearerToken,
109 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
110 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
111 #[body(serializer = conjure_http::client::StdRequestSerializer)]
112 request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatus,
113 ) -> Result<(), conjure_http::private::Error>;
114 #[endpoint(
115 method = GET,
116 path = "/video/v1/videos/{videoRid}/ingest-status",
117 name = "getIngestStatus",
118 accept = conjure_http::client::StdResponseDeserializer
119 )]
120 fn get_ingest_status(
121 &self,
122 #[auth]
123 auth_: &conjure_object::BearerToken,
124 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
125 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
126 ) -> Result<
127 super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
128 conjure_http::private::Error,
129 >;
130 #[endpoint(
131 method = POST,
132 path = "/video/v1/videos/batch-get-ingest-status",
133 name = "batchGetIngestStatus",
134 accept = conjure_http::client::conjure::CollectionResponseDeserializer
135 )]
136 fn batch_get_ingest_status(
137 &self,
138 #[auth]
139 auth_: &conjure_object::BearerToken,
140 #[body(serializer = conjure_http::client::StdRequestSerializer)]
141 video_rids: &std::collections::BTreeSet<
142 super::super::super::super::objects::api::rids::VideoRid,
143 >,
144 ) -> Result<
145 std::collections::BTreeMap<
146 super::super::super::super::objects::api::rids::VideoRid,
147 super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
148 >,
149 conjure_http::private::Error,
150 >;
151 #[endpoint(
152 method = POST,
153 path = "/video/v1/videos/enriched-ingest-status",
154 name = "getEnrichedIngestStatus",
155 accept = conjure_http::client::conjure::CollectionResponseDeserializer
156 )]
157 fn get_enriched_ingest_status(
158 &self,
159 #[auth]
160 auth_: &conjure_object::BearerToken,
161 #[body(serializer = conjure_http::client::StdRequestSerializer)]
162 request: &super::super::super::super::objects::scout::video::api::GetEnrichedVideoIngestStatusRequest,
163 ) -> Result<
164 Option<
165 super::super::super::super::objects::scout::video::api::EnrichedVideoIngestStatus,
166 >,
167 conjure_http::private::Error,
168 >;
169 #[endpoint(
172 method = PUT,
173 path = "/video/v1/videos/{videoRid}/archive",
174 name = "archive",
175 accept = conjure_http::client::conjure::EmptyResponseDeserializer
176 )]
177 fn archive(
178 &self,
179 #[auth]
180 auth_: &conjure_object::BearerToken,
181 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
182 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
183 ) -> Result<(), conjure_http::private::Error>;
184 #[endpoint(
186 method = PUT,
187 path = "/video/v1/videos/{videoRid}/unarchive",
188 name = "unarchive",
189 accept = conjure_http::client::conjure::EmptyResponseDeserializer
190 )]
191 fn unarchive(
192 &self,
193 #[auth]
194 auth_: &conjure_object::BearerToken,
195 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
196 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
197 ) -> Result<(), conjure_http::private::Error>;
198 #[endpoint(
206 method = GET,
207 path = "/video/v1/videos/{videoRid}/playlist",
208 name = "getPlaylist",
209 accept = conjure_http::client::conjure::BinaryResponseDeserializer
210 )]
211 fn get_playlist(
212 &self,
213 #[auth]
214 auth_: &conjure_object::BearerToken,
215 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
216 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
217 #[query(
218 name = "start",
219 encoder = conjure_http::client::conjure::PlainSeqEncoder
220 )]
221 start: Option<&str>,
222 #[query(name = "end", encoder = conjure_http::client::conjure::PlainSeqEncoder)]
223 end: Option<&str>,
224 ) -> Result<I, conjure_http::private::Error>;
225 #[endpoint(
228 method = GET,
229 path = "/video/v1/videos/{videoRid}/segment-summaries",
230 name = "getSegmentSummaries",
231 accept = conjure_http::client::conjure::CollectionResponseDeserializer
232 )]
233 fn get_segment_summaries(
234 &self,
235 #[auth]
236 auth_: &conjure_object::BearerToken,
237 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
238 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
239 ) -> Result<
240 Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
241 conjure_http::private::Error,
242 >;
243 #[endpoint(
248 method = POST,
249 path = "/video/v1/videos/{videoRid}/playlist-in-bounds",
250 name = "getPlaylistInBounds",
251 accept = conjure_http::client::conjure::BinaryResponseDeserializer
252 )]
253 fn get_playlist_in_bounds(
254 &self,
255 #[auth]
256 auth_: &conjure_object::BearerToken,
257 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
258 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
259 #[body(serializer = conjure_http::client::StdRequestSerializer)]
260 request: &super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsRequest,
261 ) -> Result<I, conjure_http::private::Error>;
262 #[endpoint(
264 method = POST,
265 path = "/video/v2/videos/playlist-in-bounds",
266 name = "getPlaylistInBoundsV2",
267 accept = conjure_http::client::conjure::BinaryResponseDeserializer
268 )]
269 fn get_playlist_in_bounds_v2(
270 &self,
271 #[auth]
272 auth_: &conjure_object::BearerToken,
273 #[body(serializer = conjure_http::client::StdRequestSerializer)]
274 request: &super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsForChannelRequest,
275 ) -> Result<I, conjure_http::private::Error>;
276 #[endpoint(
281 method = GET,
282 path = "/video/v2/videos/playlist",
283 name = "getPlaylistV2",
284 accept = conjure_http::client::conjure::BinaryResponseDeserializer
285 )]
286 fn get_playlist_v2(
287 &self,
288 #[auth]
289 auth_: &conjure_object::BearerToken,
290 #[query(
291 name = "dataSourceRid",
292 encoder = conjure_http::client::conjure::PlainSeqEncoder
293 )]
294 data_source_rid: Option<
295 &super::super::super::super::objects::api::rids::DataSourceRid,
296 >,
297 #[query(
298 name = "assetRid",
299 encoder = conjure_http::client::conjure::PlainSeqEncoder
300 )]
301 asset_rid: Option<
302 &super::super::super::super::objects::scout::rids::api::AssetRid,
303 >,
304 #[query(
305 name = "dataScopeName",
306 encoder = conjure_http::client::conjure::PlainSeqEncoder
307 )]
308 data_scope_name: Option<&str>,
309 #[query(name = "channel", encoder = conjure_http::client::conjure::PlainEncoder)]
310 channel: &str,
311 #[query(name = "tags", encoder = conjure_http::client::conjure::PlainSeqEncoder)]
312 tags: Option<&str>,
313 #[query(name = "start", encoder = conjure_http::client::conjure::PlainEncoder)]
314 start: &str,
315 #[query(name = "end", encoder = conjure_http::client::conjure::PlainEncoder)]
316 end: &str,
317 ) -> Result<I, conjure_http::private::Error>;
318 #[endpoint(
321 method = POST,
322 path = "/video/v1/videos/{videoRid}/segment-summaries-in-bounds",
323 name = "getSegmentSummariesInBounds",
324 accept = conjure_http::client::conjure::CollectionResponseDeserializer
325 )]
326 fn get_segment_summaries_in_bounds(
327 &self,
328 #[auth]
329 auth_: &conjure_object::BearerToken,
330 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
331 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
332 #[body(serializer = conjure_http::client::StdRequestSerializer)]
333 request: &super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsRequest,
334 ) -> Result<
335 Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
336 conjure_http::private::Error,
337 >;
338 #[endpoint(
341 method = POST,
342 path = "/video/v2/videos/segment-summaries-in-bounds",
343 name = "getSegmentSummariesInBoundsV2",
344 accept = conjure_http::client::conjure::CollectionResponseDeserializer
345 )]
346 fn get_segment_summaries_in_bounds_v2(
347 &self,
348 #[auth]
349 auth_: &conjure_object::BearerToken,
350 #[body(serializer = conjure_http::client::StdRequestSerializer)]
351 request: &super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsForChannelRequest,
352 ) -> Result<
353 Vec<super::super::super::super::objects::scout::video::api::SegmentSummaryV2>,
354 conjure_http::private::Error,
355 >;
356 #[endpoint(
359 method = POST,
360 path = "/video/v2/videos/segment-metadata",
361 name = "getSegmentMetadataV2",
362 accept = conjure_http::client::conjure::CollectionResponseDeserializer
363 )]
364 fn get_segment_metadata_v2(
365 &self,
366 #[auth]
367 auth_: &conjure_object::BearerToken,
368 #[body(serializer = conjure_http::client::StdRequestSerializer)]
369 request: &super::super::super::super::objects::scout::video::api::GetSegmentMetadataForChannelRequest,
370 ) -> Result<
371 Option<
372 super::super::super::super::objects::scout::video::api::VideoChannelSegmentsMetadata,
373 >,
374 conjure_http::private::Error,
375 >;
376 #[endpoint(
378 method = POST,
379 path = "/video/v2/videos/get-segment-by-timestamp",
380 name = "getSegmentByTimestampV2",
381 accept = conjure_http::client::conjure::CollectionResponseDeserializer
382 )]
383 fn get_segment_by_timestamp_v2(
384 &self,
385 #[auth]
386 auth_: &conjure_object::BearerToken,
387 #[body(serializer = conjure_http::client::StdRequestSerializer)]
388 request: &super::super::super::super::objects::scout::video::api::GetSegmentByTimestampV2Request,
389 ) -> Result<
390 Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
391 conjure_http::private::Error,
392 >;
393 #[endpoint(
397 method = POST,
398 path = "/video/v1/videos/{videoRid}/get-segment-at-or-after-timestamp",
399 name = "getSegmentAtOrAfterTimestamp",
400 accept = conjure_http::client::conjure::CollectionResponseDeserializer
401 )]
402 fn get_segment_at_or_after_timestamp(
403 &self,
404 #[auth]
405 auth_: &conjure_object::BearerToken,
406 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
407 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
408 #[body(serializer = conjure_http::client::StdRequestSerializer)]
409 request: &super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampRequest,
410 ) -> Result<
411 Option<super::super::super::super::objects::scout::video::api::Segment>,
412 conjure_http::private::Error,
413 >;
414 #[endpoint(
418 method = POST,
419 path = "/video/v2/videos/get-segment-at-or-after-timestamp",
420 name = "getSegmentAtOrAfterTimestampV2",
421 accept = conjure_http::client::conjure::CollectionResponseDeserializer
422 )]
423 fn get_segment_at_or_after_timestamp_v2(
424 &self,
425 #[auth]
426 auth_: &conjure_object::BearerToken,
427 #[body(serializer = conjure_http::client::StdRequestSerializer)]
428 request: &super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampV2Request,
429 ) -> Result<
430 Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
431 conjure_http::private::Error,
432 >;
433 #[endpoint(
437 method = POST,
438 path = "/video/v1/videos/{videoRid}/get-ranges-with-existing-segment-data",
439 name = "getFileSummaries",
440 accept = conjure_http::client::StdResponseDeserializer
441 )]
442 fn get_file_summaries(
443 &self,
444 #[auth]
445 auth_: &conjure_object::BearerToken,
446 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
447 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
448 #[body(serializer = conjure_http::client::StdRequestSerializer)]
449 request: &super::super::super::super::objects::scout::video::api::GetFileSummariesRequest,
450 ) -> Result<
451 super::super::super::super::objects::scout::video::api::GetFileSummariesResponse,
452 conjure_http::private::Error,
453 >;
454 #[endpoint(
457 method = POST,
458 path = "/video/v1/videos/{videoRid}/streaming/whip",
459 name = "generateWhipStream",
460 accept = conjure_http::client::StdResponseDeserializer
461 )]
462 fn generate_whip_stream(
463 &self,
464 #[auth]
465 auth_: &conjure_object::BearerToken,
466 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
467 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
468 ) -> Result<
469 super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
470 conjure_http::private::Error,
471 >;
472 #[endpoint(
476 method = POST,
477 path = "/video/v2/videos/streaming/whip",
478 name = "generateWhipStreamV2",
479 accept = conjure_http::client::StdResponseDeserializer
480 )]
481 fn generate_whip_stream_v2(
482 &self,
483 #[auth]
484 auth_: &conjure_object::BearerToken,
485 #[body(serializer = conjure_http::client::StdRequestSerializer)]
486 request: &super::super::super::super::objects::scout::video::api::GenerateWhipStreamV2Request,
487 ) -> Result<
488 super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
489 conjure_http::private::Error,
490 >;
491 #[endpoint(
495 method = POST,
496 path = "/video/v1/videos/{videoRid}/streaming/whep",
497 name = "generateWhepStream",
498 accept = conjure_http::client::conjure::CollectionResponseDeserializer
499 )]
500 fn generate_whep_stream(
501 &self,
502 #[auth]
503 auth_: &conjure_object::BearerToken,
504 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
505 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
506 ) -> Result<
507 Option<
508 super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
509 >,
510 conjure_http::private::Error,
511 >;
512 #[endpoint(
515 method = GET,
516 path = "/video/v1/videos/{videoRid}/streaming/streams/{streamId}",
517 name = "getStream",
518 accept = conjure_http::client::conjure::CollectionResponseDeserializer
519 )]
520 fn get_stream(
521 &self,
522 #[auth]
523 auth_: &conjure_object::BearerToken,
524 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
525 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
526 #[path(name = "streamId", encoder = conjure_http::client::conjure::PlainEncoder)]
527 stream_id: &str,
528 ) -> Result<
529 Option<super::super::super::super::objects::scout::video::api::VideoStream>,
530 conjure_http::private::Error,
531 >;
532 #[endpoint(
536 method = POST,
537 path = "/video/v1/videos/{videoRid}/streaming/streams-in-bounds",
538 name = "getStreamsInBounds",
539 accept = conjure_http::client::StdResponseDeserializer
540 )]
541 fn get_streams_in_bounds(
542 &self,
543 #[auth]
544 auth_: &conjure_object::BearerToken,
545 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
546 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
547 #[body(serializer = conjure_http::client::StdRequestSerializer)]
548 request: &super::super::super::super::objects::scout::video::api::GetStreamsInBoundsRequest,
549 ) -> Result<
550 super::super::super::super::objects::scout::video::api::GetStreamsInBoundsResponse,
551 conjure_http::private::Error,
552 >;
553 #[endpoint(
557 method = POST,
558 path = "/video/v1/videos/{videoRid}/streaming/end",
559 name = "endStream",
560 accept = conjure_http::client::StdResponseDeserializer
561 )]
562 fn end_stream(
563 &self,
564 #[auth]
565 auth_: &conjure_object::BearerToken,
566 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
567 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
568 ) -> Result<
569 super::super::super::super::objects::scout::video::api::EndStreamResponse,
570 conjure_http::private::Error,
571 >;
572 #[endpoint(
575 method = POST,
576 path = "/video/v1/segment/upload",
577 name = "uploadSegmentFromMediaMtx",
578 accept = conjure_http::client::conjure::EmptyResponseDeserializer
579 )]
580 fn upload_segment_from_media_mtx(
581 &self,
582 #[auth]
583 auth_: &conjure_object::BearerToken,
584 #[query(
585 name = "streamPath",
586 encoder = conjure_http::client::conjure::PlainEncoder
587 )]
588 stream_path: &str,
589 #[query(
590 name = "filePath",
591 encoder = conjure_http::client::conjure::PlainEncoder
592 )]
593 file_path: &str,
594 #[query(
595 name = "duration",
596 encoder = conjure_http::client::conjure::PlainEncoder
597 )]
598 duration: &str,
599 #[query(
600 name = "minTimestampSeconds",
601 encoder = conjure_http::client::conjure::PlainEncoder
602 )]
603 min_timestamp_seconds: conjure_object::SafeLong,
604 #[query(
605 name = "minTimestampNanos",
606 encoder = conjure_http::client::conjure::PlainEncoder
607 )]
608 min_timestamp_nanos: conjure_object::SafeLong,
609 #[header(
610 name = "Content-Length",
611 encoder = conjure_http::client::conjure::PlainEncoder
612 )]
613 content_length: conjure_object::SafeLong,
614 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
615 body: impl conjure_http::client::WriteBody<O>,
616 ) -> Result<(), conjure_http::private::Error>;
617}
618#[conjure_http::conjure_client(name = "VideoService")]
620pub trait AsyncVideoService<
621 #[request_writer]
622 O,
623 #[response_body]
624 I: conjure_http::private::Stream<
625 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
626 >,
627> {
628 #[endpoint(
630 method = GET,
631 path = "/video/v1/videos/{videoRid}",
632 name = "get",
633 accept = conjure_http::client::StdResponseDeserializer
634 )]
635 async fn get(
636 &self,
637 #[auth]
638 auth_: &conjure_object::BearerToken,
639 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
640 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
641 ) -> Result<
642 super::super::super::super::objects::scout::video::api::Video,
643 conjure_http::private::Error,
644 >;
645 #[endpoint(
647 method = POST,
648 path = "/video/v1/videos/batchGet",
649 name = "batchGet",
650 accept = conjure_http::client::StdResponseDeserializer
651 )]
652 async fn batch_get(
653 &self,
654 #[auth]
655 auth_: &conjure_object::BearerToken,
656 #[body(serializer = conjure_http::client::StdRequestSerializer)]
657 request: &super::super::super::super::objects::scout::video::api::GetVideosRequest,
658 ) -> Result<
659 super::super::super::super::objects::scout::video::api::GetVideosResponse,
660 conjure_http::private::Error,
661 >;
662 #[endpoint(
664 method = POST,
665 path = "/video/v1/videos/search",
666 name = "search",
667 accept = conjure_http::client::StdResponseDeserializer
668 )]
669 async fn search(
670 &self,
671 #[auth]
672 auth_: &conjure_object::BearerToken,
673 #[body(serializer = conjure_http::client::StdRequestSerializer)]
674 request: &super::super::super::super::objects::scout::video::api::SearchVideosRequest,
675 ) -> Result<
676 super::super::super::super::objects::scout::video::api::SearchVideosResponse,
677 conjure_http::private::Error,
678 >;
679 #[endpoint(
681 method = POST,
682 path = "/video/v1/videos",
683 name = "create",
684 accept = conjure_http::client::StdResponseDeserializer
685 )]
686 async fn create(
687 &self,
688 #[auth]
689 auth_: &conjure_object::BearerToken,
690 #[body(serializer = conjure_http::client::StdRequestSerializer)]
691 request: &super::super::super::super::objects::scout::video::api::CreateVideoRequest,
692 ) -> Result<
693 super::super::super::super::objects::scout::video::api::Video,
694 conjure_http::private::Error,
695 >;
696 #[endpoint(
698 method = PUT,
699 path = "/video/v1/videos/{videoRid}",
700 name = "updateMetadata",
701 accept = conjure_http::client::StdResponseDeserializer
702 )]
703 async fn update_metadata(
704 &self,
705 #[auth]
706 auth_: &conjure_object::BearerToken,
707 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
708 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
709 #[body(serializer = conjure_http::client::StdRequestSerializer)]
710 request: &super::super::super::super::objects::scout::video::api::UpdateVideoMetadataRequest,
711 ) -> Result<
712 super::super::super::super::objects::scout::video::api::Video,
713 conjure_http::private::Error,
714 >;
715 #[endpoint(
716 method = PUT,
717 path = "/video/v1/videos/{videoRid}/ingest-status",
718 name = "updateIngestStatus",
719 accept = conjure_http::client::conjure::EmptyResponseDeserializer
720 )]
721 async fn update_ingest_status(
722 &self,
723 #[auth]
724 auth_: &conjure_object::BearerToken,
725 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
726 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
727 #[body(serializer = conjure_http::client::StdRequestSerializer)]
728 request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatus,
729 ) -> Result<(), conjure_http::private::Error>;
730 #[endpoint(
731 method = GET,
732 path = "/video/v1/videos/{videoRid}/ingest-status",
733 name = "getIngestStatus",
734 accept = conjure_http::client::StdResponseDeserializer
735 )]
736 async fn get_ingest_status(
737 &self,
738 #[auth]
739 auth_: &conjure_object::BearerToken,
740 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
741 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
742 ) -> Result<
743 super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
744 conjure_http::private::Error,
745 >;
746 #[endpoint(
747 method = POST,
748 path = "/video/v1/videos/batch-get-ingest-status",
749 name = "batchGetIngestStatus",
750 accept = conjure_http::client::conjure::CollectionResponseDeserializer
751 )]
752 async fn batch_get_ingest_status(
753 &self,
754 #[auth]
755 auth_: &conjure_object::BearerToken,
756 #[body(serializer = conjure_http::client::StdRequestSerializer)]
757 video_rids: &std::collections::BTreeSet<
758 super::super::super::super::objects::api::rids::VideoRid,
759 >,
760 ) -> Result<
761 std::collections::BTreeMap<
762 super::super::super::super::objects::api::rids::VideoRid,
763 super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
764 >,
765 conjure_http::private::Error,
766 >;
767 #[endpoint(
768 method = POST,
769 path = "/video/v1/videos/enriched-ingest-status",
770 name = "getEnrichedIngestStatus",
771 accept = conjure_http::client::conjure::CollectionResponseDeserializer
772 )]
773 async fn get_enriched_ingest_status(
774 &self,
775 #[auth]
776 auth_: &conjure_object::BearerToken,
777 #[body(serializer = conjure_http::client::StdRequestSerializer)]
778 request: &super::super::super::super::objects::scout::video::api::GetEnrichedVideoIngestStatusRequest,
779 ) -> Result<
780 Option<
781 super::super::super::super::objects::scout::video::api::EnrichedVideoIngestStatus,
782 >,
783 conjure_http::private::Error,
784 >;
785 #[endpoint(
788 method = PUT,
789 path = "/video/v1/videos/{videoRid}/archive",
790 name = "archive",
791 accept = conjure_http::client::conjure::EmptyResponseDeserializer
792 )]
793 async fn archive(
794 &self,
795 #[auth]
796 auth_: &conjure_object::BearerToken,
797 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
798 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
799 ) -> Result<(), conjure_http::private::Error>;
800 #[endpoint(
802 method = PUT,
803 path = "/video/v1/videos/{videoRid}/unarchive",
804 name = "unarchive",
805 accept = conjure_http::client::conjure::EmptyResponseDeserializer
806 )]
807 async fn unarchive(
808 &self,
809 #[auth]
810 auth_: &conjure_object::BearerToken,
811 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
812 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
813 ) -> Result<(), conjure_http::private::Error>;
814 #[endpoint(
822 method = GET,
823 path = "/video/v1/videos/{videoRid}/playlist",
824 name = "getPlaylist",
825 accept = conjure_http::client::conjure::BinaryResponseDeserializer
826 )]
827 async fn get_playlist(
828 &self,
829 #[auth]
830 auth_: &conjure_object::BearerToken,
831 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
832 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
833 #[query(
834 name = "start",
835 encoder = conjure_http::client::conjure::PlainSeqEncoder
836 )]
837 start: Option<&str>,
838 #[query(name = "end", encoder = conjure_http::client::conjure::PlainSeqEncoder)]
839 end: Option<&str>,
840 ) -> Result<I, conjure_http::private::Error>;
841 #[endpoint(
844 method = GET,
845 path = "/video/v1/videos/{videoRid}/segment-summaries",
846 name = "getSegmentSummaries",
847 accept = conjure_http::client::conjure::CollectionResponseDeserializer
848 )]
849 async fn get_segment_summaries(
850 &self,
851 #[auth]
852 auth_: &conjure_object::BearerToken,
853 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
854 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
855 ) -> Result<
856 Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
857 conjure_http::private::Error,
858 >;
859 #[endpoint(
864 method = POST,
865 path = "/video/v1/videos/{videoRid}/playlist-in-bounds",
866 name = "getPlaylistInBounds",
867 accept = conjure_http::client::conjure::BinaryResponseDeserializer
868 )]
869 async fn get_playlist_in_bounds(
870 &self,
871 #[auth]
872 auth_: &conjure_object::BearerToken,
873 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
874 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
875 #[body(serializer = conjure_http::client::StdRequestSerializer)]
876 request: &super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsRequest,
877 ) -> Result<I, conjure_http::private::Error>;
878 #[endpoint(
880 method = POST,
881 path = "/video/v2/videos/playlist-in-bounds",
882 name = "getPlaylistInBoundsV2",
883 accept = conjure_http::client::conjure::BinaryResponseDeserializer
884 )]
885 async fn get_playlist_in_bounds_v2(
886 &self,
887 #[auth]
888 auth_: &conjure_object::BearerToken,
889 #[body(serializer = conjure_http::client::StdRequestSerializer)]
890 request: &super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsForChannelRequest,
891 ) -> Result<I, conjure_http::private::Error>;
892 #[endpoint(
897 method = GET,
898 path = "/video/v2/videos/playlist",
899 name = "getPlaylistV2",
900 accept = conjure_http::client::conjure::BinaryResponseDeserializer
901 )]
902 async fn get_playlist_v2(
903 &self,
904 #[auth]
905 auth_: &conjure_object::BearerToken,
906 #[query(
907 name = "dataSourceRid",
908 encoder = conjure_http::client::conjure::PlainSeqEncoder
909 )]
910 data_source_rid: Option<
911 &super::super::super::super::objects::api::rids::DataSourceRid,
912 >,
913 #[query(
914 name = "assetRid",
915 encoder = conjure_http::client::conjure::PlainSeqEncoder
916 )]
917 asset_rid: Option<
918 &super::super::super::super::objects::scout::rids::api::AssetRid,
919 >,
920 #[query(
921 name = "dataScopeName",
922 encoder = conjure_http::client::conjure::PlainSeqEncoder
923 )]
924 data_scope_name: Option<&str>,
925 #[query(name = "channel", encoder = conjure_http::client::conjure::PlainEncoder)]
926 channel: &str,
927 #[query(name = "tags", encoder = conjure_http::client::conjure::PlainSeqEncoder)]
928 tags: Option<&str>,
929 #[query(name = "start", encoder = conjure_http::client::conjure::PlainEncoder)]
930 start: &str,
931 #[query(name = "end", encoder = conjure_http::client::conjure::PlainEncoder)]
932 end: &str,
933 ) -> Result<I, conjure_http::private::Error>;
934 #[endpoint(
937 method = POST,
938 path = "/video/v1/videos/{videoRid}/segment-summaries-in-bounds",
939 name = "getSegmentSummariesInBounds",
940 accept = conjure_http::client::conjure::CollectionResponseDeserializer
941 )]
942 async fn get_segment_summaries_in_bounds(
943 &self,
944 #[auth]
945 auth_: &conjure_object::BearerToken,
946 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
947 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
948 #[body(serializer = conjure_http::client::StdRequestSerializer)]
949 request: &super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsRequest,
950 ) -> Result<
951 Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
952 conjure_http::private::Error,
953 >;
954 #[endpoint(
957 method = POST,
958 path = "/video/v2/videos/segment-summaries-in-bounds",
959 name = "getSegmentSummariesInBoundsV2",
960 accept = conjure_http::client::conjure::CollectionResponseDeserializer
961 )]
962 async fn get_segment_summaries_in_bounds_v2(
963 &self,
964 #[auth]
965 auth_: &conjure_object::BearerToken,
966 #[body(serializer = conjure_http::client::StdRequestSerializer)]
967 request: &super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsForChannelRequest,
968 ) -> Result<
969 Vec<super::super::super::super::objects::scout::video::api::SegmentSummaryV2>,
970 conjure_http::private::Error,
971 >;
972 #[endpoint(
975 method = POST,
976 path = "/video/v2/videos/segment-metadata",
977 name = "getSegmentMetadataV2",
978 accept = conjure_http::client::conjure::CollectionResponseDeserializer
979 )]
980 async fn get_segment_metadata_v2(
981 &self,
982 #[auth]
983 auth_: &conjure_object::BearerToken,
984 #[body(serializer = conjure_http::client::StdRequestSerializer)]
985 request: &super::super::super::super::objects::scout::video::api::GetSegmentMetadataForChannelRequest,
986 ) -> Result<
987 Option<
988 super::super::super::super::objects::scout::video::api::VideoChannelSegmentsMetadata,
989 >,
990 conjure_http::private::Error,
991 >;
992 #[endpoint(
994 method = POST,
995 path = "/video/v2/videos/get-segment-by-timestamp",
996 name = "getSegmentByTimestampV2",
997 accept = conjure_http::client::conjure::CollectionResponseDeserializer
998 )]
999 async fn get_segment_by_timestamp_v2(
1000 &self,
1001 #[auth]
1002 auth_: &conjure_object::BearerToken,
1003 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1004 request: &super::super::super::super::objects::scout::video::api::GetSegmentByTimestampV2Request,
1005 ) -> Result<
1006 Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
1007 conjure_http::private::Error,
1008 >;
1009 #[endpoint(
1013 method = POST,
1014 path = "/video/v1/videos/{videoRid}/get-segment-at-or-after-timestamp",
1015 name = "getSegmentAtOrAfterTimestamp",
1016 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1017 )]
1018 async fn get_segment_at_or_after_timestamp(
1019 &self,
1020 #[auth]
1021 auth_: &conjure_object::BearerToken,
1022 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1023 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1024 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1025 request: &super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampRequest,
1026 ) -> Result<
1027 Option<super::super::super::super::objects::scout::video::api::Segment>,
1028 conjure_http::private::Error,
1029 >;
1030 #[endpoint(
1034 method = POST,
1035 path = "/video/v2/videos/get-segment-at-or-after-timestamp",
1036 name = "getSegmentAtOrAfterTimestampV2",
1037 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1038 )]
1039 async fn get_segment_at_or_after_timestamp_v2(
1040 &self,
1041 #[auth]
1042 auth_: &conjure_object::BearerToken,
1043 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1044 request: &super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampV2Request,
1045 ) -> Result<
1046 Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
1047 conjure_http::private::Error,
1048 >;
1049 #[endpoint(
1053 method = POST,
1054 path = "/video/v1/videos/{videoRid}/get-ranges-with-existing-segment-data",
1055 name = "getFileSummaries",
1056 accept = conjure_http::client::StdResponseDeserializer
1057 )]
1058 async fn get_file_summaries(
1059 &self,
1060 #[auth]
1061 auth_: &conjure_object::BearerToken,
1062 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1063 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1064 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1065 request: &super::super::super::super::objects::scout::video::api::GetFileSummariesRequest,
1066 ) -> Result<
1067 super::super::super::super::objects::scout::video::api::GetFileSummariesResponse,
1068 conjure_http::private::Error,
1069 >;
1070 #[endpoint(
1073 method = POST,
1074 path = "/video/v1/videos/{videoRid}/streaming/whip",
1075 name = "generateWhipStream",
1076 accept = conjure_http::client::StdResponseDeserializer
1077 )]
1078 async fn generate_whip_stream(
1079 &self,
1080 #[auth]
1081 auth_: &conjure_object::BearerToken,
1082 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1083 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1084 ) -> Result<
1085 super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
1086 conjure_http::private::Error,
1087 >;
1088 #[endpoint(
1092 method = POST,
1093 path = "/video/v2/videos/streaming/whip",
1094 name = "generateWhipStreamV2",
1095 accept = conjure_http::client::StdResponseDeserializer
1096 )]
1097 async fn generate_whip_stream_v2(
1098 &self,
1099 #[auth]
1100 auth_: &conjure_object::BearerToken,
1101 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1102 request: &super::super::super::super::objects::scout::video::api::GenerateWhipStreamV2Request,
1103 ) -> Result<
1104 super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
1105 conjure_http::private::Error,
1106 >;
1107 #[endpoint(
1111 method = POST,
1112 path = "/video/v1/videos/{videoRid}/streaming/whep",
1113 name = "generateWhepStream",
1114 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1115 )]
1116 async fn generate_whep_stream(
1117 &self,
1118 #[auth]
1119 auth_: &conjure_object::BearerToken,
1120 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1121 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1122 ) -> Result<
1123 Option<
1124 super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
1125 >,
1126 conjure_http::private::Error,
1127 >;
1128 #[endpoint(
1131 method = GET,
1132 path = "/video/v1/videos/{videoRid}/streaming/streams/{streamId}",
1133 name = "getStream",
1134 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1135 )]
1136 async fn get_stream(
1137 &self,
1138 #[auth]
1139 auth_: &conjure_object::BearerToken,
1140 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1141 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1142 #[path(name = "streamId", encoder = conjure_http::client::conjure::PlainEncoder)]
1143 stream_id: &str,
1144 ) -> Result<
1145 Option<super::super::super::super::objects::scout::video::api::VideoStream>,
1146 conjure_http::private::Error,
1147 >;
1148 #[endpoint(
1152 method = POST,
1153 path = "/video/v1/videos/{videoRid}/streaming/streams-in-bounds",
1154 name = "getStreamsInBounds",
1155 accept = conjure_http::client::StdResponseDeserializer
1156 )]
1157 async fn get_streams_in_bounds(
1158 &self,
1159 #[auth]
1160 auth_: &conjure_object::BearerToken,
1161 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1162 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1163 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1164 request: &super::super::super::super::objects::scout::video::api::GetStreamsInBoundsRequest,
1165 ) -> Result<
1166 super::super::super::super::objects::scout::video::api::GetStreamsInBoundsResponse,
1167 conjure_http::private::Error,
1168 >;
1169 #[endpoint(
1173 method = POST,
1174 path = "/video/v1/videos/{videoRid}/streaming/end",
1175 name = "endStream",
1176 accept = conjure_http::client::StdResponseDeserializer
1177 )]
1178 async fn end_stream(
1179 &self,
1180 #[auth]
1181 auth_: &conjure_object::BearerToken,
1182 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1183 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1184 ) -> Result<
1185 super::super::super::super::objects::scout::video::api::EndStreamResponse,
1186 conjure_http::private::Error,
1187 >;
1188 #[endpoint(
1191 method = POST,
1192 path = "/video/v1/segment/upload",
1193 name = "uploadSegmentFromMediaMtx",
1194 accept = conjure_http::client::conjure::EmptyResponseDeserializer
1195 )]
1196 async fn upload_segment_from_media_mtx(
1197 &self,
1198 #[auth]
1199 auth_: &conjure_object::BearerToken,
1200 #[query(
1201 name = "streamPath",
1202 encoder = conjure_http::client::conjure::PlainEncoder
1203 )]
1204 stream_path: &str,
1205 #[query(
1206 name = "filePath",
1207 encoder = conjure_http::client::conjure::PlainEncoder
1208 )]
1209 file_path: &str,
1210 #[query(
1211 name = "duration",
1212 encoder = conjure_http::client::conjure::PlainEncoder
1213 )]
1214 duration: &str,
1215 #[query(
1216 name = "minTimestampSeconds",
1217 encoder = conjure_http::client::conjure::PlainEncoder
1218 )]
1219 min_timestamp_seconds: conjure_object::SafeLong,
1220 #[query(
1221 name = "minTimestampNanos",
1222 encoder = conjure_http::client::conjure::PlainEncoder
1223 )]
1224 min_timestamp_nanos: conjure_object::SafeLong,
1225 #[header(
1226 name = "Content-Length",
1227 encoder = conjure_http::client::conjure::PlainEncoder
1228 )]
1229 content_length: conjure_object::SafeLong,
1230 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
1231 body: impl conjure_http::client::AsyncWriteBody<O> + Sync + Send,
1232 ) -> Result<(), conjure_http::private::Error>;
1233}
1234#[conjure_http::conjure_client(name = "VideoService", local)]
1236pub trait LocalAsyncVideoService<
1237 #[request_writer]
1238 O,
1239 #[response_body]
1240 I: conjure_http::private::Stream<
1241 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
1242 >,
1243> {
1244 #[endpoint(
1246 method = GET,
1247 path = "/video/v1/videos/{videoRid}",
1248 name = "get",
1249 accept = conjure_http::client::StdResponseDeserializer
1250 )]
1251 async fn get(
1252 &self,
1253 #[auth]
1254 auth_: &conjure_object::BearerToken,
1255 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1256 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1257 ) -> Result<
1258 super::super::super::super::objects::scout::video::api::Video,
1259 conjure_http::private::Error,
1260 >;
1261 #[endpoint(
1263 method = POST,
1264 path = "/video/v1/videos/batchGet",
1265 name = "batchGet",
1266 accept = conjure_http::client::StdResponseDeserializer
1267 )]
1268 async fn batch_get(
1269 &self,
1270 #[auth]
1271 auth_: &conjure_object::BearerToken,
1272 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1273 request: &super::super::super::super::objects::scout::video::api::GetVideosRequest,
1274 ) -> Result<
1275 super::super::super::super::objects::scout::video::api::GetVideosResponse,
1276 conjure_http::private::Error,
1277 >;
1278 #[endpoint(
1280 method = POST,
1281 path = "/video/v1/videos/search",
1282 name = "search",
1283 accept = conjure_http::client::StdResponseDeserializer
1284 )]
1285 async fn search(
1286 &self,
1287 #[auth]
1288 auth_: &conjure_object::BearerToken,
1289 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1290 request: &super::super::super::super::objects::scout::video::api::SearchVideosRequest,
1291 ) -> Result<
1292 super::super::super::super::objects::scout::video::api::SearchVideosResponse,
1293 conjure_http::private::Error,
1294 >;
1295 #[endpoint(
1297 method = POST,
1298 path = "/video/v1/videos",
1299 name = "create",
1300 accept = conjure_http::client::StdResponseDeserializer
1301 )]
1302 async fn create(
1303 &self,
1304 #[auth]
1305 auth_: &conjure_object::BearerToken,
1306 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1307 request: &super::super::super::super::objects::scout::video::api::CreateVideoRequest,
1308 ) -> Result<
1309 super::super::super::super::objects::scout::video::api::Video,
1310 conjure_http::private::Error,
1311 >;
1312 #[endpoint(
1314 method = PUT,
1315 path = "/video/v1/videos/{videoRid}",
1316 name = "updateMetadata",
1317 accept = conjure_http::client::StdResponseDeserializer
1318 )]
1319 async fn update_metadata(
1320 &self,
1321 #[auth]
1322 auth_: &conjure_object::BearerToken,
1323 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1324 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1325 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1326 request: &super::super::super::super::objects::scout::video::api::UpdateVideoMetadataRequest,
1327 ) -> Result<
1328 super::super::super::super::objects::scout::video::api::Video,
1329 conjure_http::private::Error,
1330 >;
1331 #[endpoint(
1332 method = PUT,
1333 path = "/video/v1/videos/{videoRid}/ingest-status",
1334 name = "updateIngestStatus",
1335 accept = conjure_http::client::conjure::EmptyResponseDeserializer
1336 )]
1337 async fn update_ingest_status(
1338 &self,
1339 #[auth]
1340 auth_: &conjure_object::BearerToken,
1341 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1342 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1343 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1344 request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatus,
1345 ) -> Result<(), conjure_http::private::Error>;
1346 #[endpoint(
1347 method = GET,
1348 path = "/video/v1/videos/{videoRid}/ingest-status",
1349 name = "getIngestStatus",
1350 accept = conjure_http::client::StdResponseDeserializer
1351 )]
1352 async fn get_ingest_status(
1353 &self,
1354 #[auth]
1355 auth_: &conjure_object::BearerToken,
1356 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1357 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1358 ) -> Result<
1359 super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
1360 conjure_http::private::Error,
1361 >;
1362 #[endpoint(
1363 method = POST,
1364 path = "/video/v1/videos/batch-get-ingest-status",
1365 name = "batchGetIngestStatus",
1366 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1367 )]
1368 async fn batch_get_ingest_status(
1369 &self,
1370 #[auth]
1371 auth_: &conjure_object::BearerToken,
1372 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1373 video_rids: &std::collections::BTreeSet<
1374 super::super::super::super::objects::api::rids::VideoRid,
1375 >,
1376 ) -> Result<
1377 std::collections::BTreeMap<
1378 super::super::super::super::objects::api::rids::VideoRid,
1379 super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
1380 >,
1381 conjure_http::private::Error,
1382 >;
1383 #[endpoint(
1384 method = POST,
1385 path = "/video/v1/videos/enriched-ingest-status",
1386 name = "getEnrichedIngestStatus",
1387 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1388 )]
1389 async fn get_enriched_ingest_status(
1390 &self,
1391 #[auth]
1392 auth_: &conjure_object::BearerToken,
1393 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1394 request: &super::super::super::super::objects::scout::video::api::GetEnrichedVideoIngestStatusRequest,
1395 ) -> Result<
1396 Option<
1397 super::super::super::super::objects::scout::video::api::EnrichedVideoIngestStatus,
1398 >,
1399 conjure_http::private::Error,
1400 >;
1401 #[endpoint(
1404 method = PUT,
1405 path = "/video/v1/videos/{videoRid}/archive",
1406 name = "archive",
1407 accept = conjure_http::client::conjure::EmptyResponseDeserializer
1408 )]
1409 async fn archive(
1410 &self,
1411 #[auth]
1412 auth_: &conjure_object::BearerToken,
1413 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1414 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1415 ) -> Result<(), conjure_http::private::Error>;
1416 #[endpoint(
1418 method = PUT,
1419 path = "/video/v1/videos/{videoRid}/unarchive",
1420 name = "unarchive",
1421 accept = conjure_http::client::conjure::EmptyResponseDeserializer
1422 )]
1423 async fn unarchive(
1424 &self,
1425 #[auth]
1426 auth_: &conjure_object::BearerToken,
1427 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1428 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1429 ) -> Result<(), conjure_http::private::Error>;
1430 #[endpoint(
1438 method = GET,
1439 path = "/video/v1/videos/{videoRid}/playlist",
1440 name = "getPlaylist",
1441 accept = conjure_http::client::conjure::BinaryResponseDeserializer
1442 )]
1443 async fn get_playlist(
1444 &self,
1445 #[auth]
1446 auth_: &conjure_object::BearerToken,
1447 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1448 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1449 #[query(
1450 name = "start",
1451 encoder = conjure_http::client::conjure::PlainSeqEncoder
1452 )]
1453 start: Option<&str>,
1454 #[query(name = "end", encoder = conjure_http::client::conjure::PlainSeqEncoder)]
1455 end: Option<&str>,
1456 ) -> Result<I, conjure_http::private::Error>;
1457 #[endpoint(
1460 method = GET,
1461 path = "/video/v1/videos/{videoRid}/segment-summaries",
1462 name = "getSegmentSummaries",
1463 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1464 )]
1465 async fn get_segment_summaries(
1466 &self,
1467 #[auth]
1468 auth_: &conjure_object::BearerToken,
1469 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1470 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1471 ) -> Result<
1472 Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
1473 conjure_http::private::Error,
1474 >;
1475 #[endpoint(
1480 method = POST,
1481 path = "/video/v1/videos/{videoRid}/playlist-in-bounds",
1482 name = "getPlaylistInBounds",
1483 accept = conjure_http::client::conjure::BinaryResponseDeserializer
1484 )]
1485 async fn get_playlist_in_bounds(
1486 &self,
1487 #[auth]
1488 auth_: &conjure_object::BearerToken,
1489 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1490 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1491 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1492 request: &super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsRequest,
1493 ) -> Result<I, conjure_http::private::Error>;
1494 #[endpoint(
1496 method = POST,
1497 path = "/video/v2/videos/playlist-in-bounds",
1498 name = "getPlaylistInBoundsV2",
1499 accept = conjure_http::client::conjure::BinaryResponseDeserializer
1500 )]
1501 async fn get_playlist_in_bounds_v2(
1502 &self,
1503 #[auth]
1504 auth_: &conjure_object::BearerToken,
1505 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1506 request: &super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsForChannelRequest,
1507 ) -> Result<I, conjure_http::private::Error>;
1508 #[endpoint(
1513 method = GET,
1514 path = "/video/v2/videos/playlist",
1515 name = "getPlaylistV2",
1516 accept = conjure_http::client::conjure::BinaryResponseDeserializer
1517 )]
1518 async fn get_playlist_v2(
1519 &self,
1520 #[auth]
1521 auth_: &conjure_object::BearerToken,
1522 #[query(
1523 name = "dataSourceRid",
1524 encoder = conjure_http::client::conjure::PlainSeqEncoder
1525 )]
1526 data_source_rid: Option<
1527 &super::super::super::super::objects::api::rids::DataSourceRid,
1528 >,
1529 #[query(
1530 name = "assetRid",
1531 encoder = conjure_http::client::conjure::PlainSeqEncoder
1532 )]
1533 asset_rid: Option<
1534 &super::super::super::super::objects::scout::rids::api::AssetRid,
1535 >,
1536 #[query(
1537 name = "dataScopeName",
1538 encoder = conjure_http::client::conjure::PlainSeqEncoder
1539 )]
1540 data_scope_name: Option<&str>,
1541 #[query(name = "channel", encoder = conjure_http::client::conjure::PlainEncoder)]
1542 channel: &str,
1543 #[query(name = "tags", encoder = conjure_http::client::conjure::PlainSeqEncoder)]
1544 tags: Option<&str>,
1545 #[query(name = "start", encoder = conjure_http::client::conjure::PlainEncoder)]
1546 start: &str,
1547 #[query(name = "end", encoder = conjure_http::client::conjure::PlainEncoder)]
1548 end: &str,
1549 ) -> Result<I, conjure_http::private::Error>;
1550 #[endpoint(
1553 method = POST,
1554 path = "/video/v1/videos/{videoRid}/segment-summaries-in-bounds",
1555 name = "getSegmentSummariesInBounds",
1556 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1557 )]
1558 async fn get_segment_summaries_in_bounds(
1559 &self,
1560 #[auth]
1561 auth_: &conjure_object::BearerToken,
1562 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1563 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1564 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1565 request: &super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsRequest,
1566 ) -> Result<
1567 Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
1568 conjure_http::private::Error,
1569 >;
1570 #[endpoint(
1573 method = POST,
1574 path = "/video/v2/videos/segment-summaries-in-bounds",
1575 name = "getSegmentSummariesInBoundsV2",
1576 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1577 )]
1578 async fn get_segment_summaries_in_bounds_v2(
1579 &self,
1580 #[auth]
1581 auth_: &conjure_object::BearerToken,
1582 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1583 request: &super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsForChannelRequest,
1584 ) -> Result<
1585 Vec<super::super::super::super::objects::scout::video::api::SegmentSummaryV2>,
1586 conjure_http::private::Error,
1587 >;
1588 #[endpoint(
1591 method = POST,
1592 path = "/video/v2/videos/segment-metadata",
1593 name = "getSegmentMetadataV2",
1594 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1595 )]
1596 async fn get_segment_metadata_v2(
1597 &self,
1598 #[auth]
1599 auth_: &conjure_object::BearerToken,
1600 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1601 request: &super::super::super::super::objects::scout::video::api::GetSegmentMetadataForChannelRequest,
1602 ) -> Result<
1603 Option<
1604 super::super::super::super::objects::scout::video::api::VideoChannelSegmentsMetadata,
1605 >,
1606 conjure_http::private::Error,
1607 >;
1608 #[endpoint(
1610 method = POST,
1611 path = "/video/v2/videos/get-segment-by-timestamp",
1612 name = "getSegmentByTimestampV2",
1613 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1614 )]
1615 async fn get_segment_by_timestamp_v2(
1616 &self,
1617 #[auth]
1618 auth_: &conjure_object::BearerToken,
1619 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1620 request: &super::super::super::super::objects::scout::video::api::GetSegmentByTimestampV2Request,
1621 ) -> Result<
1622 Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
1623 conjure_http::private::Error,
1624 >;
1625 #[endpoint(
1629 method = POST,
1630 path = "/video/v1/videos/{videoRid}/get-segment-at-or-after-timestamp",
1631 name = "getSegmentAtOrAfterTimestamp",
1632 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1633 )]
1634 async fn get_segment_at_or_after_timestamp(
1635 &self,
1636 #[auth]
1637 auth_: &conjure_object::BearerToken,
1638 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1639 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1640 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1641 request: &super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampRequest,
1642 ) -> Result<
1643 Option<super::super::super::super::objects::scout::video::api::Segment>,
1644 conjure_http::private::Error,
1645 >;
1646 #[endpoint(
1650 method = POST,
1651 path = "/video/v2/videos/get-segment-at-or-after-timestamp",
1652 name = "getSegmentAtOrAfterTimestampV2",
1653 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1654 )]
1655 async fn get_segment_at_or_after_timestamp_v2(
1656 &self,
1657 #[auth]
1658 auth_: &conjure_object::BearerToken,
1659 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1660 request: &super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampV2Request,
1661 ) -> Result<
1662 Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
1663 conjure_http::private::Error,
1664 >;
1665 #[endpoint(
1669 method = POST,
1670 path = "/video/v1/videos/{videoRid}/get-ranges-with-existing-segment-data",
1671 name = "getFileSummaries",
1672 accept = conjure_http::client::StdResponseDeserializer
1673 )]
1674 async fn get_file_summaries(
1675 &self,
1676 #[auth]
1677 auth_: &conjure_object::BearerToken,
1678 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1679 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1680 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1681 request: &super::super::super::super::objects::scout::video::api::GetFileSummariesRequest,
1682 ) -> Result<
1683 super::super::super::super::objects::scout::video::api::GetFileSummariesResponse,
1684 conjure_http::private::Error,
1685 >;
1686 #[endpoint(
1689 method = POST,
1690 path = "/video/v1/videos/{videoRid}/streaming/whip",
1691 name = "generateWhipStream",
1692 accept = conjure_http::client::StdResponseDeserializer
1693 )]
1694 async fn generate_whip_stream(
1695 &self,
1696 #[auth]
1697 auth_: &conjure_object::BearerToken,
1698 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1699 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1700 ) -> Result<
1701 super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
1702 conjure_http::private::Error,
1703 >;
1704 #[endpoint(
1708 method = POST,
1709 path = "/video/v2/videos/streaming/whip",
1710 name = "generateWhipStreamV2",
1711 accept = conjure_http::client::StdResponseDeserializer
1712 )]
1713 async fn generate_whip_stream_v2(
1714 &self,
1715 #[auth]
1716 auth_: &conjure_object::BearerToken,
1717 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1718 request: &super::super::super::super::objects::scout::video::api::GenerateWhipStreamV2Request,
1719 ) -> Result<
1720 super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
1721 conjure_http::private::Error,
1722 >;
1723 #[endpoint(
1727 method = POST,
1728 path = "/video/v1/videos/{videoRid}/streaming/whep",
1729 name = "generateWhepStream",
1730 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1731 )]
1732 async fn generate_whep_stream(
1733 &self,
1734 #[auth]
1735 auth_: &conjure_object::BearerToken,
1736 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1737 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1738 ) -> Result<
1739 Option<
1740 super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
1741 >,
1742 conjure_http::private::Error,
1743 >;
1744 #[endpoint(
1747 method = GET,
1748 path = "/video/v1/videos/{videoRid}/streaming/streams/{streamId}",
1749 name = "getStream",
1750 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1751 )]
1752 async fn get_stream(
1753 &self,
1754 #[auth]
1755 auth_: &conjure_object::BearerToken,
1756 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1757 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1758 #[path(name = "streamId", encoder = conjure_http::client::conjure::PlainEncoder)]
1759 stream_id: &str,
1760 ) -> Result<
1761 Option<super::super::super::super::objects::scout::video::api::VideoStream>,
1762 conjure_http::private::Error,
1763 >;
1764 #[endpoint(
1768 method = POST,
1769 path = "/video/v1/videos/{videoRid}/streaming/streams-in-bounds",
1770 name = "getStreamsInBounds",
1771 accept = conjure_http::client::StdResponseDeserializer
1772 )]
1773 async fn get_streams_in_bounds(
1774 &self,
1775 #[auth]
1776 auth_: &conjure_object::BearerToken,
1777 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1778 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1779 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1780 request: &super::super::super::super::objects::scout::video::api::GetStreamsInBoundsRequest,
1781 ) -> Result<
1782 super::super::super::super::objects::scout::video::api::GetStreamsInBoundsResponse,
1783 conjure_http::private::Error,
1784 >;
1785 #[endpoint(
1789 method = POST,
1790 path = "/video/v1/videos/{videoRid}/streaming/end",
1791 name = "endStream",
1792 accept = conjure_http::client::StdResponseDeserializer
1793 )]
1794 async fn end_stream(
1795 &self,
1796 #[auth]
1797 auth_: &conjure_object::BearerToken,
1798 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1799 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1800 ) -> Result<
1801 super::super::super::super::objects::scout::video::api::EndStreamResponse,
1802 conjure_http::private::Error,
1803 >;
1804 #[endpoint(
1807 method = POST,
1808 path = "/video/v1/segment/upload",
1809 name = "uploadSegmentFromMediaMtx",
1810 accept = conjure_http::client::conjure::EmptyResponseDeserializer
1811 )]
1812 async fn upload_segment_from_media_mtx(
1813 &self,
1814 #[auth]
1815 auth_: &conjure_object::BearerToken,
1816 #[query(
1817 name = "streamPath",
1818 encoder = conjure_http::client::conjure::PlainEncoder
1819 )]
1820 stream_path: &str,
1821 #[query(
1822 name = "filePath",
1823 encoder = conjure_http::client::conjure::PlainEncoder
1824 )]
1825 file_path: &str,
1826 #[query(
1827 name = "duration",
1828 encoder = conjure_http::client::conjure::PlainEncoder
1829 )]
1830 duration: &str,
1831 #[query(
1832 name = "minTimestampSeconds",
1833 encoder = conjure_http::client::conjure::PlainEncoder
1834 )]
1835 min_timestamp_seconds: conjure_object::SafeLong,
1836 #[query(
1837 name = "minTimestampNanos",
1838 encoder = conjure_http::client::conjure::PlainEncoder
1839 )]
1840 min_timestamp_nanos: conjure_object::SafeLong,
1841 #[header(
1842 name = "Content-Length",
1843 encoder = conjure_http::client::conjure::PlainEncoder
1844 )]
1845 content_length: conjure_object::SafeLong,
1846 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
1847 body: impl conjure_http::client::LocalAsyncWriteBody<O>,
1848 ) -> Result<(), conjure_http::private::Error>;
1849}