Struct google_api_proto::google::cloud::video::livestream::v1::Manifest
source · pub struct Manifest {
pub file_name: String,
pub type: i32,
pub mux_streams: Vec<String>,
pub max_segment_count: i32,
pub segment_keep_duration: Option<Duration>,
pub use_timecode_as_timeline: bool,
pub key: String,
}
Expand description
Manifest configuration.
Fields§
§file_name: String
The name of the generated file. The default is manifest
with the
extension suffix corresponding to the Manifest
[type][google.cloud.video.livestream.v1.Manifest.type]. If multiple
manifests are added to the channel, each must have a unique file name.
type: i32
Required. Type of the manifest, can be HLS
or DASH
.
mux_streams: Vec<String>
Required. List of MuxStream
[key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear
in this manifest.
- For HLS, either
fmp4
orts
mux streams can be specified but not mixed. - For DASH, only
fmp4
mux streams can be specified.
max_segment_count: i32
Maximum number of segments that this manifest holds. Once the manifest reaches this maximum number of segments, whenever a new segment is added to the manifest, the oldest segment will be removed from the manifest. The minimum value is 3 and the default value is 5.
segment_keep_duration: Option<Duration>
How long to keep a segment on the output Google Cloud Storage bucket after
it is removed from the manifest. This field should be large enough to cover
the manifest propagation delay. Otherwise, a player could receive 404
errors while accessing segments which are listed in the manifest that the
player has, but were already deleted from the output Google Cloud Storage
bucket. Default value is 60s
.
If both segment_keep_duration and [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration] are set, [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration] is used and segment_keep_duration is ignored.
use_timecode_as_timeline: bool
Whether to use the timecode, as specified in timecode config, when setting:
availabilityStartTime
attribute in DASH manifests.#EXT-X-PROGRAM-DATE-TIME
tag in HLS manifests.
If false, ignore the input timecode and use the time from system clock when the manifest is first generated. This is the default behavior.
key: String
Optional. A unique key for this manifest.
Implementations§
source§impl Manifest
impl Manifest
sourcepub fn type(&self) -> ManifestType
pub fn type(&self) -> ManifestType
Returns the enum value of type
, or the default if the field is set to an invalid enum value.
sourcepub fn set_type(&mut self, value: ManifestType)
pub fn set_type(&mut self, value: ManifestType)
Sets type
to the provided enum value.
Trait Implementations§
source§impl Message for Manifest
impl Message for Manifest
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for Manifest
impl PartialEq for Manifest
impl StructuralPartialEq for Manifest
Auto Trait Implementations§
impl Freeze for Manifest
impl RefUnwindSafe for Manifest
impl Send for Manifest
impl Sync for Manifest
impl Unpin for Manifest
impl UnwindSafe for Manifest
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request