shaka-packager/packager/media/base/muxer_options.h

58 lines
1.7 KiB
C++

// Copyright 2014 Google Inc. All rights reserved.
//
// 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
#ifndef PACKAGER_MEDIA_BASE_MUXER_OPTIONS_H_
#define PACKAGER_MEDIA_BASE_MUXER_OPTIONS_H_
#include <stdint.h>
#include <string>
#include "packager/media/public/mp4_output_params.h"
namespace shaka {
namespace media {
/// This structure contains the list of configuration options for Muxer.
struct MuxerOptions {
MuxerOptions();
~MuxerOptions();
/// MP4 (ISO-BMFF) specific parameters.
Mp4OutputParams mp4_params;
// A positive value, in milliseconds, by which output timestamps are offset to
// compensate for negative timestamps in the input.
uint32_t transport_stream_timestamp_offset_ms = 0;
/// Output file name. If segment_template is not specified, the Muxer
/// generates this single output file with all segments concatenated;
/// Otherwise, it specifies the init segment name.
std::string output_file_name;
/// Specify output segment name pattern for generated segments. It can
/// furthermore be configured by using a subset of the SegmentTemplate
/// identifiers: $RepresentationID$, $Number$, $Bandwidth$ and $Time.
/// Optional.
std::string segment_template;
/// Specify temporary directory for intermediate files.
std::string temp_dir;
/// User-specified bit rate for the media stream. If zero, the muxer will
/// attempt to estimate.
uint32_t bandwidth = 0;
/// Used as Representation id for template based url construction using
/// $RepresentationID$.
std::string rep_id;
};
} // namespace media
} // namespace shaka
#endif // PACKAGER_MEDIA_BASE_MUXER_OPTIONS_H_