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
Renamed EncryptionKeySource and WidevineEncryptionKeySource to KeySource and
WidevineKeySource respectively.
Replaced Initialize method with FetchKeys.
Added unit tests.
content_id parameter is now binary. Specified in command line with hex string.
Change-Id: I8010ca62d036cefb3a7c105e0eefee25bbf06d61
For live streams, we cannot assume that the input decoding timestamp
starts from zero.
Also don't overwrite |normalize_presentation_timestamp| if the user
does not want to enable it for on-demand profile.
Change-Id: I1abe7926e0b25eb11dee021be964d126484d4036
This change also updates the WidevineEncryptionKeySource to be able to support
KeyRotation enabled and disabled requests simultaneously.
Change-Id: I5178cafc0dbabbb64ac9af9969d3bf7d8117a4dd
VodMediaInfoDumpMuxerListener is also changed to manage the file
internally rather than take an opened file pointer. This change
simplifies the caller as the caller does not need to manage the media
info dump files any more.
Change-Id: Id9dcaf367c96ed13603b13b1e3705c687c948b07
Also add support for format tags.
Also change default fragment_duration to 10s, i.e. to have the same
value as --segment_duration. So by default, only one fragment per
(sub)segment is generated.
Change-Id: I21123723c3998b656037a397eb7b58b3d91721bb
The key production thread was started in constructor. The default http
fetcher might have already been used to fetch keys before it is modified
by set_http_fetcher. This could lead to flaky unittest.
Change-Id: I977b6450862d87ffeb5cb219bcd46b33d877e550
MuxerOptions is a struct but was forward declared as class.
This fixes the build when using clang.
Change-Id: I3b99252bc86a71ced27cd12aa2ab828e10a025e5
This CL also includes two related changes:
1. Support serialization of raw PSSH box;
2. Refactor segmenter interface a bit.
Change-Id: I668aa01a5a5ff524ad6fe74976339a3fd499120a
User should not need to care about how and when to call these APIs.
Internal code should call them automatically.
Change-Id: Ibc85a709d4e82ecc7b477986cabf09dcfc2e100c
Rename MP4GeneralSegmenter to MultiSegmentSegmenter and MP4VODSegmenter
to SingleSegmentSegmenter.
Also drop MP4 from MP4Fragmenter and MP4Segmenter.
Change-Id: I5cefb88164516ec3588e0e3333a16f05b6277e7b
Add two new command line arguments: --aes_signing_key for AES signing
key (in hex) and --aes_signing_iv for AES signing iv (in hex). Also
change --signing_key_path to --rsa_signing_key_path.
Bug: 13582970
Change-Id: I66ba330a1a05e0f5def7987ac41d396dc92005ae
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
Remove --audio and --video command line options and replaced with
--stream. User can use --stream=video (default) to pull the first video
track from the source or --stream=audio to pull the first audio track.
The user may also use --stream={stream_id}, 0-based stream id to pull
the stream, e.g. --stream=0 for the first stream.
Change-Id: Ie1f93c2cc80a160a496b1d43ae3a658263d30cfc
Manifest was updated in CL 7debbbe19b158ea7377e229a17ec1d3d9d19d1b8
to point to Chromium LGKR CL 253526.
There are some API refactoring in base, which result in some code
changes in our packager source.
Change-Id: I52bf5a8a4f8fe0ebc566677efcd572332db8f618
The original code used stream_info.is_encrypted() to check whether output
stream is encrypted; However, stream_info contains input stream
information and does not contain output stream infomation, which results
in incorrect status was passed to mpd generator. Fix the problem with
correct information from muxer.
Change on behalf of rkuroiwa after a discussion with him.
Bug: 12994813
Change-Id: I6e74b378a0fd7deedaaac166e913a66d312b8318
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
Some players do not like non-zero starting PTS. We need to do PTS
normalization to make it work on those players.
Bug: 12686658
Change-Id: I0958c25395e4ea87d8208db9a5f6c5816827eb99
I am not sure whether it is a good idea to define command line flags
in the actual source. I created several flags definition .h to host
these flags for now.
Change-Id: Ib6ca60d8656e8015a64dafff8e0a98a47676bbd2