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(
516 method = POST,
517 path = "/video/v2/videos/streaming/whep",
518 name = "generateWhepStreamV2",
519 accept = conjure_http::client::conjure::CollectionResponseDeserializer
520 )]
521 fn generate_whep_stream_v2(
522 &self,
523 #[auth]
524 auth_: &conjure_object::BearerToken,
525 #[body(serializer = conjure_http::client::StdRequestSerializer)]
526 request: &super::super::super::super::objects::scout::video::api::GenerateWhepStreamV2Request,
527 ) -> Result<
528 Option<
529 super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
530 >,
531 conjure_http::private::Error,
532 >;
533 #[endpoint(
536 method = GET,
537 path = "/video/v1/videos/{videoRid}/streaming/streams/{streamId}",
538 name = "getStream",
539 accept = conjure_http::client::conjure::CollectionResponseDeserializer
540 )]
541 fn get_stream(
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 #[path(name = "streamId", encoder = conjure_http::client::conjure::PlainEncoder)]
548 stream_id: &str,
549 ) -> Result<
550 Option<super::super::super::super::objects::scout::video::api::VideoStream>,
551 conjure_http::private::Error,
552 >;
553 #[endpoint(
557 method = POST,
558 path = "/video/v1/videos/{videoRid}/streaming/streams-in-bounds",
559 name = "getStreamsInBounds",
560 accept = conjure_http::client::StdResponseDeserializer
561 )]
562 fn get_streams_in_bounds(
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 #[body(serializer = conjure_http::client::StdRequestSerializer)]
569 request: &super::super::super::super::objects::scout::video::api::GetStreamsInBoundsRequest,
570 ) -> Result<
571 super::super::super::super::objects::scout::video::api::GetStreamsInBoundsResponse,
572 conjure_http::private::Error,
573 >;
574 #[endpoint(
578 method = POST,
579 path = "/video/v1/videos/{videoRid}/streaming/end",
580 name = "endStream",
581 accept = conjure_http::client::StdResponseDeserializer
582 )]
583 fn end_stream(
584 &self,
585 #[auth]
586 auth_: &conjure_object::BearerToken,
587 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
588 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
589 ) -> Result<
590 super::super::super::super::objects::scout::video::api::EndStreamResponse,
591 conjure_http::private::Error,
592 >;
593 #[endpoint(
596 method = POST,
597 path = "/video/v1/segment/upload",
598 name = "uploadSegmentFromMediaMtx",
599 accept = conjure_http::client::conjure::EmptyResponseDeserializer
600 )]
601 fn upload_segment_from_media_mtx(
602 &self,
603 #[auth]
604 auth_: &conjure_object::BearerToken,
605 #[query(
606 name = "streamPath",
607 encoder = conjure_http::client::conjure::PlainEncoder
608 )]
609 stream_path: &str,
610 #[query(
611 name = "filePath",
612 encoder = conjure_http::client::conjure::PlainEncoder
613 )]
614 file_path: &str,
615 #[query(
616 name = "duration",
617 encoder = conjure_http::client::conjure::PlainEncoder
618 )]
619 duration: &str,
620 #[query(
621 name = "minTimestampSeconds",
622 encoder = conjure_http::client::conjure::PlainEncoder
623 )]
624 min_timestamp_seconds: conjure_object::SafeLong,
625 #[query(
626 name = "minTimestampNanos",
627 encoder = conjure_http::client::conjure::PlainEncoder
628 )]
629 min_timestamp_nanos: conjure_object::SafeLong,
630 #[header(
631 name = "Content-Length",
632 encoder = conjure_http::client::conjure::PlainEncoder
633 )]
634 content_length: conjure_object::SafeLong,
635 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
636 body: impl conjure_http::client::WriteBody<O>,
637 ) -> Result<(), conjure_http::private::Error>;
638}
639#[conjure_http::conjure_client(name = "VideoService")]
641pub trait AsyncVideoService<
642 #[request_writer]
643 O,
644 #[response_body]
645 I: conjure_http::private::Stream<
646 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
647 >,
648> {
649 #[endpoint(
651 method = GET,
652 path = "/video/v1/videos/{videoRid}",
653 name = "get",
654 accept = conjure_http::client::StdResponseDeserializer
655 )]
656 async fn get(
657 &self,
658 #[auth]
659 auth_: &conjure_object::BearerToken,
660 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
661 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
662 ) -> Result<
663 super::super::super::super::objects::scout::video::api::Video,
664 conjure_http::private::Error,
665 >;
666 #[endpoint(
668 method = POST,
669 path = "/video/v1/videos/batchGet",
670 name = "batchGet",
671 accept = conjure_http::client::StdResponseDeserializer
672 )]
673 async fn batch_get(
674 &self,
675 #[auth]
676 auth_: &conjure_object::BearerToken,
677 #[body(serializer = conjure_http::client::StdRequestSerializer)]
678 request: &super::super::super::super::objects::scout::video::api::GetVideosRequest,
679 ) -> Result<
680 super::super::super::super::objects::scout::video::api::GetVideosResponse,
681 conjure_http::private::Error,
682 >;
683 #[endpoint(
685 method = POST,
686 path = "/video/v1/videos/search",
687 name = "search",
688 accept = conjure_http::client::StdResponseDeserializer
689 )]
690 async fn search(
691 &self,
692 #[auth]
693 auth_: &conjure_object::BearerToken,
694 #[body(serializer = conjure_http::client::StdRequestSerializer)]
695 request: &super::super::super::super::objects::scout::video::api::SearchVideosRequest,
696 ) -> Result<
697 super::super::super::super::objects::scout::video::api::SearchVideosResponse,
698 conjure_http::private::Error,
699 >;
700 #[endpoint(
702 method = POST,
703 path = "/video/v1/videos",
704 name = "create",
705 accept = conjure_http::client::StdResponseDeserializer
706 )]
707 async fn create(
708 &self,
709 #[auth]
710 auth_: &conjure_object::BearerToken,
711 #[body(serializer = conjure_http::client::StdRequestSerializer)]
712 request: &super::super::super::super::objects::scout::video::api::CreateVideoRequest,
713 ) -> Result<
714 super::super::super::super::objects::scout::video::api::Video,
715 conjure_http::private::Error,
716 >;
717 #[endpoint(
719 method = PUT,
720 path = "/video/v1/videos/{videoRid}",
721 name = "updateMetadata",
722 accept = conjure_http::client::StdResponseDeserializer
723 )]
724 async fn update_metadata(
725 &self,
726 #[auth]
727 auth_: &conjure_object::BearerToken,
728 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
729 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
730 #[body(serializer = conjure_http::client::StdRequestSerializer)]
731 request: &super::super::super::super::objects::scout::video::api::UpdateVideoMetadataRequest,
732 ) -> Result<
733 super::super::super::super::objects::scout::video::api::Video,
734 conjure_http::private::Error,
735 >;
736 #[endpoint(
737 method = PUT,
738 path = "/video/v1/videos/{videoRid}/ingest-status",
739 name = "updateIngestStatus",
740 accept = conjure_http::client::conjure::EmptyResponseDeserializer
741 )]
742 async fn update_ingest_status(
743 &self,
744 #[auth]
745 auth_: &conjure_object::BearerToken,
746 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
747 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
748 #[body(serializer = conjure_http::client::StdRequestSerializer)]
749 request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatus,
750 ) -> Result<(), conjure_http::private::Error>;
751 #[endpoint(
752 method = GET,
753 path = "/video/v1/videos/{videoRid}/ingest-status",
754 name = "getIngestStatus",
755 accept = conjure_http::client::StdResponseDeserializer
756 )]
757 async fn get_ingest_status(
758 &self,
759 #[auth]
760 auth_: &conjure_object::BearerToken,
761 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
762 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
763 ) -> Result<
764 super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
765 conjure_http::private::Error,
766 >;
767 #[endpoint(
768 method = POST,
769 path = "/video/v1/videos/batch-get-ingest-status",
770 name = "batchGetIngestStatus",
771 accept = conjure_http::client::conjure::CollectionResponseDeserializer
772 )]
773 async fn batch_get_ingest_status(
774 &self,
775 #[auth]
776 auth_: &conjure_object::BearerToken,
777 #[body(serializer = conjure_http::client::StdRequestSerializer)]
778 video_rids: &std::collections::BTreeSet<
779 super::super::super::super::objects::api::rids::VideoRid,
780 >,
781 ) -> Result<
782 std::collections::BTreeMap<
783 super::super::super::super::objects::api::rids::VideoRid,
784 super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
785 >,
786 conjure_http::private::Error,
787 >;
788 #[endpoint(
789 method = POST,
790 path = "/video/v1/videos/enriched-ingest-status",
791 name = "getEnrichedIngestStatus",
792 accept = conjure_http::client::conjure::CollectionResponseDeserializer
793 )]
794 async fn get_enriched_ingest_status(
795 &self,
796 #[auth]
797 auth_: &conjure_object::BearerToken,
798 #[body(serializer = conjure_http::client::StdRequestSerializer)]
799 request: &super::super::super::super::objects::scout::video::api::GetEnrichedVideoIngestStatusRequest,
800 ) -> Result<
801 Option<
802 super::super::super::super::objects::scout::video::api::EnrichedVideoIngestStatus,
803 >,
804 conjure_http::private::Error,
805 >;
806 #[endpoint(
809 method = PUT,
810 path = "/video/v1/videos/{videoRid}/archive",
811 name = "archive",
812 accept = conjure_http::client::conjure::EmptyResponseDeserializer
813 )]
814 async fn archive(
815 &self,
816 #[auth]
817 auth_: &conjure_object::BearerToken,
818 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
819 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
820 ) -> Result<(), conjure_http::private::Error>;
821 #[endpoint(
823 method = PUT,
824 path = "/video/v1/videos/{videoRid}/unarchive",
825 name = "unarchive",
826 accept = conjure_http::client::conjure::EmptyResponseDeserializer
827 )]
828 async fn unarchive(
829 &self,
830 #[auth]
831 auth_: &conjure_object::BearerToken,
832 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
833 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
834 ) -> Result<(), conjure_http::private::Error>;
835 #[endpoint(
843 method = GET,
844 path = "/video/v1/videos/{videoRid}/playlist",
845 name = "getPlaylist",
846 accept = conjure_http::client::conjure::BinaryResponseDeserializer
847 )]
848 async fn get_playlist(
849 &self,
850 #[auth]
851 auth_: &conjure_object::BearerToken,
852 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
853 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
854 #[query(
855 name = "start",
856 encoder = conjure_http::client::conjure::PlainSeqEncoder
857 )]
858 start: Option<&str>,
859 #[query(name = "end", encoder = conjure_http::client::conjure::PlainSeqEncoder)]
860 end: Option<&str>,
861 ) -> Result<I, conjure_http::private::Error>;
862 #[endpoint(
865 method = GET,
866 path = "/video/v1/videos/{videoRid}/segment-summaries",
867 name = "getSegmentSummaries",
868 accept = conjure_http::client::conjure::CollectionResponseDeserializer
869 )]
870 async fn get_segment_summaries(
871 &self,
872 #[auth]
873 auth_: &conjure_object::BearerToken,
874 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
875 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
876 ) -> Result<
877 Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
878 conjure_http::private::Error,
879 >;
880 #[endpoint(
885 method = POST,
886 path = "/video/v1/videos/{videoRid}/playlist-in-bounds",
887 name = "getPlaylistInBounds",
888 accept = conjure_http::client::conjure::BinaryResponseDeserializer
889 )]
890 async fn get_playlist_in_bounds(
891 &self,
892 #[auth]
893 auth_: &conjure_object::BearerToken,
894 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
895 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
896 #[body(serializer = conjure_http::client::StdRequestSerializer)]
897 request: &super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsRequest,
898 ) -> Result<I, conjure_http::private::Error>;
899 #[endpoint(
901 method = POST,
902 path = "/video/v2/videos/playlist-in-bounds",
903 name = "getPlaylistInBoundsV2",
904 accept = conjure_http::client::conjure::BinaryResponseDeserializer
905 )]
906 async fn get_playlist_in_bounds_v2(
907 &self,
908 #[auth]
909 auth_: &conjure_object::BearerToken,
910 #[body(serializer = conjure_http::client::StdRequestSerializer)]
911 request: &super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsForChannelRequest,
912 ) -> Result<I, conjure_http::private::Error>;
913 #[endpoint(
918 method = GET,
919 path = "/video/v2/videos/playlist",
920 name = "getPlaylistV2",
921 accept = conjure_http::client::conjure::BinaryResponseDeserializer
922 )]
923 async fn get_playlist_v2(
924 &self,
925 #[auth]
926 auth_: &conjure_object::BearerToken,
927 #[query(
928 name = "dataSourceRid",
929 encoder = conjure_http::client::conjure::PlainSeqEncoder
930 )]
931 data_source_rid: Option<
932 &super::super::super::super::objects::api::rids::DataSourceRid,
933 >,
934 #[query(
935 name = "assetRid",
936 encoder = conjure_http::client::conjure::PlainSeqEncoder
937 )]
938 asset_rid: Option<
939 &super::super::super::super::objects::scout::rids::api::AssetRid,
940 >,
941 #[query(
942 name = "dataScopeName",
943 encoder = conjure_http::client::conjure::PlainSeqEncoder
944 )]
945 data_scope_name: Option<&str>,
946 #[query(name = "channel", encoder = conjure_http::client::conjure::PlainEncoder)]
947 channel: &str,
948 #[query(name = "tags", encoder = conjure_http::client::conjure::PlainSeqEncoder)]
949 tags: Option<&str>,
950 #[query(name = "start", encoder = conjure_http::client::conjure::PlainEncoder)]
951 start: &str,
952 #[query(name = "end", encoder = conjure_http::client::conjure::PlainEncoder)]
953 end: &str,
954 ) -> Result<I, conjure_http::private::Error>;
955 #[endpoint(
958 method = POST,
959 path = "/video/v1/videos/{videoRid}/segment-summaries-in-bounds",
960 name = "getSegmentSummariesInBounds",
961 accept = conjure_http::client::conjure::CollectionResponseDeserializer
962 )]
963 async fn get_segment_summaries_in_bounds(
964 &self,
965 #[auth]
966 auth_: &conjure_object::BearerToken,
967 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
968 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
969 #[body(serializer = conjure_http::client::StdRequestSerializer)]
970 request: &super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsRequest,
971 ) -> Result<
972 Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
973 conjure_http::private::Error,
974 >;
975 #[endpoint(
978 method = POST,
979 path = "/video/v2/videos/segment-summaries-in-bounds",
980 name = "getSegmentSummariesInBoundsV2",
981 accept = conjure_http::client::conjure::CollectionResponseDeserializer
982 )]
983 async fn get_segment_summaries_in_bounds_v2(
984 &self,
985 #[auth]
986 auth_: &conjure_object::BearerToken,
987 #[body(serializer = conjure_http::client::StdRequestSerializer)]
988 request: &super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsForChannelRequest,
989 ) -> Result<
990 Vec<super::super::super::super::objects::scout::video::api::SegmentSummaryV2>,
991 conjure_http::private::Error,
992 >;
993 #[endpoint(
996 method = POST,
997 path = "/video/v2/videos/segment-metadata",
998 name = "getSegmentMetadataV2",
999 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1000 )]
1001 async fn get_segment_metadata_v2(
1002 &self,
1003 #[auth]
1004 auth_: &conjure_object::BearerToken,
1005 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1006 request: &super::super::super::super::objects::scout::video::api::GetSegmentMetadataForChannelRequest,
1007 ) -> Result<
1008 Option<
1009 super::super::super::super::objects::scout::video::api::VideoChannelSegmentsMetadata,
1010 >,
1011 conjure_http::private::Error,
1012 >;
1013 #[endpoint(
1015 method = POST,
1016 path = "/video/v2/videos/get-segment-by-timestamp",
1017 name = "getSegmentByTimestampV2",
1018 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1019 )]
1020 async fn get_segment_by_timestamp_v2(
1021 &self,
1022 #[auth]
1023 auth_: &conjure_object::BearerToken,
1024 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1025 request: &super::super::super::super::objects::scout::video::api::GetSegmentByTimestampV2Request,
1026 ) -> Result<
1027 Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
1028 conjure_http::private::Error,
1029 >;
1030 #[endpoint(
1034 method = POST,
1035 path = "/video/v1/videos/{videoRid}/get-segment-at-or-after-timestamp",
1036 name = "getSegmentAtOrAfterTimestamp",
1037 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1038 )]
1039 async fn get_segment_at_or_after_timestamp(
1040 &self,
1041 #[auth]
1042 auth_: &conjure_object::BearerToken,
1043 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1044 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1045 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1046 request: &super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampRequest,
1047 ) -> Result<
1048 Option<super::super::super::super::objects::scout::video::api::Segment>,
1049 conjure_http::private::Error,
1050 >;
1051 #[endpoint(
1055 method = POST,
1056 path = "/video/v2/videos/get-segment-at-or-after-timestamp",
1057 name = "getSegmentAtOrAfterTimestampV2",
1058 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1059 )]
1060 async fn get_segment_at_or_after_timestamp_v2(
1061 &self,
1062 #[auth]
1063 auth_: &conjure_object::BearerToken,
1064 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1065 request: &super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampV2Request,
1066 ) -> Result<
1067 Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
1068 conjure_http::private::Error,
1069 >;
1070 #[endpoint(
1074 method = POST,
1075 path = "/video/v1/videos/{videoRid}/get-ranges-with-existing-segment-data",
1076 name = "getFileSummaries",
1077 accept = conjure_http::client::StdResponseDeserializer
1078 )]
1079 async fn get_file_summaries(
1080 &self,
1081 #[auth]
1082 auth_: &conjure_object::BearerToken,
1083 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1084 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1085 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1086 request: &super::super::super::super::objects::scout::video::api::GetFileSummariesRequest,
1087 ) -> Result<
1088 super::super::super::super::objects::scout::video::api::GetFileSummariesResponse,
1089 conjure_http::private::Error,
1090 >;
1091 #[endpoint(
1094 method = POST,
1095 path = "/video/v1/videos/{videoRid}/streaming/whip",
1096 name = "generateWhipStream",
1097 accept = conjure_http::client::StdResponseDeserializer
1098 )]
1099 async fn generate_whip_stream(
1100 &self,
1101 #[auth]
1102 auth_: &conjure_object::BearerToken,
1103 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1104 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1105 ) -> Result<
1106 super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
1107 conjure_http::private::Error,
1108 >;
1109 #[endpoint(
1113 method = POST,
1114 path = "/video/v2/videos/streaming/whip",
1115 name = "generateWhipStreamV2",
1116 accept = conjure_http::client::StdResponseDeserializer
1117 )]
1118 async fn generate_whip_stream_v2(
1119 &self,
1120 #[auth]
1121 auth_: &conjure_object::BearerToken,
1122 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1123 request: &super::super::super::super::objects::scout::video::api::GenerateWhipStreamV2Request,
1124 ) -> Result<
1125 super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
1126 conjure_http::private::Error,
1127 >;
1128 #[endpoint(
1132 method = POST,
1133 path = "/video/v1/videos/{videoRid}/streaming/whep",
1134 name = "generateWhepStream",
1135 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1136 )]
1137 async fn generate_whep_stream(
1138 &self,
1139 #[auth]
1140 auth_: &conjure_object::BearerToken,
1141 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1142 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1143 ) -> Result<
1144 Option<
1145 super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
1146 >,
1147 conjure_http::private::Error,
1148 >;
1149 #[endpoint(
1153 method = POST,
1154 path = "/video/v2/videos/streaming/whep",
1155 name = "generateWhepStreamV2",
1156 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1157 )]
1158 async fn generate_whep_stream_v2(
1159 &self,
1160 #[auth]
1161 auth_: &conjure_object::BearerToken,
1162 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1163 request: &super::super::super::super::objects::scout::video::api::GenerateWhepStreamV2Request,
1164 ) -> Result<
1165 Option<
1166 super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
1167 >,
1168 conjure_http::private::Error,
1169 >;
1170 #[endpoint(
1173 method = GET,
1174 path = "/video/v1/videos/{videoRid}/streaming/streams/{streamId}",
1175 name = "getStream",
1176 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1177 )]
1178 async fn get_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 #[path(name = "streamId", encoder = conjure_http::client::conjure::PlainEncoder)]
1185 stream_id: &str,
1186 ) -> Result<
1187 Option<super::super::super::super::objects::scout::video::api::VideoStream>,
1188 conjure_http::private::Error,
1189 >;
1190 #[endpoint(
1194 method = POST,
1195 path = "/video/v1/videos/{videoRid}/streaming/streams-in-bounds",
1196 name = "getStreamsInBounds",
1197 accept = conjure_http::client::StdResponseDeserializer
1198 )]
1199 async fn get_streams_in_bounds(
1200 &self,
1201 #[auth]
1202 auth_: &conjure_object::BearerToken,
1203 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1204 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1205 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1206 request: &super::super::super::super::objects::scout::video::api::GetStreamsInBoundsRequest,
1207 ) -> Result<
1208 super::super::super::super::objects::scout::video::api::GetStreamsInBoundsResponse,
1209 conjure_http::private::Error,
1210 >;
1211 #[endpoint(
1215 method = POST,
1216 path = "/video/v1/videos/{videoRid}/streaming/end",
1217 name = "endStream",
1218 accept = conjure_http::client::StdResponseDeserializer
1219 )]
1220 async fn end_stream(
1221 &self,
1222 #[auth]
1223 auth_: &conjure_object::BearerToken,
1224 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1225 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1226 ) -> Result<
1227 super::super::super::super::objects::scout::video::api::EndStreamResponse,
1228 conjure_http::private::Error,
1229 >;
1230 #[endpoint(
1233 method = POST,
1234 path = "/video/v1/segment/upload",
1235 name = "uploadSegmentFromMediaMtx",
1236 accept = conjure_http::client::conjure::EmptyResponseDeserializer
1237 )]
1238 async fn upload_segment_from_media_mtx(
1239 &self,
1240 #[auth]
1241 auth_: &conjure_object::BearerToken,
1242 #[query(
1243 name = "streamPath",
1244 encoder = conjure_http::client::conjure::PlainEncoder
1245 )]
1246 stream_path: &str,
1247 #[query(
1248 name = "filePath",
1249 encoder = conjure_http::client::conjure::PlainEncoder
1250 )]
1251 file_path: &str,
1252 #[query(
1253 name = "duration",
1254 encoder = conjure_http::client::conjure::PlainEncoder
1255 )]
1256 duration: &str,
1257 #[query(
1258 name = "minTimestampSeconds",
1259 encoder = conjure_http::client::conjure::PlainEncoder
1260 )]
1261 min_timestamp_seconds: conjure_object::SafeLong,
1262 #[query(
1263 name = "minTimestampNanos",
1264 encoder = conjure_http::client::conjure::PlainEncoder
1265 )]
1266 min_timestamp_nanos: conjure_object::SafeLong,
1267 #[header(
1268 name = "Content-Length",
1269 encoder = conjure_http::client::conjure::PlainEncoder
1270 )]
1271 content_length: conjure_object::SafeLong,
1272 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
1273 body: impl conjure_http::client::AsyncWriteBody<O> + Sync + Send,
1274 ) -> Result<(), conjure_http::private::Error>;
1275}
1276#[conjure_http::conjure_client(name = "VideoService", local)]
1278pub trait LocalAsyncVideoService<
1279 #[request_writer]
1280 O,
1281 #[response_body]
1282 I: conjure_http::private::Stream<
1283 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
1284 >,
1285> {
1286 #[endpoint(
1288 method = GET,
1289 path = "/video/v1/videos/{videoRid}",
1290 name = "get",
1291 accept = conjure_http::client::StdResponseDeserializer
1292 )]
1293 async fn get(
1294 &self,
1295 #[auth]
1296 auth_: &conjure_object::BearerToken,
1297 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1298 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1299 ) -> Result<
1300 super::super::super::super::objects::scout::video::api::Video,
1301 conjure_http::private::Error,
1302 >;
1303 #[endpoint(
1305 method = POST,
1306 path = "/video/v1/videos/batchGet",
1307 name = "batchGet",
1308 accept = conjure_http::client::StdResponseDeserializer
1309 )]
1310 async fn batch_get(
1311 &self,
1312 #[auth]
1313 auth_: &conjure_object::BearerToken,
1314 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1315 request: &super::super::super::super::objects::scout::video::api::GetVideosRequest,
1316 ) -> Result<
1317 super::super::super::super::objects::scout::video::api::GetVideosResponse,
1318 conjure_http::private::Error,
1319 >;
1320 #[endpoint(
1322 method = POST,
1323 path = "/video/v1/videos/search",
1324 name = "search",
1325 accept = conjure_http::client::StdResponseDeserializer
1326 )]
1327 async fn search(
1328 &self,
1329 #[auth]
1330 auth_: &conjure_object::BearerToken,
1331 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1332 request: &super::super::super::super::objects::scout::video::api::SearchVideosRequest,
1333 ) -> Result<
1334 super::super::super::super::objects::scout::video::api::SearchVideosResponse,
1335 conjure_http::private::Error,
1336 >;
1337 #[endpoint(
1339 method = POST,
1340 path = "/video/v1/videos",
1341 name = "create",
1342 accept = conjure_http::client::StdResponseDeserializer
1343 )]
1344 async fn create(
1345 &self,
1346 #[auth]
1347 auth_: &conjure_object::BearerToken,
1348 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1349 request: &super::super::super::super::objects::scout::video::api::CreateVideoRequest,
1350 ) -> Result<
1351 super::super::super::super::objects::scout::video::api::Video,
1352 conjure_http::private::Error,
1353 >;
1354 #[endpoint(
1356 method = PUT,
1357 path = "/video/v1/videos/{videoRid}",
1358 name = "updateMetadata",
1359 accept = conjure_http::client::StdResponseDeserializer
1360 )]
1361 async fn update_metadata(
1362 &self,
1363 #[auth]
1364 auth_: &conjure_object::BearerToken,
1365 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1366 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1367 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1368 request: &super::super::super::super::objects::scout::video::api::UpdateVideoMetadataRequest,
1369 ) -> Result<
1370 super::super::super::super::objects::scout::video::api::Video,
1371 conjure_http::private::Error,
1372 >;
1373 #[endpoint(
1374 method = PUT,
1375 path = "/video/v1/videos/{videoRid}/ingest-status",
1376 name = "updateIngestStatus",
1377 accept = conjure_http::client::conjure::EmptyResponseDeserializer
1378 )]
1379 async fn update_ingest_status(
1380 &self,
1381 #[auth]
1382 auth_: &conjure_object::BearerToken,
1383 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1384 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1385 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1386 request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatus,
1387 ) -> Result<(), conjure_http::private::Error>;
1388 #[endpoint(
1389 method = GET,
1390 path = "/video/v1/videos/{videoRid}/ingest-status",
1391 name = "getIngestStatus",
1392 accept = conjure_http::client::StdResponseDeserializer
1393 )]
1394 async fn get_ingest_status(
1395 &self,
1396 #[auth]
1397 auth_: &conjure_object::BearerToken,
1398 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1399 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1400 ) -> Result<
1401 super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
1402 conjure_http::private::Error,
1403 >;
1404 #[endpoint(
1405 method = POST,
1406 path = "/video/v1/videos/batch-get-ingest-status",
1407 name = "batchGetIngestStatus",
1408 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1409 )]
1410 async fn batch_get_ingest_status(
1411 &self,
1412 #[auth]
1413 auth_: &conjure_object::BearerToken,
1414 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1415 video_rids: &std::collections::BTreeSet<
1416 super::super::super::super::objects::api::rids::VideoRid,
1417 >,
1418 ) -> Result<
1419 std::collections::BTreeMap<
1420 super::super::super::super::objects::api::rids::VideoRid,
1421 super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
1422 >,
1423 conjure_http::private::Error,
1424 >;
1425 #[endpoint(
1426 method = POST,
1427 path = "/video/v1/videos/enriched-ingest-status",
1428 name = "getEnrichedIngestStatus",
1429 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1430 )]
1431 async fn get_enriched_ingest_status(
1432 &self,
1433 #[auth]
1434 auth_: &conjure_object::BearerToken,
1435 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1436 request: &super::super::super::super::objects::scout::video::api::GetEnrichedVideoIngestStatusRequest,
1437 ) -> Result<
1438 Option<
1439 super::super::super::super::objects::scout::video::api::EnrichedVideoIngestStatus,
1440 >,
1441 conjure_http::private::Error,
1442 >;
1443 #[endpoint(
1446 method = PUT,
1447 path = "/video/v1/videos/{videoRid}/archive",
1448 name = "archive",
1449 accept = conjure_http::client::conjure::EmptyResponseDeserializer
1450 )]
1451 async fn archive(
1452 &self,
1453 #[auth]
1454 auth_: &conjure_object::BearerToken,
1455 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1456 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1457 ) -> Result<(), conjure_http::private::Error>;
1458 #[endpoint(
1460 method = PUT,
1461 path = "/video/v1/videos/{videoRid}/unarchive",
1462 name = "unarchive",
1463 accept = conjure_http::client::conjure::EmptyResponseDeserializer
1464 )]
1465 async fn unarchive(
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<(), conjure_http::private::Error>;
1472 #[endpoint(
1480 method = GET,
1481 path = "/video/v1/videos/{videoRid}/playlist",
1482 name = "getPlaylist",
1483 accept = conjure_http::client::conjure::BinaryResponseDeserializer
1484 )]
1485 async fn get_playlist(
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 #[query(
1492 name = "start",
1493 encoder = conjure_http::client::conjure::PlainSeqEncoder
1494 )]
1495 start: Option<&str>,
1496 #[query(name = "end", encoder = conjure_http::client::conjure::PlainSeqEncoder)]
1497 end: Option<&str>,
1498 ) -> Result<I, conjure_http::private::Error>;
1499 #[endpoint(
1502 method = GET,
1503 path = "/video/v1/videos/{videoRid}/segment-summaries",
1504 name = "getSegmentSummaries",
1505 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1506 )]
1507 async fn get_segment_summaries(
1508 &self,
1509 #[auth]
1510 auth_: &conjure_object::BearerToken,
1511 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1512 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1513 ) -> Result<
1514 Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
1515 conjure_http::private::Error,
1516 >;
1517 #[endpoint(
1522 method = POST,
1523 path = "/video/v1/videos/{videoRid}/playlist-in-bounds",
1524 name = "getPlaylistInBounds",
1525 accept = conjure_http::client::conjure::BinaryResponseDeserializer
1526 )]
1527 async fn get_playlist_in_bounds(
1528 &self,
1529 #[auth]
1530 auth_: &conjure_object::BearerToken,
1531 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1532 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1533 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1534 request: &super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsRequest,
1535 ) -> Result<I, conjure_http::private::Error>;
1536 #[endpoint(
1538 method = POST,
1539 path = "/video/v2/videos/playlist-in-bounds",
1540 name = "getPlaylistInBoundsV2",
1541 accept = conjure_http::client::conjure::BinaryResponseDeserializer
1542 )]
1543 async fn get_playlist_in_bounds_v2(
1544 &self,
1545 #[auth]
1546 auth_: &conjure_object::BearerToken,
1547 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1548 request: &super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsForChannelRequest,
1549 ) -> Result<I, conjure_http::private::Error>;
1550 #[endpoint(
1555 method = GET,
1556 path = "/video/v2/videos/playlist",
1557 name = "getPlaylistV2",
1558 accept = conjure_http::client::conjure::BinaryResponseDeserializer
1559 )]
1560 async fn get_playlist_v2(
1561 &self,
1562 #[auth]
1563 auth_: &conjure_object::BearerToken,
1564 #[query(
1565 name = "dataSourceRid",
1566 encoder = conjure_http::client::conjure::PlainSeqEncoder
1567 )]
1568 data_source_rid: Option<
1569 &super::super::super::super::objects::api::rids::DataSourceRid,
1570 >,
1571 #[query(
1572 name = "assetRid",
1573 encoder = conjure_http::client::conjure::PlainSeqEncoder
1574 )]
1575 asset_rid: Option<
1576 &super::super::super::super::objects::scout::rids::api::AssetRid,
1577 >,
1578 #[query(
1579 name = "dataScopeName",
1580 encoder = conjure_http::client::conjure::PlainSeqEncoder
1581 )]
1582 data_scope_name: Option<&str>,
1583 #[query(name = "channel", encoder = conjure_http::client::conjure::PlainEncoder)]
1584 channel: &str,
1585 #[query(name = "tags", encoder = conjure_http::client::conjure::PlainSeqEncoder)]
1586 tags: Option<&str>,
1587 #[query(name = "start", encoder = conjure_http::client::conjure::PlainEncoder)]
1588 start: &str,
1589 #[query(name = "end", encoder = conjure_http::client::conjure::PlainEncoder)]
1590 end: &str,
1591 ) -> Result<I, conjure_http::private::Error>;
1592 #[endpoint(
1595 method = POST,
1596 path = "/video/v1/videos/{videoRid}/segment-summaries-in-bounds",
1597 name = "getSegmentSummariesInBounds",
1598 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1599 )]
1600 async fn get_segment_summaries_in_bounds(
1601 &self,
1602 #[auth]
1603 auth_: &conjure_object::BearerToken,
1604 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1605 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1606 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1607 request: &super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsRequest,
1608 ) -> Result<
1609 Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
1610 conjure_http::private::Error,
1611 >;
1612 #[endpoint(
1615 method = POST,
1616 path = "/video/v2/videos/segment-summaries-in-bounds",
1617 name = "getSegmentSummariesInBoundsV2",
1618 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1619 )]
1620 async fn get_segment_summaries_in_bounds_v2(
1621 &self,
1622 #[auth]
1623 auth_: &conjure_object::BearerToken,
1624 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1625 request: &super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsForChannelRequest,
1626 ) -> Result<
1627 Vec<super::super::super::super::objects::scout::video::api::SegmentSummaryV2>,
1628 conjure_http::private::Error,
1629 >;
1630 #[endpoint(
1633 method = POST,
1634 path = "/video/v2/videos/segment-metadata",
1635 name = "getSegmentMetadataV2",
1636 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1637 )]
1638 async fn get_segment_metadata_v2(
1639 &self,
1640 #[auth]
1641 auth_: &conjure_object::BearerToken,
1642 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1643 request: &super::super::super::super::objects::scout::video::api::GetSegmentMetadataForChannelRequest,
1644 ) -> Result<
1645 Option<
1646 super::super::super::super::objects::scout::video::api::VideoChannelSegmentsMetadata,
1647 >,
1648 conjure_http::private::Error,
1649 >;
1650 #[endpoint(
1652 method = POST,
1653 path = "/video/v2/videos/get-segment-by-timestamp",
1654 name = "getSegmentByTimestampV2",
1655 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1656 )]
1657 async fn get_segment_by_timestamp_v2(
1658 &self,
1659 #[auth]
1660 auth_: &conjure_object::BearerToken,
1661 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1662 request: &super::super::super::super::objects::scout::video::api::GetSegmentByTimestampV2Request,
1663 ) -> Result<
1664 Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
1665 conjure_http::private::Error,
1666 >;
1667 #[endpoint(
1671 method = POST,
1672 path = "/video/v1/videos/{videoRid}/get-segment-at-or-after-timestamp",
1673 name = "getSegmentAtOrAfterTimestamp",
1674 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1675 )]
1676 async fn get_segment_at_or_after_timestamp(
1677 &self,
1678 #[auth]
1679 auth_: &conjure_object::BearerToken,
1680 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1681 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1682 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1683 request: &super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampRequest,
1684 ) -> Result<
1685 Option<super::super::super::super::objects::scout::video::api::Segment>,
1686 conjure_http::private::Error,
1687 >;
1688 #[endpoint(
1692 method = POST,
1693 path = "/video/v2/videos/get-segment-at-or-after-timestamp",
1694 name = "getSegmentAtOrAfterTimestampV2",
1695 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1696 )]
1697 async fn get_segment_at_or_after_timestamp_v2(
1698 &self,
1699 #[auth]
1700 auth_: &conjure_object::BearerToken,
1701 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1702 request: &super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampV2Request,
1703 ) -> Result<
1704 Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
1705 conjure_http::private::Error,
1706 >;
1707 #[endpoint(
1711 method = POST,
1712 path = "/video/v1/videos/{videoRid}/get-ranges-with-existing-segment-data",
1713 name = "getFileSummaries",
1714 accept = conjure_http::client::StdResponseDeserializer
1715 )]
1716 async fn get_file_summaries(
1717 &self,
1718 #[auth]
1719 auth_: &conjure_object::BearerToken,
1720 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1721 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1722 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1723 request: &super::super::super::super::objects::scout::video::api::GetFileSummariesRequest,
1724 ) -> Result<
1725 super::super::super::super::objects::scout::video::api::GetFileSummariesResponse,
1726 conjure_http::private::Error,
1727 >;
1728 #[endpoint(
1731 method = POST,
1732 path = "/video/v1/videos/{videoRid}/streaming/whip",
1733 name = "generateWhipStream",
1734 accept = conjure_http::client::StdResponseDeserializer
1735 )]
1736 async fn generate_whip_stream(
1737 &self,
1738 #[auth]
1739 auth_: &conjure_object::BearerToken,
1740 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1741 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1742 ) -> Result<
1743 super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
1744 conjure_http::private::Error,
1745 >;
1746 #[endpoint(
1750 method = POST,
1751 path = "/video/v2/videos/streaming/whip",
1752 name = "generateWhipStreamV2",
1753 accept = conjure_http::client::StdResponseDeserializer
1754 )]
1755 async fn generate_whip_stream_v2(
1756 &self,
1757 #[auth]
1758 auth_: &conjure_object::BearerToken,
1759 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1760 request: &super::super::super::super::objects::scout::video::api::GenerateWhipStreamV2Request,
1761 ) -> Result<
1762 super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
1763 conjure_http::private::Error,
1764 >;
1765 #[endpoint(
1769 method = POST,
1770 path = "/video/v1/videos/{videoRid}/streaming/whep",
1771 name = "generateWhepStream",
1772 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1773 )]
1774 async fn generate_whep_stream(
1775 &self,
1776 #[auth]
1777 auth_: &conjure_object::BearerToken,
1778 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1779 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1780 ) -> Result<
1781 Option<
1782 super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
1783 >,
1784 conjure_http::private::Error,
1785 >;
1786 #[endpoint(
1790 method = POST,
1791 path = "/video/v2/videos/streaming/whep",
1792 name = "generateWhepStreamV2",
1793 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1794 )]
1795 async fn generate_whep_stream_v2(
1796 &self,
1797 #[auth]
1798 auth_: &conjure_object::BearerToken,
1799 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1800 request: &super::super::super::super::objects::scout::video::api::GenerateWhepStreamV2Request,
1801 ) -> Result<
1802 Option<
1803 super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
1804 >,
1805 conjure_http::private::Error,
1806 >;
1807 #[endpoint(
1810 method = GET,
1811 path = "/video/v1/videos/{videoRid}/streaming/streams/{streamId}",
1812 name = "getStream",
1813 accept = conjure_http::client::conjure::CollectionResponseDeserializer
1814 )]
1815 async fn get_stream(
1816 &self,
1817 #[auth]
1818 auth_: &conjure_object::BearerToken,
1819 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1820 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1821 #[path(name = "streamId", encoder = conjure_http::client::conjure::PlainEncoder)]
1822 stream_id: &str,
1823 ) -> Result<
1824 Option<super::super::super::super::objects::scout::video::api::VideoStream>,
1825 conjure_http::private::Error,
1826 >;
1827 #[endpoint(
1831 method = POST,
1832 path = "/video/v1/videos/{videoRid}/streaming/streams-in-bounds",
1833 name = "getStreamsInBounds",
1834 accept = conjure_http::client::StdResponseDeserializer
1835 )]
1836 async fn get_streams_in_bounds(
1837 &self,
1838 #[auth]
1839 auth_: &conjure_object::BearerToken,
1840 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1841 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1842 #[body(serializer = conjure_http::client::StdRequestSerializer)]
1843 request: &super::super::super::super::objects::scout::video::api::GetStreamsInBoundsRequest,
1844 ) -> Result<
1845 super::super::super::super::objects::scout::video::api::GetStreamsInBoundsResponse,
1846 conjure_http::private::Error,
1847 >;
1848 #[endpoint(
1852 method = POST,
1853 path = "/video/v1/videos/{videoRid}/streaming/end",
1854 name = "endStream",
1855 accept = conjure_http::client::StdResponseDeserializer
1856 )]
1857 async fn end_stream(
1858 &self,
1859 #[auth]
1860 auth_: &conjure_object::BearerToken,
1861 #[path(name = "videoRid", encoder = conjure_http::client::conjure::PlainEncoder)]
1862 video_rid: &super::super::super::super::objects::api::rids::VideoRid,
1863 ) -> Result<
1864 super::super::super::super::objects::scout::video::api::EndStreamResponse,
1865 conjure_http::private::Error,
1866 >;
1867 #[endpoint(
1870 method = POST,
1871 path = "/video/v1/segment/upload",
1872 name = "uploadSegmentFromMediaMtx",
1873 accept = conjure_http::client::conjure::EmptyResponseDeserializer
1874 )]
1875 async fn upload_segment_from_media_mtx(
1876 &self,
1877 #[auth]
1878 auth_: &conjure_object::BearerToken,
1879 #[query(
1880 name = "streamPath",
1881 encoder = conjure_http::client::conjure::PlainEncoder
1882 )]
1883 stream_path: &str,
1884 #[query(
1885 name = "filePath",
1886 encoder = conjure_http::client::conjure::PlainEncoder
1887 )]
1888 file_path: &str,
1889 #[query(
1890 name = "duration",
1891 encoder = conjure_http::client::conjure::PlainEncoder
1892 )]
1893 duration: &str,
1894 #[query(
1895 name = "minTimestampSeconds",
1896 encoder = conjure_http::client::conjure::PlainEncoder
1897 )]
1898 min_timestamp_seconds: conjure_object::SafeLong,
1899 #[query(
1900 name = "minTimestampNanos",
1901 encoder = conjure_http::client::conjure::PlainEncoder
1902 )]
1903 min_timestamp_nanos: conjure_object::SafeLong,
1904 #[header(
1905 name = "Content-Length",
1906 encoder = conjure_http::client::conjure::PlainEncoder
1907 )]
1908 content_length: conjure_object::SafeLong,
1909 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
1910 body: impl conjure_http::client::LocalAsyncWriteBody<O>,
1911 ) -> Result<(), conjure_http::private::Error>;
1912}