Skip to main content

VideoServiceClient

Struct VideoServiceClient 

Source
pub struct VideoServiceClient<C> { /* private fields */ }

Trait Implementations§

Source§

impl<C: Clone> Clone for VideoServiceClient<C>

Source§

fn clone(&self) -> VideoServiceClient<C>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<C: Debug> Debug for VideoServiceClient<C>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<C> Service<C> for VideoServiceClient<C>

Source§

fn new(client: C, runtime: &Arc<ConjureRuntime>) -> Self

Creates a new service wrapping an HTTP client.
Source§

impl<O, I: Iterator<Item = Result<Bytes, Error>>, __C> VideoService<O, I> for VideoServiceClient<__C>
where __C: Client<BodyWriter = O, ResponseBody = I>,

Source§

fn get(&self, auth_: &BearerToken, video_rid: &VideoRid) -> Result<Video, Error>

Returns video metadata associated with a video rid.
Source§

fn batch_get( &self, auth_: &BearerToken, request: &GetVideosRequest, ) -> Result<GetVideosResponse, Error>

Returns video metadata about each video given a set of video rids.
Source§

fn search( &self, auth_: &BearerToken, request: &SearchVideosRequest, ) -> Result<SearchVideosResponse, Error>

Returns metadata about videos that match a given query.
Source§

fn create( &self, auth_: &BearerToken, request: &CreateVideoRequest, ) -> Result<Video, Error>

Creates and persists a video entity with the given metadata.
Source§

fn update_metadata( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &UpdateVideoMetadataRequest, ) -> Result<Video, Error>

Updates the metadata for a video associated with the given video rid.
Source§

fn update_ingest_status( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &UpdateIngestStatus, ) -> Result<(), Error>

Source§

