This is to workaround a Chrome limitation that CDM must be initialized
before starting the playback. CDM can only be initialized with a valid
'pssh'.
Change-Id: Ia34e90dac42abbcdf0193fe4e3c971c87debdd42
Extract encryption related handlings from Fragmenter and move into new
class EncrpytingFragmenter.
Change-Id: Id42493cd321fd7e306f8ce522c7ff04990965256
This CL also includes two related changes:
1. Support serialization of raw PSSH box;
2. Refactor segmenter interface a bit.
Change-Id: I668aa01a5a5ff524ad6fe74976339a3fd499120a
Remove Initialize() and Add AddKey().
Also remove fixed_encryptor_source.* and move the functionality to
encryptor_source.*.
Change-Id: I4fb61013177874a8b81854f10b2deda83accc683
The main thread may run ahead of the closure thread. In this case,
Stop() could have been called before the first Push() call.
Change-Id: Ib6d94d451a8215fff572ea13f9567ba786d77fa5
Added filters gyp file.
Some tweaks to get the h.264 related filters library and unit tests building
in the packager source tree.
Change-Id: Ib79ffe307d3357b4b38f13ee87cbd93f0f93b1cc
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
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