Use <stdint.h> rather than "base/basictypes.h".
This is a follow up to previous CL.
Also get rid of ku?intxx(min|max) and use std::numeric_limits as per
base/basictypes.h, it is DEPRECATED too.
The change was made using the below commands with some adjustments like
include order etc:
> find {media,app,mpd} -type f -exec sed -r -i
's/"base\/basictypes.h"/<stdint.h>/' {} \;
> find {media,app,mpd} -type f -exec sed -r -i
's/k(u?int[0-9]+)(min|max)/std::numeric_limits<\1_t>::\2\(\)/g' {} \;
Change-Id: I6347723989c3d66e64ffcc54123b5c182b8c71b7
u?int(8|16|32|64) are DEPRECATED per base/basictypes.h.
The change was made using the below commands with some adjustments for
pretty formatting:
> find {media,app,mpd} -name '*.proto' -prune -o -type f -exec sed -r -i
's/\b(u?int[0-9]+)\b/\1_t/g' {} \;
> git clang-format
Change-Id: I99d2e5e0fbbdbc5d7b9eb121b4622de780413f53
For mpd codes, rename dash_packager to edash_packager; for media codes,
add namespace edash_packager.
Change-Id: I1120e6110c734cd02bdbe15f1cf7abddcdfdd7ea
There are two different problems:
1. int64/uint64 formatting: %lu formats unsigned long. However, the
definition of long is different on 32-bit machine and 64-bit machine.
We need to use a macro to format int64/uint64 correctly.
2. The packager target is dependent on openssl.
Change-Id: I5d51a500c3cb8bcd4b4049ab7ec5a985ac486a76
- Only Segments with end time in range [NOW - timeShiftBufferDepth, NOW] get
listed as S elements under TemplateTimeline element. Any old segments
do not get listed.
- Also adding tests
Change-Id: I52df9acaec107610757d809ac6c9cb13592d6f37
Add BandwidthEstimator to estimate the required bandwidth for the
segments.
Also includes unit test for the change.
Change-Id: I28262424e2ed6ceebdf81e2b11dcd67feba1d68c
XML compare function for comparing a subset of MPD or the whole MPD.
The children must appear in the same order but the order of attributes
do not matter.
Change existing tests to use XmlEqual() instead of string comparison.
Change-Id: Ib7f80f52b5bed5b5f7c2517620c8955261a4b6a2
The warnings and warnings-as-errors are enabled by set chromium_code to
1. Chromium build disables warnings and warnings-as-errors by default
on external contents.
And fix the errors with them enabled. Mostly defined but not used,
sign-unsign comparison, unsigned string formatting, and return value not
used etc.
Change-Id: I305b63924955a84172e98e0ebfe5aba0f11bdb37
Some TODOs remain but are replaced with word NOTE instead. Some TODOs
are turned into bugs.
The patch are prepared using script:
find . -regex ".*/\(app\|media\|mpd\)/.*\.\(cc\|h\|gyp\)" \
-exec sed -i "/TODO/d" {} \;
(remove the line containing TODO) with some post editing.
Change-Id: I6dd3539cce2bbeefee32d6307f78c13aacb94d1b
The change is made using command:
find . -regex ".*/\(app\|media\|mpd\)/.*\.\(cc\|h\|gyp\)" -exec sed -i
's,TODO(\w\+),TODO,g' {} \;
Then scan through the files and reformat them properly.
Change-Id: I13836cde38b9e30daf1fd8a847e203337f883e1b
AudioChannelConfig should appear before ContentProtection in
Representation.
Enabled tests which covers this case.
Bug: 13227181
Change-Id: I0f4e913304ad982761a9296aa95d30200f6314d2
The tests are similar because MpdWriter uses MpdBuilder.
Also changing tests and enabling them in mpd_builder_unittest.cc.
Change-Id: I76a8cfca27c390a039de765231c76d083c3ca26b
The information is generated by Edwin's copyright.py script with some
minor manual modifications.
Chromium's original copyright notice is not replaced.
Also add LICENSE file taken from
https://sites.google.com/a/google.com/ospo/releasing#TOC-BSD-License
Change-Id: I231f09af96a0a611b1ca81e95cab82e12d7f529b
It assumed that the first element is Period but it could be a BaseURL
which caused a DCHECK crash.
Change-Id: I75bdafdd312bfbcdf81cc76b44f8e2d0f1542976
The order affects the output. Even though XML does not care about the
order of subelements, it makes more sense for BaseURL element to appear
above SegmentBase.
Change-Id: Idd1e73446be84640828358ef4d7a74688428f6b5
Added functions to add MediaInfo::ContentProtectionXml to
RepresentationBaseXmlNode. This allows adding ContentProtection elements
using MediaInfo protobuf.
Change-Id: I46aa97ba8cbf1548388ebbb61ac163786dfa0be8
TextFormat class methods that output human readable messsages need
Message instance where LITE uses MessageLite.
Change-Id: I4ff14aa9334acdad608f0b02c81d9cb765e70a60
Work on some TODOs.
Mandatory mimeType field was missing from Representation.
All duration in the MPD is now float.
Change-Id: I85b8511bc1c43759d80f831bee371c398895cf39
Because we need to have all meta info in the MediaInfo protobuf, we need
full 'ContentProtection' element.
Change-Id: I714ff5b8d7baa2ae0d169a59005210a63da315b5
Presentation time format is PT<number>S.
All seconds to XML duration uses SecondToXmlDuration now.
Change-Id: I3afcda9820fc968b35cfb929e0c7de4e2d91f9a2