Skip to main content

LocalAsyncVideoServiceClient

Struct LocalAsyncVideoServiceClient 

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

Trait Implementations§

Source§

impl<C> AsyncService<C> for LocalAsyncVideoServiceClient<C>

Source§

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

Creates a new service wrapping an async HTTP client.
Source§

impl<C: Clone> Clone for LocalAsyncVideoServiceClient<C>

Source§

fn clone(&self) -> LocalAsyncVideoServiceClient<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 LocalAsyncVideoServiceClient<C>

Source§

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

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

impl<O, I: Stream<Item = Result<Bytes, Error>>, __C> LocalAsyncVideoService<O, I> for LocalAsyncVideoServiceClient<__C>
where __C: LocalAsyncClient<BodyWriter = O, ResponseBody = I>,

Source§

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

Returns video metadata associated with a video rid.
Source§

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

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

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

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

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

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

async 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§

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

Source§

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

Source§

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

Source§

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

Source§

async 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§

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

Unarchives a previously archived video.
Source§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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§

async 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 LocalAsyncWriteBody<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§

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