1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct Segment {
4 #[prost(string, tag = "1")]
5 pub rid: ::prost::alloc::string::String,
6 #[prost(string, optional, tag = "2")]
7 pub video_rid: ::core::option::Option<::prost::alloc::string::String>,
8 #[prost(string, optional, tag = "3")]
9 pub dataset_file_id: ::core::option::Option<::prost::alloc::string::String>,
10 #[prost(message, optional, tag = "4")]
11 pub data_handle: ::core::option::Option<super::super::types::Handle>,
12 #[prost(double, tag = "5")]
13 pub frame_rate: f64,
14 #[prost(double, tag = "6")]
15 pub duration_seconds: f64,
16 #[prost(message, optional, tag = "7")]
17 pub frame_timestamps: ::core::option::Option<FrameTimestamps>,
18 #[prost(message, optional, tag = "8")]
19 pub end_timestamp: ::core::option::Option<
20 super::super::super::google::protobuf::Timestamp,
21 >,
22}
23#[derive(Clone, PartialEq, ::prost::Message)]
24pub struct FrameTimestamps {
25 #[prost(double, repeated, packed = "false", tag = "1")]
26 pub media_timestamps_seconds: ::prost::alloc::vec::Vec<f64>,
27 #[prost(message, repeated, tag = "2")]
28 pub absolute_timestamps: ::prost::alloc::vec::Vec<
29 super::super::super::google::protobuf::Timestamp,
30 >,
31}
32#[derive(Clone, PartialEq, ::prost::Message)]
33pub struct SegmentTimeRange {
34 #[prost(message, optional, tag = "1")]
35 pub absolute_start_time: ::core::option::Option<
36 super::super::super::google::protobuf::Timestamp,
37 >,
38 #[prost(message, optional, tag = "2")]
39 pub absolute_end_time: ::core::option::Option<
40 super::super::super::google::protobuf::Timestamp,
41 >,
42 #[prost(double, tag = "3")]
43 pub media_start_seconds: f64,
44 #[prost(double, tag = "4")]
45 pub media_end_seconds: f64,
46 #[prost(string, optional, tag = "5")]
47 pub dataset_file_id: ::core::option::Option<::prost::alloc::string::String>,
48}
49#[derive(Clone, Copy, PartialEq, ::prost::Message)]
50pub struct TimeBounds {
51 #[prost(message, optional, tag = "1")]
52 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
53 #[prost(message, optional, tag = "2")]
54 pub end: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
55}
56#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
57#[repr(i32)]
58pub enum VideoError {
59 InvalidRequest = 0,
60}
61impl VideoError {
62 pub fn as_str_name(&self) -> &'static str {
67 match self {
68 Self::InvalidRequest => "VIDEO_ERROR_INVALID_REQUEST",
69 }
70 }
71 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
73 match value {
74 "VIDEO_ERROR_INVALID_REQUEST" => Some(Self::InvalidRequest),
75 _ => None,
76 }
77 }
78}
79#[derive(Clone, PartialEq, ::prost::Message)]
80pub struct ListVideoFileSegmentTimeRangesRequest {
81 #[prost(string, tag = "1")]
82 pub video_file_rid: ::prost::alloc::string::String,
83 #[prost(int32, optional, tag = "2")]
84 pub page_size: ::core::option::Option<i32>,
85 #[prost(string, tag = "3")]
86 pub page_token: ::prost::alloc::string::String,
87}
88#[derive(Clone, PartialEq, ::prost::Message)]
89pub struct ListVideoFileSegmentTimeRangesResponse {
90 #[prost(message, repeated, tag = "1")]
91 pub segment_time_ranges: ::prost::alloc::vec::Vec<SegmentTimeRange>,
92 #[prost(string, tag = "2")]
93 pub next_page_token: ::prost::alloc::string::String,
94}
95pub mod video_file_service_client {
97 #![allow(
98 unused_variables,
99 dead_code,
100 missing_docs,
101 clippy::wildcard_imports,
102 clippy::let_unit_value,
103 )]
104 use tonic::codegen::*;
105 use tonic::codegen::http::Uri;
106 #[derive(Debug, Clone)]
107 pub struct VideoFileServiceClient<T> {
108 inner: tonic::client::Grpc<T>,
109 }
110 impl VideoFileServiceClient<tonic::transport::Channel> {
111 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
113 where
114 D: TryInto<tonic::transport::Endpoint>,
115 D::Error: Into<StdError>,
116 {
117 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
118 Ok(Self::new(conn))
119 }
120 }
121 impl<T> VideoFileServiceClient<T>
122 where
123 T: tonic::client::GrpcService<tonic::body::Body>,
124 T::Error: Into<StdError>,
125 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
126 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
127 {
128 pub fn new(inner: T) -> Self {
129 let inner = tonic::client::Grpc::new(inner);
130 Self { inner }
131 }
132 pub fn with_origin(inner: T, origin: Uri) -> Self {
133 let inner = tonic::client::Grpc::with_origin(inner, origin);
134 Self { inner }
135 }
136 pub fn with_interceptor<F>(
137 inner: T,
138 interceptor: F,
139 ) -> VideoFileServiceClient<InterceptedService<T, F>>
140 where
141 F: tonic::service::Interceptor,
142 T::ResponseBody: Default,
143 T: tonic::codegen::Service<
144 http::Request<tonic::body::Body>,
145 Response = http::Response<
146 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
147 >,
148 >,
149 <T as tonic::codegen::Service<
150 http::Request<tonic::body::Body>,
151 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
152 {
153 VideoFileServiceClient::new(InterceptedService::new(inner, interceptor))
154 }
155 #[must_use]
160 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
161 self.inner = self.inner.send_compressed(encoding);
162 self
163 }
164 #[must_use]
166 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
167 self.inner = self.inner.accept_compressed(encoding);
168 self
169 }
170 #[must_use]
174 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
175 self.inner = self.inner.max_decoding_message_size(limit);
176 self
177 }
178 #[must_use]
182 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
183 self.inner = self.inner.max_encoding_message_size(limit);
184 self
185 }
186 pub async fn list_video_file_segment_time_ranges(
187 &mut self,
188 request: impl tonic::IntoRequest<
189 super::ListVideoFileSegmentTimeRangesRequest,
190 >,
191 ) -> std::result::Result<
192 tonic::Response<super::ListVideoFileSegmentTimeRangesResponse>,
193 tonic::Status,
194 > {
195 self.inner
196 .ready()
197 .await
198 .map_err(|e| {
199 tonic::Status::unknown(
200 format!("Service was not ready: {}", e.into()),
201 )
202 })?;
203 let codec = tonic::codec::ProstCodec::default();
204 let path = http::uri::PathAndQuery::from_static(
205 "/nominal.videos.v1.VideoFileService/ListVideoFileSegmentTimeRanges",
206 );
207 let mut req = request.into_request();
208 req.extensions_mut()
209 .insert(
210 GrpcMethod::new(
211 "nominal.videos.v1.VideoFileService",
212 "ListVideoFileSegmentTimeRanges",
213 ),
214 );
215 self.inner.unary(req, path, codec).await
216 }
217 }
218}
219#[derive(Clone, PartialEq, ::prost::Message)]
220pub struct VideoChannelSeries {
221 #[prost(oneof = "video_channel_series::Series", tags = "1, 2")]
222 pub series: ::core::option::Option<video_channel_series::Series>,
223}
224pub mod video_channel_series {
226 #[derive(Clone, PartialEq, ::prost::Oneof)]
227 pub enum Series {
228 #[prost(message, tag = "1")]
229 DataSourceChannel(super::VideoDataSourceChannel),
230 #[prost(message, tag = "2")]
231 AssetChannel(super::VideoAssetChannel),
232 }
233}
234#[derive(Clone, PartialEq, ::prost::Message)]
235pub struct VideoDataSourceChannel {
236 #[prost(string, tag = "1")]
237 pub data_source_rid: ::prost::alloc::string::String,
238 #[prost(string, tag = "2")]
239 pub channel: ::prost::alloc::string::String,
240 #[prost(map = "string, string", tag = "3")]
241 pub tags: ::std::collections::HashMap<
242 ::prost::alloc::string::String,
243 ::prost::alloc::string::String,
244 >,
245}
246#[derive(Clone, PartialEq, ::prost::Message)]
247pub struct VideoAssetChannel {
248 #[prost(string, tag = "1")]
249 pub asset_rid: ::prost::alloc::string::String,
250 #[prost(string, tag = "2")]
251 pub data_scope_name: ::prost::alloc::string::String,
252 #[prost(string, tag = "3")]
253 pub channel: ::prost::alloc::string::String,
254 #[prost(map = "string, string", tag = "4")]
255 pub tags: ::std::collections::HashMap<
256 ::prost::alloc::string::String,
257 ::prost::alloc::string::String,
258 >,
259}
260#[derive(Clone, Copy, PartialEq, ::prost::Message)]
261pub struct VideoChannelSegmentsMetadata {
262 #[prost(int32, tag = "1")]
263 pub frame_count: i32,
264 #[prost(int32, tag = "2")]
265 pub segment_count: i32,
266 #[prost(message, optional, tag = "3")]
267 pub min_absolute_timestamp: ::core::option::Option<
268 super::super::super::google::protobuf::Timestamp,
269 >,
270 #[prost(message, optional, tag = "4")]
271 pub max_absolute_timestamp: ::core::option::Option<
272 super::super::super::google::protobuf::Timestamp,
273 >,
274 #[prost(double, tag = "5")]
275 pub media_duration_seconds: f64,
276 #[prost(double, tag = "6")]
277 pub media_frame_rate: f64,
278}
279#[derive(Clone, PartialEq, ::prost::Message)]
280pub struct VideoChannelDatasetFile {
281 #[prost(string, tag = "1")]
282 pub dataset_file_id: ::prost::alloc::string::String,
283 #[prost(message, optional, tag = "2")]
284 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
285 #[prost(message, optional, tag = "3")]
286 pub end: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
287}
288#[derive(Clone, PartialEq, ::prost::Message)]
289pub struct VideoChannelDatasetFileUpdate {
290 #[prost(string, tag = "1")]
291 pub dataset_file_id: ::prost::alloc::string::String,
292 #[prost(message, optional, tag = "2")]
293 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
294 #[prost(string, optional, tag = "3")]
295 pub name: ::core::option::Option<::prost::alloc::string::String>,
296 #[prost(message, optional, tag = "4")]
297 pub scale_parameter: ::core::option::Option<
298 super::super::ingest::v2::ScaleParameter,
299 >,
300}
301#[derive(Clone, PartialEq, ::prost::Message)]
302pub struct IceServer {
303 #[prost(string, repeated, tag = "1")]
304 pub urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
305 #[prost(string, optional, tag = "2")]
306 pub username: ::core::option::Option<::prost::alloc::string::String>,
307 #[prost(string, optional, tag = "3")]
308 pub credential: ::core::option::Option<::prost::alloc::string::String>,
309}
310#[derive(Clone, PartialEq, ::prost::Message)]
311pub struct WhipPublishEndpoint {
312 #[prost(string, tag = "1")]
313 pub stream_id: ::prost::alloc::string::String,
314 #[prost(string, tag = "2")]
315 pub whip_url: ::prost::alloc::string::String,
316 #[prost(message, repeated, tag = "3")]
317 pub ice_servers: ::prost::alloc::vec::Vec<IceServer>,
318}
319#[derive(Clone, PartialEq, ::prost::Message)]
320pub struct WhepPlaybackEndpoint {
321 #[prost(string, tag = "1")]
322 pub whep_url: ::prost::alloc::string::String,
323 #[prost(message, repeated, tag = "2")]
324 pub ice_servers: ::prost::alloc::vec::Vec<IceServer>,
325 #[prost(string, tag = "3")]
326 pub playback_token: ::prost::alloc::string::String,
327}
328#[derive(Clone, PartialEq, ::prost::Message)]
329pub struct VideoStream {
330 #[prost(string, tag = "1")]
331 pub stream_id: ::prost::alloc::string::String,
332 #[prost(string, optional, tag = "2")]
333 pub video_rid: ::core::option::Option<::prost::alloc::string::String>,
334 #[prost(enumeration = "VideoStreamStatus", tag = "3")]
335 pub status: i32,
336 #[prost(message, optional, tag = "4")]
337 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
338 #[prost(message, optional, tag = "5")]
339 pub end: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
340 #[prost(message, optional, tag = "6")]
341 pub created_at: ::core::option::Option<
342 super::super::super::google::protobuf::Timestamp,
343 >,
344 #[prost(message, optional, tag = "7")]
345 pub updated_at: ::core::option::Option<
346 super::super::super::google::protobuf::Timestamp,
347 >,
348}
349#[derive(Clone, PartialEq, ::prost::Message)]
350pub struct ListChannelSegmentTimeRangesRequest {
351 #[prost(message, optional, tag = "1")]
352 pub channel_series: ::core::option::Option<VideoChannelSeries>,
353 #[prost(message, optional, tag = "2")]
354 pub bounds: ::core::option::Option<TimeBounds>,
355 #[prost(int32, optional, tag = "3")]
356 pub page_size: ::core::option::Option<i32>,
357 #[prost(string, tag = "4")]
358 pub page_token: ::prost::alloc::string::String,
359}
360#[derive(Clone, PartialEq, ::prost::Message)]
361pub struct ListChannelSegmentTimeRangesResponse {
362 #[prost(message, repeated, tag = "1")]
363 pub segment_time_ranges: ::prost::alloc::vec::Vec<SegmentTimeRange>,
364 #[prost(string, tag = "2")]
365 pub next_page_token: ::prost::alloc::string::String,
366}
367#[derive(Clone, PartialEq, ::prost::Message)]
368pub struct GetChannelSegmentsMetadataRequest {
369 #[prost(message, optional, tag = "1")]
370 pub channel_series: ::core::option::Option<VideoChannelSeries>,
371 #[prost(message, optional, tag = "2")]
372 pub bounds: ::core::option::Option<TimeBounds>,
373}
374#[derive(Clone, Copy, PartialEq, ::prost::Message)]
375pub struct GetChannelSegmentsMetadataResponse {
376 #[prost(message, optional, tag = "1")]
377 pub segments_metadata: ::core::option::Option<VideoChannelSegmentsMetadata>,
378}
379#[derive(Clone, PartialEq, ::prost::Message)]
380pub struct GetChannelSegmentByTimestampRequest {
381 #[prost(message, optional, tag = "1")]
382 pub channel_series: ::core::option::Option<VideoChannelSeries>,
383 #[prost(message, optional, tag = "2")]
384 pub timestamp: ::core::option::Option<
385 super::super::super::google::protobuf::Timestamp,
386 >,
387 #[prost(message, optional, tag = "3")]
388 pub view_range_start: ::core::option::Option<
389 super::super::super::google::protobuf::Timestamp,
390 >,
391}
392#[derive(Clone, PartialEq, ::prost::Message)]
393pub struct GetChannelSegmentByTimestampResponse {
394 #[prost(message, optional, tag = "1")]
395 pub segment: ::core::option::Option<Segment>,
396}
397#[derive(Clone, PartialEq, ::prost::Message)]
398pub struct GetChannelSegmentAtOrAfterTimestampRequest {
399 #[prost(message, optional, tag = "1")]
400 pub channel_series: ::core::option::Option<VideoChannelSeries>,
401 #[prost(message, optional, tag = "2")]
402 pub timestamp: ::core::option::Option<
403 super::super::super::google::protobuf::Timestamp,
404 >,
405}
406#[derive(Clone, PartialEq, ::prost::Message)]
407pub struct GetChannelSegmentAtOrAfterTimestampResponse {
408 #[prost(message, optional, tag = "1")]
409 pub segment: ::core::option::Option<Segment>,
410}
411#[derive(Clone, PartialEq, ::prost::Message)]
412pub struct StartChannelStreamRequest {
413 #[prost(message, optional, tag = "1")]
414 pub channel_series: ::core::option::Option<VideoChannelSeries>,
415}
416#[derive(Clone, PartialEq, ::prost::Message)]
417pub struct StartChannelStreamResponse {
418 #[prost(message, optional, tag = "1")]
419 pub stream: ::core::option::Option<VideoStream>,
420 #[prost(message, optional, tag = "2")]
421 pub publish_endpoint: ::core::option::Option<WhipPublishEndpoint>,
422}
423#[derive(Clone, PartialEq, ::prost::Message)]
424pub struct GetChannelStreamPlaybackRequest {
425 #[prost(message, optional, tag = "1")]
426 pub channel_series: ::core::option::Option<VideoChannelSeries>,
427}
428#[derive(Clone, PartialEq, ::prost::Message)]
429pub struct GetChannelStreamPlaybackResponse {
430 #[prost(message, optional, tag = "1")]
431 pub playback_endpoint: ::core::option::Option<WhepPlaybackEndpoint>,
432}
433#[derive(Clone, PartialEq, ::prost::Message)]
434pub struct GetVideoStreamRequest {
435 #[prost(string, tag = "1")]
436 pub video_rid: ::prost::alloc::string::String,
437 #[prost(string, tag = "2")]
438 pub stream_id: ::prost::alloc::string::String,
439}
440#[derive(Clone, PartialEq, ::prost::Message)]
441pub struct GetVideoStreamResponse {
442 #[prost(message, optional, tag = "1")]
443 pub stream: ::core::option::Option<VideoStream>,
444}
445#[derive(Clone, PartialEq, ::prost::Message)]
446pub struct ListChannelStreamsRequest {
447 #[prost(message, optional, tag = "1")]
448 pub channel_series: ::core::option::Option<VideoChannelSeries>,
449 #[prost(message, optional, tag = "2")]
450 pub bounds: ::core::option::Option<TimeBounds>,
451 #[prost(int32, optional, tag = "3")]
452 pub page_size: ::core::option::Option<i32>,
453 #[prost(string, tag = "4")]
454 pub page_token: ::prost::alloc::string::String,
455}
456#[derive(Clone, PartialEq, ::prost::Message)]
457pub struct ListChannelStreamsResponse {
458 #[prost(message, repeated, tag = "1")]
459 pub streams: ::prost::alloc::vec::Vec<VideoStream>,
460 #[prost(string, tag = "2")]
461 pub next_page_token: ::prost::alloc::string::String,
462}
463#[derive(Clone, PartialEq, ::prost::Message)]
464pub struct ListChannelDatasetFilesRequest {
465 #[prost(message, optional, tag = "1")]
466 pub channel_series: ::core::option::Option<VideoChannelSeries>,
467 #[prost(message, optional, tag = "2")]
468 pub bounds: ::core::option::Option<TimeBounds>,
469 #[prost(int32, optional, tag = "3")]
470 pub page_size: ::core::option::Option<i32>,
471 #[prost(string, tag = "4")]
472 pub page_token: ::prost::alloc::string::String,
473}
474#[derive(Clone, PartialEq, ::prost::Message)]
475pub struct ListChannelDatasetFilesResponse {
476 #[prost(message, repeated, tag = "1")]
477 pub dataset_files: ::prost::alloc::vec::Vec<VideoChannelDatasetFile>,
478 #[prost(string, tag = "2")]
479 pub next_page_token: ::prost::alloc::string::String,
480}
481#[derive(Clone, PartialEq, ::prost::Message)]
482pub struct BatchUpdateChannelDatasetFilesRequest {
483 #[prost(message, repeated, tag = "3")]
484 pub updates: ::prost::alloc::vec::Vec<VideoChannelDatasetFileUpdate>,
485 #[prost(
486 oneof = "batch_update_channel_dataset_files_request::FileScope",
487 tags = "1, 2"
488 )]
489 pub file_scope: ::core::option::Option<
490 batch_update_channel_dataset_files_request::FileScope,
491 >,
492}
493pub mod batch_update_channel_dataset_files_request {
495 #[derive(Clone, PartialEq, ::prost::Oneof)]
496 pub enum FileScope {
497 #[prost(string, tag = "1")]
498 DatasetRid(::prost::alloc::string::String),
499 #[prost(message, tag = "2")]
500 ChannelSeries(super::VideoChannelSeries),
501 }
502}
503#[derive(Clone, PartialEq, ::prost::Message)]
504pub struct BatchUpdateChannelDatasetFilesResponse {
505 #[prost(message, repeated, tag = "1")]
506 pub dataset_files: ::prost::alloc::vec::Vec<VideoChannelDatasetFile>,
507}
508#[derive(Clone, PartialEq, ::prost::Message)]
509pub struct EndChannelStreamRequest {
510 #[prost(message, optional, tag = "1")]
511 pub channel_series: ::core::option::Option<VideoChannelSeries>,
512}
513#[derive(Clone, PartialEq, ::prost::Message)]
514pub struct EndChannelStreamResponse {
515 #[prost(message, optional, tag = "1")]
516 pub stream: ::core::option::Option<VideoStream>,
517}
518#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
519#[repr(i32)]
520pub enum VideoStreamStatus {
521 Unspecified = 0,
522 Active = 1,
523 Ended = 2,
524}
525impl VideoStreamStatus {
526 pub fn as_str_name(&self) -> &'static str {
531 match self {
532 Self::Unspecified => "VIDEO_STREAM_STATUS_UNSPECIFIED",
533 Self::Active => "VIDEO_STREAM_STATUS_ACTIVE",
534 Self::Ended => "VIDEO_STREAM_STATUS_ENDED",
535 }
536 }
537 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
539 match value {
540 "VIDEO_STREAM_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
541 "VIDEO_STREAM_STATUS_ACTIVE" => Some(Self::Active),
542 "VIDEO_STREAM_STATUS_ENDED" => Some(Self::Ended),
543 _ => None,
544 }
545 }
546}
547pub mod video_service_client {
549 #![allow(
550 unused_variables,
551 dead_code,
552 missing_docs,
553 clippy::wildcard_imports,
554 clippy::let_unit_value,
555 )]
556 use tonic::codegen::*;
557 use tonic::codegen::http::Uri;
558 #[derive(Debug, Clone)]
559 pub struct VideoServiceClient<T> {
560 inner: tonic::client::Grpc<T>,
561 }
562 impl VideoServiceClient<tonic::transport::Channel> {
563 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
565 where
566 D: TryInto<tonic::transport::Endpoint>,
567 D::Error: Into<StdError>,
568 {
569 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
570 Ok(Self::new(conn))
571 }
572 }
573 impl<T> VideoServiceClient<T>
574 where
575 T: tonic::client::GrpcService<tonic::body::Body>,
576 T::Error: Into<StdError>,
577 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
578 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
579 {
580 pub fn new(inner: T) -> Self {
581 let inner = tonic::client::Grpc::new(inner);
582 Self { inner }
583 }
584 pub fn with_origin(inner: T, origin: Uri) -> Self {
585 let inner = tonic::client::Grpc::with_origin(inner, origin);
586 Self { inner }
587 }
588 pub fn with_interceptor<F>(
589 inner: T,
590 interceptor: F,
591 ) -> VideoServiceClient<InterceptedService<T, F>>
592 where
593 F: tonic::service::Interceptor,
594 T::ResponseBody: Default,
595 T: tonic::codegen::Service<
596 http::Request<tonic::body::Body>,
597 Response = http::Response<
598 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
599 >,
600 >,
601 <T as tonic::codegen::Service<
602 http::Request<tonic::body::Body>,
603 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
604 {
605 VideoServiceClient::new(InterceptedService::new(inner, interceptor))
606 }
607 #[must_use]
612 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
613 self.inner = self.inner.send_compressed(encoding);
614 self
615 }
616 #[must_use]
618 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
619 self.inner = self.inner.accept_compressed(encoding);
620 self
621 }
622 #[must_use]
626 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
627 self.inner = self.inner.max_decoding_message_size(limit);
628 self
629 }
630 #[must_use]
634 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
635 self.inner = self.inner.max_encoding_message_size(limit);
636 self
637 }
638 pub async fn list_channel_segment_time_ranges(
639 &mut self,
640 request: impl tonic::IntoRequest<super::ListChannelSegmentTimeRangesRequest>,
641 ) -> std::result::Result<
642 tonic::Response<super::ListChannelSegmentTimeRangesResponse>,
643 tonic::Status,
644 > {
645 self.inner
646 .ready()
647 .await
648 .map_err(|e| {
649 tonic::Status::unknown(
650 format!("Service was not ready: {}", e.into()),
651 )
652 })?;
653 let codec = tonic::codec::ProstCodec::default();
654 let path = http::uri::PathAndQuery::from_static(
655 "/nominal.videos.v1.VideoService/ListChannelSegmentTimeRanges",
656 );
657 let mut req = request.into_request();
658 req.extensions_mut()
659 .insert(
660 GrpcMethod::new(
661 "nominal.videos.v1.VideoService",
662 "ListChannelSegmentTimeRanges",
663 ),
664 );
665 self.inner.unary(req, path, codec).await
666 }
667 pub async fn get_channel_segments_metadata(
668 &mut self,
669 request: impl tonic::IntoRequest<super::GetChannelSegmentsMetadataRequest>,
670 ) -> std::result::Result<
671 tonic::Response<super::GetChannelSegmentsMetadataResponse>,
672 tonic::Status,
673 > {
674 self.inner
675 .ready()
676 .await
677 .map_err(|e| {
678 tonic::Status::unknown(
679 format!("Service was not ready: {}", e.into()),
680 )
681 })?;
682 let codec = tonic::codec::ProstCodec::default();
683 let path = http::uri::PathAndQuery::from_static(
684 "/nominal.videos.v1.VideoService/GetChannelSegmentsMetadata",
685 );
686 let mut req = request.into_request();
687 req.extensions_mut()
688 .insert(
689 GrpcMethod::new(
690 "nominal.videos.v1.VideoService",
691 "GetChannelSegmentsMetadata",
692 ),
693 );
694 self.inner.unary(req, path, codec).await
695 }
696 pub async fn get_channel_segment_by_timestamp(
697 &mut self,
698 request: impl tonic::IntoRequest<super::GetChannelSegmentByTimestampRequest>,
699 ) -> std::result::Result<
700 tonic::Response<super::GetChannelSegmentByTimestampResponse>,
701 tonic::Status,
702 > {
703 self.inner
704 .ready()
705 .await
706 .map_err(|e| {
707 tonic::Status::unknown(
708 format!("Service was not ready: {}", e.into()),
709 )
710 })?;
711 let codec = tonic::codec::ProstCodec::default();
712 let path = http::uri::PathAndQuery::from_static(
713 "/nominal.videos.v1.VideoService/GetChannelSegmentByTimestamp",
714 );
715 let mut req = request.into_request();
716 req.extensions_mut()
717 .insert(
718 GrpcMethod::new(
719 "nominal.videos.v1.VideoService",
720 "GetChannelSegmentByTimestamp",
721 ),
722 );
723 self.inner.unary(req, path, codec).await
724 }
725 pub async fn get_channel_segment_at_or_after_timestamp(
726 &mut self,
727 request: impl tonic::IntoRequest<
728 super::GetChannelSegmentAtOrAfterTimestampRequest,
729 >,
730 ) -> std::result::Result<
731 tonic::Response<super::GetChannelSegmentAtOrAfterTimestampResponse>,
732 tonic::Status,
733 > {
734 self.inner
735 .ready()
736 .await
737 .map_err(|e| {
738 tonic::Status::unknown(
739 format!("Service was not ready: {}", e.into()),
740 )
741 })?;
742 let codec = tonic::codec::ProstCodec::default();
743 let path = http::uri::PathAndQuery::from_static(
744 "/nominal.videos.v1.VideoService/GetChannelSegmentAtOrAfterTimestamp",
745 );
746 let mut req = request.into_request();
747 req.extensions_mut()
748 .insert(
749 GrpcMethod::new(
750 "nominal.videos.v1.VideoService",
751 "GetChannelSegmentAtOrAfterTimestamp",
752 ),
753 );
754 self.inner.unary(req, path, codec).await
755 }
756 pub async fn start_channel_stream(
757 &mut self,
758 request: impl tonic::IntoRequest<super::StartChannelStreamRequest>,
759 ) -> std::result::Result<
760 tonic::Response<super::StartChannelStreamResponse>,
761 tonic::Status,
762 > {
763 self.inner
764 .ready()
765 .await
766 .map_err(|e| {
767 tonic::Status::unknown(
768 format!("Service was not ready: {}", e.into()),
769 )
770 })?;
771 let codec = tonic::codec::ProstCodec::default();
772 let path = http::uri::PathAndQuery::from_static(
773 "/nominal.videos.v1.VideoService/StartChannelStream",
774 );
775 let mut req = request.into_request();
776 req.extensions_mut()
777 .insert(
778 GrpcMethod::new(
779 "nominal.videos.v1.VideoService",
780 "StartChannelStream",
781 ),
782 );
783 self.inner.unary(req, path, codec).await
784 }
785 pub async fn get_channel_stream_playback(
786 &mut self,
787 request: impl tonic::IntoRequest<super::GetChannelStreamPlaybackRequest>,
788 ) -> std::result::Result<
789 tonic::Response<super::GetChannelStreamPlaybackResponse>,
790 tonic::Status,
791 > {
792 self.inner
793 .ready()
794 .await
795 .map_err(|e| {
796 tonic::Status::unknown(
797 format!("Service was not ready: {}", e.into()),
798 )
799 })?;
800 let codec = tonic::codec::ProstCodec::default();
801 let path = http::uri::PathAndQuery::from_static(
802 "/nominal.videos.v1.VideoService/GetChannelStreamPlayback",
803 );
804 let mut req = request.into_request();
805 req.extensions_mut()
806 .insert(
807 GrpcMethod::new(
808 "nominal.videos.v1.VideoService",
809 "GetChannelStreamPlayback",
810 ),
811 );
812 self.inner.unary(req, path, codec).await
813 }
814 pub async fn get_video_stream(
815 &mut self,
816 request: impl tonic::IntoRequest<super::GetVideoStreamRequest>,
817 ) -> std::result::Result<
818 tonic::Response<super::GetVideoStreamResponse>,
819 tonic::Status,
820 > {
821 self.inner
822 .ready()
823 .await
824 .map_err(|e| {
825 tonic::Status::unknown(
826 format!("Service was not ready: {}", e.into()),
827 )
828 })?;
829 let codec = tonic::codec::ProstCodec::default();
830 let path = http::uri::PathAndQuery::from_static(
831 "/nominal.videos.v1.VideoService/GetVideoStream",
832 );
833 let mut req = request.into_request();
834 req.extensions_mut()
835 .insert(
836 GrpcMethod::new("nominal.videos.v1.VideoService", "GetVideoStream"),
837 );
838 self.inner.unary(req, path, codec).await
839 }
840 pub async fn list_channel_streams(
841 &mut self,
842 request: impl tonic::IntoRequest<super::ListChannelStreamsRequest>,
843 ) -> std::result::Result<
844 tonic::Response<super::ListChannelStreamsResponse>,
845 tonic::Status,
846 > {
847 self.inner
848 .ready()
849 .await
850 .map_err(|e| {
851 tonic::Status::unknown(
852 format!("Service was not ready: {}", e.into()),
853 )
854 })?;
855 let codec = tonic::codec::ProstCodec::default();
856 let path = http::uri::PathAndQuery::from_static(
857 "/nominal.videos.v1.VideoService/ListChannelStreams",
858 );
859 let mut req = request.into_request();
860 req.extensions_mut()
861 .insert(
862 GrpcMethod::new(
863 "nominal.videos.v1.VideoService",
864 "ListChannelStreams",
865 ),
866 );
867 self.inner.unary(req, path, codec).await
868 }
869 pub async fn list_channel_dataset_files(
870 &mut self,
871 request: impl tonic::IntoRequest<super::ListChannelDatasetFilesRequest>,
872 ) -> std::result::Result<
873 tonic::Response<super::ListChannelDatasetFilesResponse>,
874 tonic::Status,
875 > {
876 self.inner
877 .ready()
878 .await
879 .map_err(|e| {
880 tonic::Status::unknown(
881 format!("Service was not ready: {}", e.into()),
882 )
883 })?;
884 let codec = tonic::codec::ProstCodec::default();
885 let path = http::uri::PathAndQuery::from_static(
886 "/nominal.videos.v1.VideoService/ListChannelDatasetFiles",
887 );
888 let mut req = request.into_request();
889 req.extensions_mut()
890 .insert(
891 GrpcMethod::new(
892 "nominal.videos.v1.VideoService",
893 "ListChannelDatasetFiles",
894 ),
895 );
896 self.inner.unary(req, path, codec).await
897 }
898 pub async fn batch_update_channel_dataset_files(
899 &mut self,
900 request: impl tonic::IntoRequest<
901 super::BatchUpdateChannelDatasetFilesRequest,
902 >,
903 ) -> std::result::Result<
904 tonic::Response<super::BatchUpdateChannelDatasetFilesResponse>,
905 tonic::Status,
906 > {
907 self.inner
908 .ready()
909 .await
910 .map_err(|e| {
911 tonic::Status::unknown(
912 format!("Service was not ready: {}", e.into()),
913 )
914 })?;
915 let codec = tonic::codec::ProstCodec::default();
916 let path = http::uri::PathAndQuery::from_static(
917 "/nominal.videos.v1.VideoService/BatchUpdateChannelDatasetFiles",
918 );
919 let mut req = request.into_request();
920 req.extensions_mut()
921 .insert(
922 GrpcMethod::new(
923 "nominal.videos.v1.VideoService",
924 "BatchUpdateChannelDatasetFiles",
925 ),
926 );
927 self.inner.unary(req, path, codec).await
928 }
929 pub async fn end_channel_stream(
930 &mut self,
931 request: impl tonic::IntoRequest<super::EndChannelStreamRequest>,
932 ) -> std::result::Result<
933 tonic::Response<super::EndChannelStreamResponse>,
934 tonic::Status,
935 > {
936 self.inner
937 .ready()
938 .await
939 .map_err(|e| {
940 tonic::Status::unknown(
941 format!("Service was not ready: {}", e.into()),
942 )
943 })?;
944 let codec = tonic::codec::ProstCodec::default();
945 let path = http::uri::PathAndQuery::from_static(
946 "/nominal.videos.v1.VideoService/EndChannelStream",
947 );
948 let mut req = request.into_request();
949 req.extensions_mut()
950 .insert(
951 GrpcMethod::new("nominal.videos.v1.VideoService", "EndChannelStream"),
952 );
953 self.inner.unary(req, path, codec).await
954 }
955 }
956}