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
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
With libcurl, HttpFetcher now supports timeout and https.
Two additional changes:
1. Remove happyhttp which is no longer needed;
2. Add README.packager for curl
Bug: 13658515
Bug: 14301830
Change-Id: I13c2835e7feca9abf36e5bb8f7bc35a7db9ec94c
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
Issued warning rather than exiting with an error so that playback
may (hopefully) continue. We see this type of situation with the
Envivio encoders, which effect trivial changes in encoding midstream.
Change-Id: Ifa552066f602157adbfa0b882cb75e479b067645
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