The crash happens if the thread is created but never started. An
improper Join triggered the crash. We should not call Join if the thread
is not started.
Change-Id: Icace740889089d3b2e15cf6c76c2b0887eb84535
ClosureThread runs a Closure in a platform thread. Chromium Thread class
involves message loop, so we choose to implement our own based on the
lower level SimpleThread which wraps PlatformThread.
Change-Id: Ibb759f7debcc027c0764195ca93506f9a202110b
sbgp: Sample to Group box
sgpd: Sample Group Descripton box
They are required for DASH Live support.
Change-Id: I2f3b55843c5148db60c7c3a6891ba825b59934ce
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
1. Use size_t for MediaSample size;
2. Get rid of stringstream in media_sample.cc and media_stream.cc.
Change-Id: I11fe650305a732ae6a18546ac68692e03ecedae4
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
Latest rev of happyhttp fixes the bugs so patches are no longer needed.
Also removes http_fetcher_unittest from the build as it performs real
http requests to an external server.
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
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
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
This is preparing for gclient switching.
Build break is expected. Some change in build script is required.
Change-Id: I4ebb78d3ae3114318c101ff4927954c89fce9a1d
We don't need xdisplaycheck any more with x11 disabled. Emacs and vim
are setup for Chromium, and are not really useful for us.
Change-Id: Ia04e8458ea24e1980918de7eab74705e56b90735
AudioChannelConfig should appear before ContentProtection in
Representation.
Enabled tests which covers this case.
Bug: 13227181
Change-Id: I0f4e913304ad982761a9296aa95d30200f6314d2
Some of the modules was semi-setup when copied from chromium.
With submodule setup, the user may use git submodule init and update
to update the submodules.
Change-Id: Ief0899c1567cd2be9a55710f7f81c0eb74461f50
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 tests are similar because MpdWriter uses MpdBuilder.
Also changing tests and enabling them in mpd_builder_unittest.cc.
Change-Id: I76a8cfca27c390a039de765231c76d083c3ca26b
gyp and gyp_helper path are obtained dynamically. Pylint generates
format checker warning. The Workaround is recommended by:
http://google-styleguide.googlecode.com/svn/trunk/pyguide.html.
Although the style guide prefers using symbolic names, which is
supported since pylint 0.25.3, the depot_tools/pylint is 0.25.1.
Change-Id: I6c9bc21a46102f38cab68c07c98339003cbd6991
build/gyp_chromium uses gyp_helper to get variables for GYP from
chromium.gyp_env file.
More on chromium.gyp_env can be found here
http://www.chromium.org/developers/how-tos/component-build
This is useful if you want to override some GYP varibles to test
different flags, e.g. using clang to build.
Change-Id: I14fc76abdd6503bf66ef3e27fb9216b3fb8aaa02
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
This is for cross platform support. gyp_packager.py is modified
from build/gyp_chromium and adapted to packager code.
New build instructions:
1. Setup gyp: ./gyp_packager.py
clang is not enabled by default, which can be enabled by overriding
GYP_DEFINE environment variable, i.e. "GYP_DEFINES='clang=1
use_openssl=1' ./gyp_packager.py".
Ninja is the default build system. User can also change to make by
overriding GYP_GENERATORS to make, i.e. "GYP_GENERATORS='make'
./gyp_packager.py".
2. The first step generates the make files but does not start the
build process. Ninja is the default build system. Refer to Ninja
manual on how to do the build.
Common syntaxes: ninja -C out/{Debug/Release} [Module]
Module is optional. If not specified, build everything.
Step 1 is only required if there is any gyp file change. Otherwise, you
may just run ninja.
Change-Id: I89cade7278bfdd3992644457e896e5a10085568b
chromium/src/base and chromium/src/build will be pulled using repo
manifest @ https://widevine-internal-review.googlesource.com/#/c/9071
Also ignore base and build in .gitignore.
Bug: 12588544
Change-Id: Iec9ad12d61c7b7719e066b30a6672c558ef15851