2023-12-01 17:32:19 +00:00
|
|
|
// Copyright 2017 Google LLC. All rights reserved.
|
2017-08-18 18:57:34 +00:00
|
|
|
//
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file or at
|
|
|
|
// https://developers.google.com/open-source/licenses/bsd
|
|
|
|
|
2023-12-01 17:32:19 +00:00
|
|
|
#ifndef PACKAGER_PUBLIC_MP4_OUTPUT_PARAMS_H_
|
|
|
|
#define PACKAGER_PUBLIC_MP4_OUTPUT_PARAMS_H_
|
2017-08-18 18:57:34 +00:00
|
|
|
|
|
|
|
namespace shaka {
|
|
|
|
|
|
|
|
/// MP4 (ISO-BMFF) output related parameters.
|
|
|
|
struct Mp4OutputParams {
|
2018-06-15 18:59:02 +00:00
|
|
|
/// Include pssh in the encrypted stream. CMAF and DASH-IF recommends carrying
|
|
|
|
/// license acquisition information in the manifest and not duplicate the
|
|
|
|
/// information in the stream. (This is not a hard requirement so we are still
|
|
|
|
/// CMAF compatible even if pssh is included in the stream.)
|
2017-08-18 18:57:34 +00:00
|
|
|
bool include_pssh_in_stream = true;
|
2018-06-15 18:59:02 +00:00
|
|
|
/// Indicates whether a 'sidx' box should be generated in the media segments.
|
|
|
|
/// Note that it is required by spec if segment_template contains $Times$
|
|
|
|
/// specifier.
|
|
|
|
bool generate_sidx_in_media_segments = true;
|
2021-08-25 15:38:05 +00:00
|
|
|
/// Enable LL-DASH streaming.
|
|
|
|
/// Each segment constists of many fragments, and each fragment contains one
|
|
|
|
/// chunk. A chunk is the smallest unit and is constructed of a single moof
|
|
|
|
/// and mdat atom. Each chunk is uploaded immediately upon creation,
|
|
|
|
/// decoupling latency from segment duration.
|
|
|
|
bool low_latency_dash_mode = false;
|
2017-08-18 18:57:34 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace shaka
|
|
|
|
|
2023-12-01 17:32:19 +00:00
|
|
|
#endif // PACKAGER_PUBLIC_MP4_OUTPUT_PARAMS_H_
|