Add 'sbgp' and 'sgpd' box definitions

sbgp: Sample to Group box
sgpd: Sample Group Descripton box

They are required for DASH Live support.

Change-Id: I2f3b55843c5148db60c7c3a6891ba825b59934ce
Implement ClosureThread

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
A thread safe producer consumer queue implementation

Change-Id: I827d8959d9c7c398178d083d01fafdb1779805da
ProducerConsumerQueue unittest

Change-Id: I7cbd830e9bf93e1a5da75870f7a7a596708e5d5d
Fix ClosureThread unittest crash in release build

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
Moved mp4 code to new "formats" directory to match Chromium source tree.
(second attempt due to conflicts).

Change-Id: I2143921bcacdbaa6cfcaf59602713294b4b1f6ee
Check-in of unmodified MPEG-2 and H.264 parsers.

Source of media/formats/mp2t:
    http://src.chromium.org/chrome/trunk/src/media/formats/mp2t@260741

Source of media/filters:
    http://src.chromium.org/chrome/trunk/src/media/filters@260719

Change-Id: Ib4c72553f0213cb6dd25fa3dcc0367d96cdd094a
Filters library and unit test builds.

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
Check-in of unmodified audio elementary stream parsing code.

Source of media/base/*:
    http://src.chromium.org/chrome/trunk/src/media/base@262934
Source of media/formats/mpeg/*:
    http://src.chromium.org/chrome/trunk/src/media/formats/mpeg@257932

Change-Id: Icd56b6f496befcd0c9f4eec2460fb2e998ae8bd2
Modified audio elementary stream parsing to work with packager remux.

Change-Id: Ice95102640e5cbb0382dc4c604c0af013103da99
Fix flaky MultiThreadProducerConsumerQueueStopTest

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
Modified H.264 elementary stream parsing code to work with remux framework.

Change-Id: I81dfe0952073c4a5cd6f5fcaf14fe21050d26cb6
Renamed mp2t_stream_parser* to mp2t_media_parser* .

Change-Id: I4e72dadadeadcb890056fb8540e498a9bb0d06ab
Modified mp2t::MediaParser to work with the packaging SDK.
Added transport stream test data.

Change-Id: I2f20d0a67eb5a1157ceed08af67368895016170c
Added ADTS header parsing, removal, and conversion to AudioSpecificConfig.
Hooked up mp2t media parser, audio transmux now working.

Change-Id: Idc92a51d25fa6ed2f74627131d53919e52394119
Refactor EncryptorSource to prepare for live support

Remove Initialize() and Add AddKey().

Also remove fixed_encryptor_source.* and move the functionality to
encryptor_source.*.

Change-Id: I4fb61013177874a8b81854f10b2deda83accc683
Update client of EncryptorSource due to refactoring

This CL also includes two related changes:
  1. Support serialization of raw PSSH box;
  2. Refactor segmenter interface a bit.

Change-Id: I668aa01a5a5ff524ad6fe74976339a3fd499120a
Rename EncryptorSource to EncryptionKeySource

Change-Id: I0a3d0e205922bbb4015955e04d51b7a9a4fa86e1
Support key rotation when generating MP4 fragments

Change-Id: I472e03a2d41ee450c12c0fe3012904628d6893e7
Merge "Added ADTS header parsing, removal, and conversion to AudioSpecificConfig. Hooked up mp2t media parser, audio transmux now working."