fn get_ingest_status( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<DetailedIngestStatus, Error>

Source§

fn batch_get_ingest_status( &self, auth_: &BearerToken, video_rids: &BTreeSet<VideoRid>, ) -> Result<BTreeMap<VideoRid, DetailedIngestStatus>, Error>

Source§

fn get_enriched_ingest_status( &self, auth_: &BearerToken, request: &GetEnrichedVideoIngestStatusRequest, ) -> Result<Option<EnrichedVideoIngestStatus>, Error>

Source§

fn archive( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<(), Error>

Archives a video, which excludes it from search and hides it from being publicly visible, but does not permanently delete it. Archived videos can be unarchived.
Source§

fn unarchive( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<(), Error>

Unarchives a previously archived video.
Source§

fn get_playlist( &self, auth_: &BearerToken, video_rid: &VideoRid, start: Option<&str>, end: Option<&str>, ) -> Result<I, Error>

Generates an HLS playlist for a video within optional time bounds. Uses GET with query parameters for HLS.js compatibility. The HLS playlist will contain links to all of the segments in the video that overlap with the given bounds, or all segments if no bounds are provided. Read more
Source§

fn get_segment_summaries( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<Vec<SegmentSummary>, Error>

Returns the min and max absolute and media timestamps for each segment in a video. To be used during frame-timestamp mapping.
Source§

fn get_playlist_in_bounds( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &GetPlaylistInBoundsRequest, ) -> Result<I, Error>

Generates an HLS playlist for a video with the given video rid to enable playback within an optional set of bounds. The HLS playlist will contain links to all of the segments in the video that overlap with the given bounds. playlist will be limited to the given bounds.
Source§

fn get_playlist_in_bounds_v2( &self, auth_: &BearerToken, request: &GetPlaylistInBoundsForChannelRequest, ) -> Result<I, Error>

Generates an HLS playlist for a video series (identified by channel + tags) within bounds.
Source§

fn get_playlist_v2( &self, auth_: &BearerToken, data_source_rid: Option<&DataSourceRid>, asset_rid: Option<&AssetRid>, data_scope_name: Option<&str>, channel: &str, tags: Option<&str>, start: &str, end: &str, ) -> Result<I, Error>

Generates an HLS playlist for a video series within time bounds. Specify either dataSourceRid OR (assetRid + dataScopeName) to identify the series source. Read more
Source§

fn get_segment_summaries_in_bounds( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &GetSegmentSummariesInBoundsRequest, ) -> Result<Vec<SegmentSummary>, Error>

Returns the min and max absolute and media timestamps for each segment in a video that overlap with an optional set of bounds.
Source§

fn get_segment_summaries_in_bounds_v2( &self, auth_: &BearerToken, request: &GetSegmentSummariesInBoundsForChannelRequest, ) -> Result<Vec<SegmentSummaryV2>, Error>

Returns the min and max absolute and media timestamps for each segment matching a video series (identified by channel + tags) within the specified bounds.
Source§

fn get_segment_metadata_v2( &self, auth_: &BearerToken, request: &GetSegmentMetadataForChannelRequest, ) -> Result<Option<VideoChannelSegmentsMetadata>, Error>

Returns aggregated segment metadata for a video channel series, including total frames, segment count, min/max timestamps, and average frame rate. Optionally filter by time bounds.
Source§

fn get_segment_by_timestamp_v2( &self, auth_: &BearerToken, request: &GetSegmentByTimestampV2Request, ) -> Result<Option<SegmentV2>, Error>

Returns metadata for the segment within a video series containing the requested absolute timestamp.
Source§

fn get_segment_at_or_after_timestamp( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &GetSegmentAtOrAfterTimestampRequest, ) -> Result<Option<Segment>, Error>

Returns metadata for the segment containing the requested absolute timestamp. If no segment contains the timestamp, returns the closest segment starting after the timestamp. Returns empty if no segment is found at or after the timestamp.
Source§

fn get_file_summaries( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &GetFileSummariesRequest, ) -> Result<GetFileSummariesResponse, Error>

Returns the min and max absolute timestamps from non-archived video files associated with a given video that overlap with an optional set of bounds. The files on the edges of the bounds will be truncated to segments that are inside or overlap with the bounds.
Source§

fn generate_whip_stream( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<GenerateWhipStreamResponse, Error>

Generates a stream ID scoped to a video and returns a WHIP URL with a MediaMTX JWT and ICE servers. Enforces write permission on the video.
Source§

fn generate_whep_stream( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<Option<GenerateWhepStreamResponse>, Error>

Returns WHEP URL, ICE servers, and token for playing back the active stream. Returns empty if there is no active stream. Enforces read permission on the video.
Source§

fn get_stream( &self, auth_: &BearerToken, video_rid: &VideoRid, stream_id: &str, ) -> Result<Option<VideoStream>, Error>

Returns stream session metadata for a given stream ID scoped to the video. Enforces read permission on the video.
Source§

fn get_streams_in_bounds( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &GetStreamsInBoundsRequest, ) -> Result<GetStreamsInBoundsResponse, Error>

Returns all stream sessions for a video that overlap with the specified time bounds. A stream overlaps if there is any intersection between its [start, end] interval and the provided bounds. Enforces read permission on the video.
Source§

fn end_stream( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<EndStreamResponse, Error>

Marks the active stream session as ended for the video. Throws VIDEO_NOT_FOUND if no active stream exists. Enforces write permission on the video.
Source§

fn upload_segment_from_media_mtx( &self, auth_: &BearerToken, stream_path: &str, file_path: &str, duration: &str, min_timestamp_seconds: SafeLong, min_timestamp_nanos: SafeLong, content_length: SafeLong, body: impl WriteBody<O>, ) -> Result<(), Error>

MediaMTX segment upload endpoint. Receives video segments from MediaMTX hooks. Validates JWT and logs session. Future: create video segments from uploaded files.

Auto Trait Implementations§

§

impl<C> Freeze for VideoServiceClient<C>
where C: Freeze,

§

impl<C> !RefUnwindSafe for VideoServiceClient<C>

§

impl<C> Send for VideoServiceClient<C>
where C: Send,

§

impl<C> Sync for VideoServiceClient<C>
where C: Sync,

§

impl<C> Unpin for VideoServiceClient<C>
where C: Unpin,

§

impl<C> UnsafeUnpin for VideoServiceClient<C>
where C: UnsafeUnpin,

§

impl<C> !UnwindSafe for VideoServiceClient<C>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more