move mpd_options to its own file
Also always generates sidx box for segments for now. Change-Id: I61f71ebd281195b737902b57557a345c8e0b0c66
This commit is contained in:
parent
2d3927e7cb
commit
7798a1b845
|
@ -64,6 +64,7 @@ void BufferWriter::AppendBuffer(const BufferWriter& buffer) {
|
||||||
|
|
||||||
Status BufferWriter::WriteToFile(File* file) {
|
Status BufferWriter::WriteToFile(File* file) {
|
||||||
DCHECK(file);
|
DCHECK(file);
|
||||||
|
DCHECK(!buf_.empty());
|
||||||
|
|
||||||
size_t remaining_size = buf_.size();
|
size_t remaining_size = buf_.size();
|
||||||
const uint8_t* buf = &buf_[0];
|
const uint8_t* buf = &buf_[0];
|
||||||
|
|
|
@ -39,7 +39,7 @@ void OffsetByteQueue::Pop(int count) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void OffsetByteQueue::PeekAt(int64_t offset, const uint8_t** buf, int* size) {
|
void OffsetByteQueue::PeekAt(int64_t offset, const uint8_t** buf, int* size) {
|
||||||
DCHECK(offset >= head());
|
DCHECK_GE(offset, head());
|
||||||
if (offset < head() || offset >= tail()) {
|
if (offset < head() || offset >= tail()) {
|
||||||
*buf = NULL;
|
*buf = NULL;
|
||||||
*size = 0;
|
*size = 0;
|
||||||
|
|
|
@ -159,9 +159,8 @@ Status MultiSegmentSegmenter::WriteSegment() {
|
||||||
styp_->Write(buffer.get());
|
styp_->Write(buffer.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate sidx box only if |num_subsegments_per_sidx| is non-negative and
|
// If num_subsegments_per_sidx is negative, no SIDX box is generated.
|
||||||
// the box contains multiple entries.
|
if (options().num_subsegments_per_sidx >= 0)
|
||||||
if (options().num_subsegments_per_sidx >= 0 && sidx()->references.size() > 1)
|
|
||||||
sidx()->Write(buffer.get());
|
sidx()->Write(buffer.get());
|
||||||
|
|
||||||
const size_t segment_size = buffer->Size() + fragment_buffer()->Size();
|
const size_t segment_size = buffer->Size() + fragment_buffer()->Size();
|
||||||
|
|
|
@ -183,16 +183,6 @@ bool WriteXmlCharArrayToOutput(xmlChar* doc,
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
MpdOptions::MpdOptions()
|
|
||||||
: availability_time_offset(0),
|
|
||||||
minimum_update_period(0),
|
|
||||||
// TODO(tinskip): Set min_buffer_time in unit tests rather than here.
|
|
||||||
min_buffer_time(2.0),
|
|
||||||
time_shift_buffer_depth(0),
|
|
||||||
suggested_presentation_delay(0) {}
|
|
||||||
|
|
||||||
MpdOptions::~MpdOptions() {}
|
|
||||||
|
|
||||||
MpdBuilder::MpdBuilder(MpdType type, const MpdOptions& mpd_options)
|
MpdBuilder::MpdBuilder(MpdType type, const MpdOptions& mpd_options)
|
||||||
: type_(type),
|
: type_(type),
|
||||||
mpd_options_(mpd_options),
|
mpd_options_(mpd_options),
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include "packager/mpd/base/bandwidth_estimator.h"
|
#include "packager/mpd/base/bandwidth_estimator.h"
|
||||||
#include "packager/mpd/base/content_protection_element.h"
|
#include "packager/mpd/base/content_protection_element.h"
|
||||||
#include "packager/mpd/base/media_info.pb.h"
|
#include "packager/mpd/base/media_info.pb.h"
|
||||||
|
#include "packager/mpd/base/mpd_options.h"
|
||||||
#include "packager/mpd/base/mpd_utils.h"
|
#include "packager/mpd/base/mpd_utils.h"
|
||||||
#include "packager/mpd/base/segment_info.h"
|
#include "packager/mpd/base/segment_info.h"
|
||||||
#include "packager/mpd/base/xml/scoped_xml_ptr.h"
|
#include "packager/mpd/base/xml/scoped_xml_ptr.h"
|
||||||
|
@ -45,17 +46,6 @@ class RepresentationXmlNode;
|
||||||
|
|
||||||
} // namespace xml
|
} // namespace xml
|
||||||
|
|
||||||
struct MpdOptions {
|
|
||||||
MpdOptions();
|
|
||||||
~MpdOptions();
|
|
||||||
|
|
||||||
double availability_time_offset;
|
|
||||||
double minimum_update_period;
|
|
||||||
double min_buffer_time;
|
|
||||||
double time_shift_buffer_depth;
|
|
||||||
double suggested_presentation_delay;
|
|
||||||
};
|
|
||||||
|
|
||||||
/// This class generates DASH MPDs (Media Presentation Descriptions).
|
/// This class generates DASH MPDs (Media Presentation Descriptions).
|
||||||
class MpdBuilder {
|
class MpdBuilder {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
// 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 MPD_BASE_MPD_OPTIONS_H_
|
||||||
|
#define MPD_BASE_MPD_OPTIONS_H_
|
||||||
|
|
||||||
|
namespace edash_packager {
|
||||||
|
|
||||||
|
/// Defines Mpd Options.
|
||||||
|
struct MpdOptions {
|
||||||
|
MpdOptions()
|
||||||
|
: availability_time_offset(0),
|
||||||
|
minimum_update_period(0),
|
||||||
|
// TODO(tinskip): Set min_buffer_time in unit tests rather than here.
|
||||||
|
min_buffer_time(2.0),
|
||||||
|
time_shift_buffer_depth(0),
|
||||||
|
suggested_presentation_delay(0) {}
|
||||||
|
|
||||||
|
~MpdOptions() {};
|
||||||
|
|
||||||
|
double availability_time_offset;
|
||||||
|
double minimum_update_period;
|
||||||
|
double min_buffer_time;
|
||||||
|
double time_shift_buffer_depth;
|
||||||
|
double suggested_presentation_delay;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace edash_packager
|
||||||
|
|
||||||
|
#endif // MPD_BASE_MPD_OPTIONS_H_
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
'base/mpd_builder.cc',
|
'base/mpd_builder.cc',
|
||||||
'base/mpd_builder.h',
|
'base/mpd_builder.h',
|
||||||
'base/mpd_notifier.h',
|
'base/mpd_notifier.h',
|
||||||
|
'base/mpd_options.h',
|
||||||
'base/mpd_utils.cc',
|
'base/mpd_utils.cc',
|
||||||
'base/mpd_utils.h',
|
'base/mpd_utils.h',
|
||||||
'base/segment_info.h',
|
'base/segment_info.h',
|
||||||
|
|
Loading…
Reference in New Issue