mpd_builder build target fix

This can compile the static library.

Change-Id: Iec108b9b94dbfd5f1de09434403763d59b89b535
This commit is contained in:
Rintaro Kuroiwa 2013-12-17 15:08:14 -08:00
parent 069a4923d5
commit 65a3a69646
4 changed files with 30 additions and 16 deletions

View File

@ -279,7 +279,7 @@ xml::ScopedXmlPtr<xmlNode>::type Representation::GetXml() {
// Two 'Mandatory' fields for Representation. // Two 'Mandatory' fields for Representation.
representation.SetId(id_); representation.SetId(id_);
representation.SetNumberAttribute("bandwidth", media_info_.bandwidth()); representation.SetIntegerAttribute("bandwidth", media_info_.bandwidth());
const bool has_video_info = media_info_.video_info_size() > 0; const bool has_video_info = media_info_.video_info_size() > 0;
const bool has_audio_info = media_info_.audio_info_size() > 0; const bool has_audio_info = media_info_.audio_info_size() > 0;

View File

@ -34,12 +34,14 @@ namespace dash_packager {
bool HasVODOnlyFields(const MediaInfo& media_info) { bool HasVODOnlyFields(const MediaInfo& media_info) {
return media_info.has_init_range() || media_info.has_index_range() || return media_info.has_init_range() || media_info.has_index_range() ||
media_info.has_media_file_name() || media_info.has_media_duration(); media_info.has_media_file_name() ||
media_info.has_media_duration_seconds();
} }
bool HasLiveOnlyFields(const MediaInfo& media_info) { bool HasLiveOnlyFields(const MediaInfo& media_info) {
return media_info.has_init_segment_name() || return media_info.has_init_segment_name() ||
media_info.has_segment_template() || media_info.has_segment_duration(); media_info.has_segment_template() ||
media_info.has_segment_duration_seconds();
} }
void RemoveDuplicateAttributes( void RemoveDuplicateAttributes(

View File

@ -45,7 +45,7 @@ void XmlNode::SetStringAttribute(const char* attribute_name,
xmlNewProp(node_.get(), BAD_CAST attribute_name, BAD_CAST attribute.c_str()); xmlNewProp(node_.get(), BAD_CAST attribute_name, BAD_CAST attribute.c_str());
} }
void XmlNode::SetNumberAttribute(const char* attribute_name, uint64 number) { void XmlNode::SetIntegerAttribute(const char* attribute_name, uint64 number) {
DCHECK(node_); DCHECK(node_);
DCHECK(attribute_name); DCHECK(attribute_name);
xmlNewProp(node_.get(), xmlNewProp(node_.get(),
@ -53,8 +53,17 @@ void XmlNode::SetNumberAttribute(const char* attribute_name, uint64 number) {
BAD_CAST (base::Uint64ToString(number).c_str())); BAD_CAST (base::Uint64ToString(number).c_str()));
} }
void XmlNode::SetFloatingPointAttribute(const char* attribute_name,
double number) {
DCHECK(node_);
DCHECK(attribute_name);
xmlNewProp(node_.get(),
BAD_CAST attribute_name,
BAD_CAST (base::DoubleToString(number).c_str()));
}
void XmlNode::SetId(uint32 id) { void XmlNode::SetId(uint32 id) {
SetNumberAttribute("id", id); SetIntegerAttribute("id", id);
} }
void XmlNode::SetContent(const std::string& content) { void XmlNode::SetContent(const std::string& content) {
@ -152,10 +161,10 @@ bool RepresentationXmlNode::AddVideoInfo(
} }
if (width != 0) if (width != 0)
SetNumberAttribute("width", width); SetIntegerAttribute("width", width);
if (height != 0) if (height != 0)
SetNumberAttribute("height", height); SetIntegerAttribute("height", height);
return true; return true;
} }
@ -175,8 +184,8 @@ bool RepresentationXmlNode::AddAudioInfo(
// classes should do this or maybe in this class. // classes should do this or maybe in this class.
bool RepresentationXmlNode::AddVODOnlyInfo(const MediaInfo& media_info) { bool RepresentationXmlNode::AddVODOnlyInfo(const MediaInfo& media_info) {
const bool need_segment_base = media_info.has_index_range() || const bool need_segment_base = media_info.has_index_range() ||
media_info.has_time_scale() || media_info.has_init_range() ||
media_info.has_init_range(); media_info.has_reference_time_scale();
if (need_segment_base) { if (need_segment_base) {
XmlNode segment_base("SegmentBase"); XmlNode segment_base("SegmentBase");
@ -185,8 +194,10 @@ bool RepresentationXmlNode::AddVODOnlyInfo(const MediaInfo& media_info) {
RangeToString(media_info.index_range())); RangeToString(media_info.index_range()));
} }
if (media_info.has_time_scale()) if (media_info.has_reference_time_scale()) {
segment_base.SetNumberAttribute("timescale", media_info.time_scale()); segment_base.SetIntegerAttribute("timescale",
media_info.reference_time_scale());
}
if (media_info.has_init_range()) { if (media_info.has_init_range()) {
XmlNode initialization("Initialization"); XmlNode initialization("Initialization");
@ -209,10 +220,10 @@ bool RepresentationXmlNode::AddVODOnlyInfo(const MediaInfo& media_info) {
return false; return false;
} }
if (media_info.has_media_duration()) { if (media_info.has_media_duration_seconds()) {
// Adding 'duration' attribute, so that this information can be used when // Adding 'duration' attribute, so that this information can be used when
// generating one MPD file. This should be removed from the final MPD. // generating one MPD file. This should be removed from the final MPD.
SetNumberAttribute("duration", media_info.media_duration()); SetFloatingPointAttribute("duration", media_info.media_duration_seconds());
} }
return true; return true;
@ -236,7 +247,7 @@ bool RepresentationXmlNode::AddAudioChannelInfo(
"urn:mpeg:dash:23003:3:audio_channel_configuration:2011"; "urn:mpeg:dash:23003:3:audio_channel_configuration:2011";
audio_channel_config.SetStringAttribute("schemeIdUri", audio_channel_config.SetStringAttribute("schemeIdUri",
kAudioChannelConfigScheme); kAudioChannelConfigScheme);
audio_channel_config.SetNumberAttribute("value", *num_channels_it); audio_channel_config.SetIntegerAttribute("value", *num_channels_it);
if (!AddChild(audio_channel_config.PassScopedPtr())) if (!AddChild(audio_channel_config.PassScopedPtr()))
return false; return false;
@ -268,7 +279,7 @@ void RepresentationXmlNode::AddAudioSamplingRateInfo(
if (has_sampling_frequency) { if (has_sampling_frequency) {
if (min_sampling_frequency == max_sampling_frequency) { if (min_sampling_frequency == max_sampling_frequency) {
SetNumberAttribute("audioSamplingRate", min_sampling_frequency); SetIntegerAttribute("audioSamplingRate", min_sampling_frequency);
} else { } else {
std::string sample_rate_string = std::string sample_rate_string =
base::UintToString(min_sampling_frequency) + " " + base::UintToString(min_sampling_frequency) + " " +

View File

@ -30,7 +30,8 @@ class XmlNode {
void SetStringAttribute(const char* attribute_name, void SetStringAttribute(const char* attribute_name,
const std::string& attribute); const std::string& attribute);
void SetNumberAttribute(const char* attribute_name, uint64 number); void SetIntegerAttribute(const char* attribute_name, uint64 number);
void SetFloatingPointAttribute(const char* attribute_name, double number);
void SetId(uint32 id); void SetId(uint32 id);