shaka-packager/packager/media/base
KongQun Yang 05a5a41969 Support generation of libpackager.so (shared_library)
Shared libpackager can be built by setting libpackager_type to
shared_library, e.g.

GYP_DEFINES='libpackager_type=shared_library' gclient runhooks
ninja -C out/Debug

will generate libpackager.so in out/Debug/lib directory.

Here is a few other changes to make shared_library builds and
tests pass:

- Add several test parameters to packager.h, which is needed for
  testing.
- Create a protoc.gypi from build/protoc.gypi but depending on
  protobuf_full_do_not_use instead of protobuf_lite, since we need
  protobuf_full_do_not_use for text parsing and generation of media
  info proto. Somehow shared_library build does not allow mixed use
  of protobuf_full_do_not_use and protobuf_lite.
- Remove the use of LazyInstance in version/version.cc and use static
  variable directly. This is because LazyInstance needs AtExitManager
  which may not be easy to setup when calling GetVersion.
- Allow skipping testPackageWvmInputWithoutStrippingParameterSetNalus
  with flag --shared_library, which is needed as shared_library build
  does not support --strip_parameter_set_nalus flag yet.

Fixes #227

Change-Id: Iff05a50baa28134faa7218664c96114cb9e70329
2017-06-13 20:42:32 +00:00
..
test Update boringssl and curl(v7.50.0) 2016-08-02 12:00:19 -07:00
aes_cryptor.cc Deprecate STLDeleter and string_as_array 2016-09-01 17:39:11 +00:00
aes_cryptor.h Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
aes_cryptor_unittest.cc Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
aes_decryptor.cc Add appveyor config for Windows CI 2016-08-23 12:24:34 -07:00
aes_decryptor.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
aes_encryptor.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
aes_encryptor.h Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
aes_pattern_cryptor.cc Improve support for decryption of full sample encrypted cbcs 2016-10-14 00:07:46 +00:00
aes_pattern_cryptor.h Improve support for decryption of full sample encrypted cbcs 2016-10-14 00:07:46 +00:00
aes_pattern_cryptor_unittest.cc Improve support for decryption of full sample encrypted cbcs 2016-10-14 00:07:46 +00:00
audio_stream_info.cc Implemented WebM VP9 subsample encryption and decryption. 2016-08-18 13:55:36 -07:00
audio_stream_info.h Replace scoped_refptr with std::shared_ptr 2017-01-26 02:20:47 +00:00
audio_timestamp_helper.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
audio_timestamp_helper.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
audio_timestamp_helper_unittest.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
bit_reader.cc Fix x64 build on Windows. 2017-01-05 14:19:35 -08:00
bit_reader.h Fix x64 build on Windows. 2017-01-05 14:19:35 -08:00
bit_reader_unittest.cc Fix x64 build on Windows. 2017-01-05 14:19:35 -08:00
buffer_reader.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
buffer_reader.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
buffer_writer.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
buffer_writer.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
buffer_writer_unittest.cc Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
byte_queue.cc Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
byte_queue.h Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
closure_thread.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
closure_thread.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
closure_thread_unittest.cc Update DEPS to fix mac build failure 2016-08-19 13:49:41 -07:00
container_names.cc Fix x64 build on Windows. 2017-01-05 14:19:35 -08:00
container_names.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
container_names_unittest.cc Fix x64 build on Windows. 2017-01-05 14:19:35 -08:00
decrypt_config.cc Implement EncryptionHandler 2017-02-11 01:21:28 +00:00
decrypt_config.h Implement EncryptionHandler 2017-02-11 01:21:28 +00:00
decryptor_source.cc Deprecate STLDeleter and string_as_array 2016-09-01 17:39:11 +00:00
decryptor_source.h Deprecate STLDeleter and string_as_array 2016-09-01 17:39:11 +00:00
decryptor_source_unittest.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
encryption_config.h Update EncryptionHandler to support key rotation and SampleAes 2017-03-21 23:50:53 +00:00
fixed_key_source.cc Refactor KeySource::FetchKeys to use EME init data types 2017-04-20 20:21:29 +00:00
fixed_key_source.h Refactor KeySource::FetchKeys to use EME init data types 2017-04-20 20:21:29 +00:00
fixed_key_source_unittest.cc Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
fourccs.h [MP4] Make outputs CMAF compatible 2017-03-30 15:33:39 -07:00
http_key_fetcher.cc Adding PlayReady support to Shaka packager 2017-01-24 13:36:47 -08:00
http_key_fetcher.h Adding PlayReady support to Shaka packager 2017-01-24 13:36:47 -08:00
http_key_fetcher_unittest.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
key_fetcher.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
key_fetcher.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
key_source.cc Add support for 4K and 8K content. 2016-12-13 19:24:22 +00:00
key_source.h Refactor KeySource::FetchKeys to use EME init data types 2017-04-20 20:21:29 +00:00
language_utils.cc Add HLS audio language support 2017-03-10 16:14:14 -08:00
language_utils.h Add HLS audio language support 2017-03-10 16:14:14 -08:00
limits.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
macros.h Enable '-Wimplicit-fallthrough' and fix issues 2016-01-06 17:12:49 -08:00
media_base.gyp Support generation of libpackager.so (shared_library) 2017-06-13 20:42:32 +00:00
media_handler.cc Integrate trick play. 2017-05-09 13:33:11 -07:00
media_handler.h Added TextSample 2017-06-09 16:03:34 -07:00
media_handler_test_base.cc Rename trick play rate to trick play factor. 2017-05-17 21:51:34 +00:00
media_handler_test_base.h Integrate trick play. 2017-05-09 13:33:11 -07:00
media_parser.h Replace scoped_refptr with std::shared_ptr 2017-01-26 02:20:47 +00:00
media_sample.cc Implement trick play handler. 2017-03-24 18:34:42 -07:00
media_sample.h Implement trick play handler. 2017-03-24 18:34:42 -07:00
muxer.cc Integrate EncryptionHandler 2017-03-23 18:25:59 +00:00
muxer.h Integrate EncryptionHandler 2017-03-23 18:25:59 +00:00
muxer_options.cc Update cmd flags to support static mpd with live profile 2017-01-13 20:00:10 +00:00
muxer_options.h [MP4] Make outputs CMAF compatible 2017-03-30 15:33:39 -07:00
muxer_util.cc Integrate packager top level library 2017-06-13 13:40:26 -07:00
muxer_util.h Integrate packager top level library 2017-06-13 13:40:26 -07:00
muxer_util_unittest.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
network_util.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
network_util.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
offset_byte_queue.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
offset_byte_queue.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
offset_byte_queue_unittest.cc Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
playready_key_source.cc Refactor KeySource::FetchKeys to use EME init data types 2017-04-20 20:21:29 +00:00
playready_key_source.h Refactor KeySource::FetchKeys to use EME init data types 2017-04-20 20:21:29 +00:00
producer_consumer_queue.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
producer_consumer_queue_unittest.cc Fix x64 build on Windows. 2017-01-05 14:19:35 -08:00
protection_system_specific_info.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
protection_system_specific_info.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
protection_system_specific_info_unittest.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
rcheck.h Move fourccs.h and rcheck.h to media/base 2016-04-12 21:28:37 +00:00
request_signer.cc Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
request_signer.h Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
rsa_key.cc Deprecate STLDeleter and string_as_array 2016-09-01 17:39:11 +00:00
rsa_key.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
rsa_key_unittest.cc Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
status.cc Implement ChunkingHandler 2017-02-11 02:41:34 +00:00
status.h Implement trick play handler. 2017-03-24 18:34:42 -07:00
status_test_util_unittest.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
status_unittest.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
stream_info.cc Implemented WebM VP9 subsample encryption and decryption. 2016-08-18 13:55:36 -07:00
stream_info.h Generate two sample entries only if there is clear lead 2017-05-15 14:13:52 -07:00
text_sample.cc Added TextSample 2017-06-09 16:03:34 -07:00
text_sample.h Added TextSample 2017-06-09 16:03:34 -07:00
text_stream_info.cc Make WebVttMediaParser use WebVttSampleConverter 2017-03-15 20:44:36 +00:00
text_stream_info.h Make WebVttMediaParser use WebVttSampleConverter 2017-03-15 20:44:36 +00:00
text_track.h Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
text_track_config.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
text_track_config.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
timestamp.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
video_stream_info.cc Rename trick play rate to trick play factor. 2017-05-17 21:51:34 +00:00
video_stream_info.h Remove the trick_play_factor in media_info.proto. 2017-05-17 22:10:49 +00:00
widevine_key_source.cc Include protection_scheme in Widevine CENC request 2017-05-16 01:18:39 +00:00
widevine_key_source.h Include protection_scheme in Widevine CENC request 2017-05-16 01:18:39 +00:00
widevine_key_source_unittest.cc Include protection_scheme in Widevine CENC request 2017-05-16 01:18:39 +00:00
widevine_pssh_data.proto [pssh] Support widevine pssh generation with protection_scheme 2016-10-10 10:39:41 -07:00