# detection of ABI mismatches and prevents silent errors.
'linux_link_pulseaudio%': 0,
'conditions': [
- ['OS=="android"', {
- # Android doesn't use ffmpeg.
+ ['OS=="android" or OS=="ios"', {
+ # Android and iOS don't use ffmpeg or libvpx.
'media_use_ffmpeg%': 0,
- # Android doesn't use libvpx.
'media_use_libvpx%': 0,
- }, { # 'OS!="android"'
+ }, { # 'OS!="android" and OS!="ios"'
'media_use_ffmpeg%': 1,
'media_use_libvpx%': 1,
}],
# Enable ALSA and Pulse for runtime selection.
- ['(OS=="linux" or OS=="freebsd" or OS=="solaris") and embedded!=1 and use_cras==0', {
+ ['(OS=="linux" or OS=="freebsd" or OS=="solaris") and (embedded!=1 or (chromecast==1 and target_arch!="arm"))', {
+ # ALSA is always needed for Web MIDI even if the cras is enabled.
'use_alsa%': 1,
- 'use_pulseaudio%': 1,
+ 'conditions': [
+ ['use_cras==1', {
+ 'use_pulseaudio%': 0,
+ }, {
+ 'use_pulseaudio%': 1,
+ }],
+ ],
}, {
'use_alsa%': 0,
'use_pulseaudio%': 0,
}],
+ ['sysroot!=""', {
+ 'pkg-config': '../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)" "<(system_libdir)"',
+ }, {
+ 'pkg-config': 'pkg-config'
+ }],
],
},
'includes': [
],
'targets': [
{
+ # GN version: //media
'target_name': 'media',
'type': '<(component)',
'dependencies': [
'../base/base.gyp:base',
+ '../base/base.gyp:base_i18n',
'../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
'../crypto/crypto.gyp:crypto',
'../gpu/gpu.gyp:command_buffer_common',
'../skia/skia.gyp:skia',
+ '../third_party/libyuv/libyuv.gyp:libyuv',
'../third_party/opus/opus.gyp:opus',
'../ui/events/events.gyp:events_base',
'../ui/gfx/gfx.gyp:gfx',
'audio/fake_audio_output_stream.cc',
'audio/fake_audio_output_stream.h',
'audio/linux/audio_manager_linux.cc',
- 'audio/mac/aggregate_device_manager.cc',
- 'audio/mac/aggregate_device_manager.h',
'audio/mac/audio_auhal_mac.cc',
'audio/mac/audio_auhal_mac.h',
'audio/mac/audio_device_listener_mac.cc',
'audio/mac/audio_input_mac.h',
'audio/mac/audio_low_latency_input_mac.cc',
'audio/mac/audio_low_latency_input_mac.h',
- 'audio/mac/audio_low_latency_output_mac.cc',
- 'audio/mac/audio_low_latency_output_mac.h',
'audio/mac/audio_manager_mac.cc',
'audio/mac/audio_manager_mac.h',
- 'audio/mac/audio_synchronized_mac.cc',
- 'audio/mac/audio_synchronized_mac.h',
- 'audio/mac/audio_unified_mac.cc',
- 'audio/mac/audio_unified_mac.h',
'audio/null_audio_sink.cc',
'audio/null_audio_sink.h',
'audio/openbsd/audio_manager_openbsd.cc',
'audio/pulse/pulse_input.h',
'audio/pulse/pulse_output.cc',
'audio/pulse/pulse_output.h',
- 'audio/pulse/pulse_unified.cc',
- 'audio/pulse/pulse_unified.h',
'audio/pulse/pulse_util.cc',
'audio/pulse/pulse_util.h',
'audio/sample_rates.cc',
'audio/win/audio_low_latency_output_win.h',
'audio/win/audio_manager_win.cc',
'audio/win/audio_manager_win.h',
- 'audio/win/audio_unified_win.cc',
- 'audio/win/audio_unified_win.h',
'audio/win/avrt_wrapper_win.cc',
'audio/win/avrt_wrapper_win.h',
'audio/win/core_audio_util_win.cc',
'base/android/media_player_manager.h',
'base/android/media_resource_getter.cc',
'base/android/media_resource_getter.h',
+ 'base/audio_block_fifo.cc',
+ 'base/audio_block_fifo.h',
'base/audio_buffer.cc',
'base/audio_buffer.h',
'base/audio_buffer_queue.cc',
'base/audio_buffer_queue.h',
+ 'base/audio_buffer_converter.cc',
+ 'base/audio_buffer_converter.h',
'base/audio_capturer_source.h',
'base/audio_converter.cc',
'base/audio_converter.h',
'base/audio_decoder.h',
'base/audio_decoder_config.cc',
'base/audio_decoder_config.h',
+ 'base/audio_discard_helper.cc',
+ 'base/audio_discard_helper.h',
'base/audio_fifo.cc',
'base/audio_fifo.h',
'base/audio_hardware_config.cc',
'base/bit_reader_core.cc',
'base/bit_reader_core.h',
'base/bitstream_buffer.h',
+ 'base/buffering_state.h',
'base/buffers.h',
'base/byte_queue.cc',
'base/byte_queue.h',
+ 'base/cdm_promise.cc',
+ 'base/cdm_promise.h',
'base/channel_mixer.cc',
'base/channel_mixer.h',
- 'base/clock.cc',
- 'base/clock.h',
'base/container_names.cc',
'base/container_names.h',
'base/data_buffer.cc',
'base/demuxer.h',
'base/demuxer_stream.cc',
'base/demuxer_stream.h',
+ 'base/demuxer_stream_provider.cc',
+ 'base/demuxer_stream_provider.h',
'base/djb2.cc',
'base/djb2.h',
- 'base/filter_collection.cc',
- 'base/filter_collection.h',
'base/keyboard_event_counter.cc',
'base/keyboard_event_counter.h',
+ 'base/mac/avfoundation_glue.h',
+ 'base/mac/avfoundation_glue.mm',
+ 'base/mac/coremedia_glue.h',
+ 'base/mac/coremedia_glue.mm',
+ 'base/mac/corevideo_glue.h',
+ 'base/mac/videotoolbox_glue.h',
+ 'base/mac/videotoolbox_glue.mm',
'base/media.cc',
'base/media.h',
'base/media_file_checker.cc',
'base/pipeline.cc',
'base/pipeline.h',
'base/pipeline_status.h',
+ 'base/player_tracker.cc',
+ 'base/player_tracker.h',
'base/ranges.cc',
'base/ranges.h',
+ 'base/renderer.cc',
+ 'base/renderer.h',
'base/sample_format.cc',
'base/sample_format.h',
'base/scoped_histogram_timer.h',
'base/stream_parser_buffer.h',
'base/text_cue.cc',
'base/text_cue.h',
+ 'base/text_ranges.cc',
+ 'base/text_ranges.h',
'base/text_renderer.cc',
'base/text_renderer.h',
'base/text_track.h',
'base/text_track_config.cc',
'base/text_track_config.h',
+ 'base/time_delta_interpolator.cc',
+ 'base/time_delta_interpolator.h',
+ 'base/time_source.h',
'base/user_input_monitor.cc',
'base/user_input_monitor.h',
'base/user_input_monitor_linux.cc',
'base/video_frame_pool.h',
'base/video_renderer.cc',
'base/video_renderer.h',
+ 'base/video_rotation.h',
'base/video_util.cc',
'base/video_util.h',
'base/yuv_convert.cc',
'base/yuv_convert.h',
+ 'base/wall_clock_time_source.cc',
+ 'base/wall_clock_time_source.h',
'cdm/aes_decryptor.cc',
'cdm/aes_decryptor.h',
'cdm/json_web_key.cc',
'cdm/json_web_key.h',
'cdm/key_system_names.cc',
'cdm/key_system_names.h',
+ 'cdm/player_tracker_impl.cc',
+ 'cdm/player_tracker_impl.h',
'ffmpeg/ffmpeg_common.cc',
'ffmpeg/ffmpeg_common.h',
+ 'ffmpeg/ffmpeg_deleters.h',
+ 'filters/audio_clock.cc',
+ 'filters/audio_clock.h',
'filters/audio_file_reader.cc',
'filters/audio_file_reader.h',
'filters/audio_renderer_algorithm.cc',
'filters/chunk_demuxer.h',
'filters/decoder_selector.cc',
'filters/decoder_selector.h',
+ 'filters/decoder_stream.cc',
+ 'filters/decoder_stream.h',
+ 'filters/decoder_stream_traits.cc',
'filters/decoder_stream_traits.h',
'filters/decrypting_audio_decoder.cc',
'filters/decrypting_audio_decoder.h',
'filters/ffmpeg_demuxer.h',
'filters/ffmpeg_glue.cc',
'filters/ffmpeg_glue.h',
- 'filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc',
- 'filters/ffmpeg_h264_to_annex_b_bitstream_converter.h',
'filters/ffmpeg_video_decoder.cc',
'filters/ffmpeg_video_decoder.h',
'filters/file_data_source.cc',
'filters/file_data_source.h',
+ 'filters/frame_processor.cc',
+ 'filters/frame_processor.h',
'filters/gpu_video_accelerator_factories.cc',
'filters/gpu_video_accelerator_factories.h',
'filters/gpu_video_decoder.cc',
'filters/h264_bit_reader.h',
'filters/h264_parser.cc',
'filters/h264_parser.h',
- 'filters/h264_to_annex_b_bitstream_converter.cc',
- 'filters/h264_to_annex_b_bitstream_converter.h',
'filters/in_memory_url_protocol.cc',
'filters/in_memory_url_protocol.h',
'filters/opus_audio_decoder.cc',
'filters/opus_audio_decoder.h',
+ 'filters/renderer_impl.cc',
+ 'filters/renderer_impl.h',
'filters/skcanvas_video_renderer.cc',
'filters/skcanvas_video_renderer.h',
+ 'filters/source_buffer_platform.cc',
+ 'filters/source_buffer_platform.h',
+ 'filters/source_buffer_range.cc',
+ 'filters/source_buffer_range.h',
'filters/source_buffer_stream.cc',
'filters/source_buffer_stream.h',
'filters/stream_parser_factory.cc',
'filters/stream_parser_factory.h',
- 'filters/video_frame_painter.cc',
- 'filters/video_frame_painter.h',
- 'filters/video_frame_stream.cc',
- 'filters/video_frame_stream.h',
+ 'filters/video_frame_scheduler.h',
+ 'filters/video_frame_scheduler_impl.cc',
+ 'filters/video_frame_scheduler_impl.h',
+ 'filters/video_frame_scheduler_proxy.cc',
+ 'filters/video_frame_scheduler_proxy.h',
'filters/video_renderer_impl.cc',
'filters/video_renderer_impl.h',
'filters/vpx_video_decoder.cc',
'midi/midi_manager.h',
'midi/midi_manager_alsa.cc',
'midi/midi_manager_alsa.h',
+ 'midi/midi_manager_android.cc',
'midi/midi_manager_mac.cc',
'midi/midi_manager_mac.h',
+ 'midi/midi_manager_usb.cc',
+ 'midi/midi_manager_usb.h',
+ 'midi/midi_manager_win.cc',
+ 'midi/midi_manager_win.h',
'midi/midi_message_queue.cc',
'midi/midi_message_queue.h',
'midi/midi_message_util.cc',
'midi/midi_message_util.h',
- 'midi/midi_manager_win.cc',
- 'midi/midi_manager_win.h',
'midi/midi_port_info.cc',
'midi/midi_port_info.h',
'midi/usb_midi_descriptor_parser.cc',
'midi/usb_midi_descriptor_parser.h',
'midi/usb_midi_device.h',
+ 'midi/usb_midi_device_android.cc',
+ 'midi/usb_midi_device_android.h',
+ 'midi/usb_midi_device_factory_android.cc',
+ 'midi/usb_midi_device_factory_android.h',
'midi/usb_midi_input_stream.cc',
'midi/usb_midi_input_stream.h',
'midi/usb_midi_jack.h',
'midi/usb_midi_output_stream.cc',
'midi/usb_midi_output_stream.h',
+ 'ozone/media_ozone_platform.cc',
+ 'ozone/media_ozone_platform.h',
'video/capture/android/video_capture_device_android.cc',
'video/capture/android/video_capture_device_android.h',
+ 'video/capture/android/video_capture_device_factory_android.cc',
+ 'video/capture/android/video_capture_device_factory_android.h',
'video/capture/fake_video_capture_device.cc',
'video/capture/fake_video_capture_device.h',
+ 'video/capture/fake_video_capture_device_factory.h',
+ 'video/capture/fake_video_capture_device_factory.cc',
'video/capture/file_video_capture_device.cc',
'video/capture/file_video_capture_device.h',
+ 'video/capture/file_video_capture_device_factory.h',
+ 'video/capture/file_video_capture_device_factory.cc',
+ 'video/capture/linux/video_capture_device_factory_linux.cc',
+ 'video/capture/linux/video_capture_device_factory_linux.h',
'video/capture/linux/video_capture_device_linux.cc',
'video/capture/linux/video_capture_device_linux.h',
- 'video/capture/mac/avfoundation_glue.h',
- 'video/capture/mac/avfoundation_glue.mm',
- 'video/capture/mac/coremedia_glue.h',
- 'video/capture/mac/coremedia_glue.mm',
+ 'video/capture/linux/video_capture_device_chromeos.cc',
+ 'video/capture/linux/video_capture_device_chromeos.h',
'video/capture/mac/platform_video_capturing_mac.h',
'video/capture/mac/video_capture_device_avfoundation_mac.h',
'video/capture/mac/video_capture_device_avfoundation_mac.mm',
+ 'video/capture/mac/video_capture_device_decklink_mac.h',
+ 'video/capture/mac/video_capture_device_decklink_mac.mm',
+ 'video/capture/mac/video_capture_device_factory_mac.h',
+ 'video/capture/mac/video_capture_device_factory_mac.mm',
'video/capture/mac/video_capture_device_mac.h',
'video/capture/mac/video_capture_device_mac.mm',
'video/capture/mac/video_capture_device_qtkit_mac.h',
'video/capture/mac/video_capture_device_qtkit_mac.mm',
- 'video/capture/video_capture.h',
'video/capture/video_capture_device.cc',
'video/capture/video_capture_device.h',
- 'video/capture/video_capture_proxy.cc',
- 'video/capture/video_capture_proxy.h',
+ 'video/capture/video_capture_device_factory.cc',
+ 'video/capture/video_capture_device_factory.h',
'video/capture/video_capture_types.cc',
'video/capture/video_capture_types.h',
'video/capture/win/capability_list_win.cc',
'video/capture/win/sink_filter_win.h',
'video/capture/win/sink_input_pin_win.cc',
'video/capture/win/sink_input_pin_win.h',
+ 'video/capture/win/video_capture_device_factory_win.cc',
+ 'video/capture/win/video_capture_device_factory_win.h',
'video/capture/win/video_capture_device_mf_win.cc',
'video/capture/win/video_capture_device_mf_win.h',
'video/capture/win/video_capture_device_win.cc',
'video/video_decode_accelerator.h',
'video/video_encode_accelerator.cc',
'video/video_encode_accelerator.h',
+ 'formats/common/offset_byte_queue.cc',
+ 'formats/common/offset_byte_queue.h',
'formats/webm/webm_audio_client.cc',
'formats/webm/webm_audio_client.h',
'formats/webm/webm_cluster_parser.cc',
'filters/ffmpeg_h264_to_annex_b_bitstream_converter.h',
'filters/ffmpeg_video_decoder.cc',
'filters/ffmpeg_video_decoder.h',
+ 'filters/in_memory_url_protocol.cc',
+ 'filters/in_memory_url_protocol.h',
],
}],
['media_use_libvpx==1', {
'filters/vpx_video_decoder.h',
],
}],
+ ['enable_browser_cdms==1', {
+ 'sources': [
+ 'base/browser_cdm.cc',
+ 'base/browser_cdm.h',
+ 'base/browser_cdm_factory.h',
+ ],
+ }],
['OS=="android"', {
'dependencies': [
'media_android_jni_headers',
'DISABLE_USER_INPUT_MONITOR',
],
}],
- # A simple WebM encoder for animated avatars on ChromeOS.
- ['chromeos==1', {
- 'dependencies': [
- '../third_party/libvpx/libvpx.gyp:libvpx',
- '../third_party/libyuv/libyuv.gyp:libyuv',
- ],
+ # For VaapiVideoEncodeAccelerator.
+ ['target_arch != "arm" and chromeos == 1 and use_x11 == 1', {
'sources': [
- 'formats/webm/chromeos/ebml_writer.cc',
- 'formats/webm/chromeos/ebml_writer.h',
- 'formats/webm/chromeos/webm_encoder.cc',
- 'formats/webm/chromeos/webm_encoder.h',
+ 'filters/h264_bitstream_buffer.cc',
+ 'filters/h264_bitstream_buffer.h',
],
}],
['use_alsa==1', {
],
}],
['OS=="linux"', {
- 'variables': {
- 'conditions': [
- ['sysroot!=""', {
- 'pkg-config': '../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)"',
- }, {
- 'pkg-config': 'pkg-config'
- }],
- ],
- },
'conditions': [
['use_x11==1', {
- 'link_settings': {
- 'libraries': [
- '-lX11',
- '-lXdamage',
- '-lXext',
- '-lXfixes',
- '-lXtst',
- ],
- },
+ 'dependencies': [
+ '../build/linux/system.gyp:x11',
+ '../build/linux/system.gyp:xdamage',
+ '../build/linux/system.gyp:xext',
+ '../build/linux/system.gyp:xfixes',
+ '../build/linux/system.gyp:xtst',
+ ],
}, { # else: use_x11==0
'sources!': [
'base/user_input_monitor_linux.cc',
}],
],
}],
+ ['use_ozone==1', {
+ 'variables': {
+ 'platform_list_txt_file': '<(SHARED_INTERMEDIATE_DIR)/ui/ozone/platform_list.txt',
+ 'constructor_list_cc_file': '<(INTERMEDIATE_DIR)/media/ozone/constructor_list.cc',
+ },
+ 'include_dirs': [
+ # Used for the generated listing header (ui/ozone/platform_list.h)
+ '<(SHARED_INTERMEDIATE_DIR)',
+ ],
+ 'sources': [
+ '<(constructor_list_cc_file)',
+ ],
+ 'dependencies': [
+ '../ui/ozone/ozone.gyp:ozone',
+ ],
+ 'actions': [
+ {
+ # Ozone platform objects are auto-generated using similar
+ # patterns for naming and classes constructors. Here we build the
+ # object MediaOzonePlatform.
+ 'action_name': 'generate_constructor_list',
+ 'variables': {
+ 'generator_path': '../ui/ozone/generate_constructor_list.py',
+ },
+ 'inputs': [
+ '<(generator_path)',
+ '<(platform_list_txt_file)',
+ ],
+ 'outputs': [
+ '<(constructor_list_cc_file)',
+ ],
+ 'action': [
+ 'python',
+ '<(generator_path)',
+ '--platform_list=<(platform_list_txt_file)',
+ '--output_cc=<(constructor_list_cc_file)',
+ '--namespace=media',
+ '--typename=MediaOzonePlatform',
+ '--include="media/ozone/media_ozone_platform.h"'
+ ],
+ },
+ ]
+ }, {
+ 'sources!': [
+ 'ozone/media_ozone_platform.cc',
+ 'ozone/media_ozone_platform.h',
+ ]
+ }],
['OS!="linux"', {
'sources!': [
'audio/cras/audio_manager_cras.cc',
}],
['use_pulseaudio==1', {
'cflags': [
- '<!@(pkg-config --cflags libpulse)',
+ '<!@(<(pkg-config) --cflags libpulse)',
],
'defines': [
'USE_PULSEAUDIO',
}, { # else: linux_link_pulseaudio==0
'link_settings': {
'ldflags': [
- '<!@(pkg-config --libs-only-L --libs-only-other libpulse)',
+ '<!@(<(pkg-config) --libs-only-L --libs-only-other libpulse)',
],
'libraries': [
- '<!@(pkg-config --libs-only-l libpulse)',
+ '<!@(<(pkg-config) --libs-only-l libpulse)',
],
},
}],
'audio/pulse/pulse_input.h',
'audio/pulse/pulse_output.cc',
'audio/pulse/pulse_output.h',
- 'audio/pulse/pulse_unified.cc',
- 'audio/pulse/pulse_unified.h',
'audio/pulse/pulse_util.cc',
'audio/pulse/pulse_util.h',
],
}],
['OS=="mac"', {
+ 'dependencies': [
+ '../third_party/decklink/decklink.gyp:decklink',
+ ],
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/AudioToolbox.framework',
}],
['proprietary_codecs==1', {
'sources': [
+ 'filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc',
+ 'filters/ffmpeg_h264_to_annex_b_bitstream_converter.h',
+ 'filters/h264_to_annex_b_bitstream_converter.cc',
+ 'filters/h264_to_annex_b_bitstream_converter.h',
+ 'formats/mp2t/es_adapter_video.cc',
+ 'formats/mp2t/es_adapter_video.h',
+ 'formats/mp2t/es_parser.cc',
'formats/mp2t/es_parser.h',
'formats/mp2t/es_parser_adts.cc',
'formats/mp2t/es_parser_adts.h',
'formats/mp2t/es_parser_h264.cc',
'formats/mp2t/es_parser_h264.h',
+ 'formats/mp2t/es_parser_mpeg1audio.cc',
+ 'formats/mp2t/es_parser_mpeg1audio.h',
'formats/mp2t/mp2t_common.h',
'formats/mp2t/mp2t_stream_parser.cc',
'formats/mp2t/mp2t_stream_parser.h',
+ 'formats/mp2t/timestamp_unroller.cc',
+ 'formats/mp2t/timestamp_unroller.h',
'formats/mp2t/ts_packet.cc',
'formats/mp2t/ts_packet.h',
'formats/mp2t/ts_section.h',
'formats/mp2t/ts_section_pmt.h',
'formats/mp2t/ts_section_psi.cc',
'formats/mp2t/ts_section_psi.h',
- 'formats/mp3/mp3_stream_parser.cc',
- 'formats/mp3/mp3_stream_parser.h',
'formats/mp4/aac.cc',
'formats/mp4/aac.h',
'formats/mp4/avc.cc',
'formats/mp4/es_descriptor.h',
'formats/mp4/mp4_stream_parser.cc',
'formats/mp4/mp4_stream_parser.h',
- 'formats/mp4/offset_byte_queue.cc',
- 'formats/mp4/offset_byte_queue.h',
+ 'formats/mp4/sample_to_group_iterator.cc',
+ 'formats/mp4/sample_to_group_iterator.h',
'formats/mp4/track_run_iterator.cc',
'formats/mp4/track_run_iterator.h',
- ],
- }],
- ['toolkit_uses_gtk==1', {
- 'dependencies': [
- '../build/linux/system.gyp:gtk',
+ 'formats/mpeg/adts_constants.cc',
+ 'formats/mpeg/adts_constants.h',
+ 'formats/mpeg/adts_stream_parser.cc',
+ 'formats/mpeg/adts_stream_parser.h',
+ 'formats/mpeg/mpeg_audio_stream_parser_base.cc',
+ 'formats/mpeg/mpeg_audio_stream_parser_base.h',
+ 'formats/mpeg/mpeg1_audio_stream_parser.cc',
+ 'formats/mpeg/mpeg1_audio_stream_parser.h',
],
}],
['target_arch=="ia32" or target_arch=="x64"', {
'dependencies': [
'media_asm',
- 'media_mmx',
- 'media_sse',
'media_sse2',
],
'sources': [
'base/keyboard_event_counter.h',
],
}],
+ ], # conditions
+ 'target_conditions': [
+ ['OS == "ios" and _toolset != "host"', {
+ 'sources/': [
+ # Pull in specific Mac files for iOS (which have been filtered out
+ # by file name rules).
+ ['include', '^base/mac/coremedia_glue\\.h$'],
+ ['include', '^base/mac/coremedia_glue\\.mm$'],
+ ['include', '^base/mac/corevideo_glue\\.h$'],
+ ['include', '^base/mac/videotoolbox_glue\\.h$'],
+ ['include', '^base/mac/videotoolbox_glue\\.mm$'],
+ ],
+ }],
+ ], # target_conditions
+ },
+ {
+ # GN version: //media/mojo/interfaces
+ 'target_name': 'media_mojo_bindings',
+ 'type': 'static_library',
+ 'sources': [
+ 'mojo/interfaces/media_types.mojom',
+ 'mojo/interfaces/media_renderer.mojom',
+ 'mojo/interfaces/demuxer_stream.mojom',
+ ],
+ 'includes': [
+ '../mojo/public/tools/bindings/mojom_bindings_generator.gypi'
+ ],
+ 'export_dependent_settings': [
+ '../mojo/mojo_base.gyp:mojo_cpp_bindings',
+ ],
+ 'dependencies': [
+ '../mojo/mojo_base.gyp:mojo_cpp_bindings',
+ ],
+ },
+ {
+ 'target_name': 'media_mojo_lib',
+ 'type': 'static_library',
+ 'includes': [
+ '../mojo/mojo_variables.gypi',
+ ],
+ 'dependencies': [
+ 'media',
+ 'media_mojo_bindings',
+ '../base/base.gyp:base',
+ '../mojo/mojo_base.gyp:mojo_application_base',
+ '../mojo/mojo_base.gyp:mojo_application_bindings',
+ '../mojo/mojo_base.gyp:mojo_environment_chromium',
+ '<(mojo_system_for_component)',
+ ],
+ 'export_dependent_settings': [
+ 'media_mojo_bindings',
+ ],
+ 'sources': [
+ 'mojo/services/media_type_converters.cc',
+ 'mojo/services/media_type_converters.h',
+ 'mojo/services/mojo_demuxer_stream_impl.cc',
+ 'mojo/services/mojo_demuxer_stream_impl.h',
+ 'mojo/services/mojo_renderer_impl.cc',
+ 'mojo/services/mojo_renderer_impl.h',
+ ],
+ },
+ {
+ 'target_name': 'media_mojo_renderer_app',
+ 'type': 'loadable_module',
+ 'includes': [
+ '../mojo/mojo_variables.gypi',
+ ],
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../mojo/mojo_base.gyp:mojo_application_chromium',
+ '<(mojo_system_for_loadable_module)',
+ 'media_mojo_lib',
+ 'shared_memory_support',
+ ],
+ 'sources': [
+ 'mojo/services/mojo_demuxer_stream_adapter.cc',
+ 'mojo/services/mojo_demuxer_stream_adapter.h',
+ 'mojo/services/mojo_renderer_service.cc',
+ 'mojo/services/mojo_renderer_service.h',
+ ],
+ },
+ {
+ 'target_name': 'media_mojo_lib_unittests',
+ 'type': '<(gtest_target_type)',
+ 'dependencies': [
+ 'media',
+ 'media_mojo_bindings',
+ 'media_mojo_lib',
+ '../base/base.gyp:base',
+ '../base/base.gyp:test_support_base',
+ '../testing/gtest.gyp:gtest',
+ '../mojo/mojo_base.gyp:mojo_environment_chromium',
+ '../mojo/mojo_base.gyp:mojo_run_all_unittests',
+ ],
+ 'sources': [
+ 'mojo/services/media_type_converters_unittest.cc',
],
},
{
+ 'target_name': 'media_mojo_renderer_apptest',
+ 'type': 'loadable_module',
+ 'includes': [
+ '../mojo/mojo_variables.gypi',
+ ],
+ 'dependencies': [
+ 'media',
+ 'media_mojo_bindings',
+ 'media_mojo_lib',
+ 'media_mojo_renderer_app',
+ 'media_test_support',
+ '../base/base.gyp:base',
+ '../base/base.gyp:test_support_base',
+ '../testing/gtest.gyp:gtest',
+ '../mojo/mojo_base.gyp:mojo_application_chromium',
+ '<(mojo_system_for_loadable_module)',
+ ],
+ 'sources': [
+ 'mojo/services/renderer_unittest.cc',
+ ],
+ },
+ {
+ 'target_name': 'media_mojo',
+ 'type': 'none',
+ 'dependencies': [
+ 'media_mojo_lib',
+ 'media_mojo_lib_unittests',
+ 'media_mojo_renderer_app',
+ 'media_mojo_renderer_apptest',
+ ]
+ },
+ {
+ # GN version: //media:media_unittests
'target_name': 'media_unittests',
'type': '<(gtest_target_type)',
'dependencies': [
'../skia/skia.gyp:skia',
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
+ '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h',
'../ui/gfx/gfx.gyp:gfx',
'../ui/gfx/gfx.gyp:gfx_geometry',
- '../ui/ui.gyp:ui',
+ '../ui/gfx/gfx.gyp:gfx_test_support',
+ '../url/url.gyp:url_lib',
],
'sources': [
'audio/android/audio_android_unittest.cc',
'audio/win/audio_low_latency_input_win_unittest.cc',
'audio/win/audio_low_latency_output_win_unittest.cc',
'audio/win/audio_output_win_unittest.cc',
- 'audio/win/audio_unified_win_unittest.cc',
'audio/win/core_audio_util_win_unittest.cc',
'base/android/media_codec_bridge_unittest.cc',
+ 'base/android/media_drm_bridge_unittest.cc',
'base/android/media_source_player_unittest.cc',
+ 'base/audio_block_fifo_unittest.cc',
+ 'base/audio_buffer_converter_unittest.cc',
'base/audio_buffer_unittest.cc',
'base/audio_buffer_queue_unittest.cc',
'base/audio_bus_unittest.cc',
'base/audio_converter_unittest.cc',
+ 'base/audio_discard_helper_unittest.cc',
'base/audio_fifo_unittest.cc',
'base/audio_hardware_config_unittest.cc',
'base/audio_hash_unittest.cc',
'base/callback_holder.h',
'base/callback_holder_unittest.cc',
'base/channel_mixer_unittest.cc',
- 'base/clock_unittest.cc',
'base/container_names_unittest.cc',
'base/data_buffer_unittest.cc',
'base/decoder_buffer_queue_unittest.cc',
'base/serial_runner_unittest.cc',
'base/seekable_buffer_unittest.cc',
'base/sinc_resampler_unittest.cc',
- 'base/test_data_util.cc',
- 'base/test_data_util.h',
+ 'base/stream_parser_unittest.cc',
+ 'base/text_ranges_unittest.cc',
'base/text_renderer_unittest.cc',
+ 'base/time_delta_interpolator_unittest.cc',
'base/user_input_monitor_unittest.cc',
'base/vector_math_testing.h',
'base/vector_math_unittest.cc',
'base/video_frame_unittest.cc',
'base/video_frame_pool_unittest.cc',
'base/video_util_unittest.cc',
+ 'base/wall_clock_time_source_unittest.cc',
'base/yuv_convert_unittest.cc',
'cdm/aes_decryptor_unittest.cc',
'cdm/json_web_key_unittest.cc',
'ffmpeg/ffmpeg_common_unittest.cc',
+ 'filters/audio_clock_unittest.cc',
+ 'filters/audio_decoder_unittest.cc',
'filters/audio_decoder_selector_unittest.cc',
'filters/audio_file_reader_unittest.cc',
'filters/audio_renderer_algorithm_unittest.cc',
'filters/fake_video_decoder.cc',
'filters/fake_video_decoder.h',
'filters/fake_video_decoder_unittest.cc',
- 'filters/ffmpeg_audio_decoder_unittest.cc',
'filters/ffmpeg_demuxer_unittest.cc',
'filters/ffmpeg_glue_unittest.cc',
- 'filters/ffmpeg_h264_to_annex_b_bitstream_converter_unittest.cc',
'filters/ffmpeg_video_decoder_unittest.cc',
'filters/file_data_source_unittest.cc',
+ 'filters/frame_processor_unittest.cc',
'filters/h264_bit_reader_unittest.cc',
'filters/h264_parser_unittest.cc',
- 'filters/h264_to_annex_b_bitstream_converter_unittest.cc',
+ 'filters/in_memory_url_protocol_unittest.cc',
'filters/pipeline_integration_test.cc',
'filters/pipeline_integration_test_base.cc',
+ 'filters/renderer_impl_unittest.cc',
'filters/skcanvas_video_renderer_unittest.cc',
'filters/source_buffer_stream_unittest.cc',
'filters/video_decoder_selector_unittest.cc',
- 'filters/video_frame_painter_unittest.cc',
+ 'filters/video_frame_scheduler_impl_unittest.cc',
+ 'filters/video_frame_scheduler_unittest.cc',
'filters/video_frame_stream_unittest.cc',
'filters/video_renderer_impl_unittest.cc',
+ 'midi/midi_manager_unittest.cc',
+ 'midi/midi_manager_usb_unittest.cc',
'midi/midi_message_queue_unittest.cc',
'midi/midi_message_util_unittest.cc',
'midi/usb_midi_descriptor_parser_unittest.cc',
'midi/usb_midi_input_stream_unittest.cc',
'midi/usb_midi_output_stream_unittest.cc',
+ 'video/capture/fake_video_capture_device_unittest.cc',
'video/capture/video_capture_device_unittest.cc',
+ 'formats/common/offset_byte_queue_unittest.cc',
'formats/webm/cluster_builder.cc',
'formats/webm/cluster_builder.h',
'formats/webm/tracks_builder.cc',
'formats/webm/webm_tracks_parser_unittest.cc',
'formats/webm/webm_webvtt_parser_unittest.cc',
],
+ 'include_dirs': [
+ # Needed by media_drm_bridge.cc.
+ '<(SHARED_INTERMEDIATE_DIR)',
+ ],
'conditions': [
['arm_neon==1', {
'defines': [
}, { # media_use_ffmpeg== 0
'sources!': [
'base/audio_video_metadata_extractor_unittest.cc',
+ 'base/container_names_unittest.cc',
'base/media_file_checker_unittest.cc',
+ 'ffmpeg/ffmpeg_common_unittest.cc',
+ 'filters/audio_decoder_unittest.cc',
+ 'filters/audio_file_reader_unittest.cc',
+ 'filters/blocking_url_protocol_unittest.cc',
+ 'filters/ffmpeg_demuxer_unittest.cc',
+ 'filters/ffmpeg_glue_unittest.cc',
+ 'filters/ffmpeg_h264_to_annex_b_bitstream_converter_unittest.cc',
+ 'filters/ffmpeg_video_decoder_unittest.cc',
+ 'filters/in_memory_url_protocol_unittest.cc',
+ 'filters/pipeline_integration_test.cc',
+ 'filters/pipeline_integration_test_base.cc',
],
}],
['use_alsa==1', {
}],
['os_posix==1 and OS!="mac"', {
'conditions': [
- ['linux_use_tcmalloc==1', {
+ ['use_allocator!="none"', {
'dependencies': [
'../base/allocator/allocator.gyp:allocator',
],
['OS=="android"', {
'sources!': [
'audio/audio_input_volume_unittest.cc',
- 'base/container_names_unittest.cc',
- 'ffmpeg/ffmpeg_common_unittest.cc',
- 'filters/audio_file_reader_unittest.cc',
- 'filters/blocking_url_protocol_unittest.cc',
- 'filters/ffmpeg_audio_decoder_unittest.cc',
- 'filters/ffmpeg_demuxer_unittest.cc',
- 'filters/ffmpeg_glue_unittest.cc',
- 'filters/ffmpeg_h264_to_annex_b_bitstream_converter_unittest.cc',
- 'filters/ffmpeg_video_decoder_unittest.cc',
- 'filters/pipeline_integration_test.cc',
- 'filters/pipeline_integration_test_base.cc',
],
- 'conditions': [
- ['gtest_target_type=="shared_library"', {
- 'dependencies': [
- '../testing/android/native_test.gyp:native_test_native_code',
- 'player_android',
- ],
- }],
+ 'dependencies': [
+ '../testing/android/native_test.gyp:native_test_native_code',
+ 'player_android',
],
}],
['OS=="linux"', {
}],
],
}],
+ ['target_arch != "arm" and chromeos == 1 and use_x11 == 1', {
+ 'sources': [
+ 'filters/h264_bitstream_buffer_unittest.cc',
+ ],
+ }],
['use_alsa==0', {
'sources!': [
'audio/alsa/alsa_output_unittest.cc',
}],
['proprietary_codecs==1', {
'sources': [
+ 'filters/ffmpeg_h264_to_annex_b_bitstream_converter_unittest.cc',
+ 'filters/h264_to_annex_b_bitstream_converter_unittest.cc',
+ 'formats/common/stream_parser_test_base.cc',
+ 'formats/common/stream_parser_test_base.h',
+ 'formats/mp2t/es_adapter_video_unittest.cc',
+ 'formats/mp2t/es_parser_adts_unittest.cc',
+ 'formats/mp2t/es_parser_h264_unittest.cc',
+ 'formats/mp2t/es_parser_mpeg1audio_unittest.cc',
+ 'formats/mp2t/es_parser_test_base.cc',
+ 'formats/mp2t/es_parser_test_base.h',
'formats/mp2t/mp2t_stream_parser_unittest.cc',
- 'formats/mp3/mp3_stream_parser_unittest.cc',
+ 'formats/mp2t/timestamp_unroller_unittest.cc',
'formats/mp4/aac_unittest.cc',
'formats/mp4/avc_unittest.cc',
'formats/mp4/box_reader_unittest.cc',
'formats/mp4/es_descriptor_unittest.cc',
'formats/mp4/mp4_stream_parser_unittest.cc',
- 'formats/mp4/offset_byte_queue_unittest.cc',
+ 'formats/mp4/sample_to_group_iterator_unittest.cc',
'formats/mp4/track_run_iterator_unittest.cc',
+ 'formats/mpeg/adts_stream_parser_unittest.cc',
+ 'formats/mpeg/mpeg1_audio_stream_parser_unittest.cc',
],
}],
# TODO(wolenetz): Fix size_t to int truncations in win64. See
['OS=="win" and target_arch=="x64"', {
'msvs_disabled_warnings': [ 4267, ],
}],
+ ['OS=="mac"', {
+ 'sources': [
+ 'video/capture/mac/video_capture_device_factory_mac_unittest.mm',
+ ]
+ }],
],
},
{
+ # GN version: //media:media_perftests
'target_name': 'media_perftests',
'type': '<(gtest_target_type)',
'dependencies': [
- 'media',
- 'media_test_support',
- 'shared_memory_support',
'../base/base.gyp:test_support_base',
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
'../testing/perf/perf_test.gyp:perf_test',
'../ui/gfx/gfx.gyp:gfx',
+ '../ui/gfx/gfx.gyp:gfx_test_support',
'../ui/gfx/gfx.gyp:gfx_geometry',
- '../ui/gl/gl.gyp:gl',
- '../ui/ui.gyp:ui',
+ 'media',
+ 'media_test_support',
+ 'shared_memory_support',
],
'sources': [
'base/audio_bus_perftest.cc',
'base/demuxer_perftest.cc',
'base/run_all_perftests.cc',
'base/sinc_resampler_perftest.cc',
- 'base/test_data_util.cc',
'base/vector_math_perftest.cc',
+ 'base/yuv_convert_perftest.cc',
'filters/pipeline_integration_perftest.cc',
'filters/pipeline_integration_test_base.cc',
],
],
}],
['OS=="android"', {
- 'conditions': [
- ['gtest_target_type=="shared_library"', {
- 'dependencies': [
- '../testing/android/native_test.gyp:native_test_native_code',
- ],
- }],
+ 'dependencies': [
+ '../testing/android/native_test.gyp:native_test_native_code',
+ '../ui/gl/gl.gyp:gl',
],
}],
['media_use_ffmpeg==1', {
],
},
{
+ # GN version: //media:test_support
'target_name': 'media_test_support',
'type': 'static_library',
'dependencies': [
'sources': [
'audio/mock_audio_manager.cc',
'audio/mock_audio_manager.h',
+ 'audio/mock_audio_source_callback.cc',
+ 'audio/mock_audio_source_callback.h',
'audio/test_audio_input_controller_factory.cc',
'audio/test_audio_input_controller_factory.h',
'base/fake_audio_render_callback.cc',
'base/gmock_callback_support.h',
'base/mock_audio_renderer_sink.cc',
'base/mock_audio_renderer_sink.h',
- 'base/mock_data_source_host.cc',
- 'base/mock_data_source_host.h',
'base/mock_demuxer_host.cc',
'base/mock_demuxer_host.h',
'base/mock_filters.cc',
'base/mock_filters.h',
+ 'base/test_data_util.cc',
+ 'base/test_data_util.h',
'base/test_helpers.cc',
'base/test_helpers.h',
+ 'filters/clockless_video_frame_scheduler.cc',
+ 'filters/clockless_video_frame_scheduler.h',
'filters/mock_gpu_video_accelerator_factories.cc',
'filters/mock_gpu_video_accelerator_factories.h',
- 'video/capture/mock_video_capture_event_handler.cc',
- 'video/capture/mock_video_capture_event_handler.h',
+ 'filters/test_video_frame_scheduler.cc',
+ 'filters/test_video_frame_scheduler.h',
'video/mock_video_decode_accelerator.cc',
'video/mock_video_decode_accelerator.h',
],
# Minimal target for NaCl and other renderer side media clients which
# only need to send audio data across the shared memory to the browser
# process.
+ # GN version: //media:shared_memory_support
'target_name': 'shared_memory_support',
'type': '<(component)',
'dependencies': [
'USE_NEON'
],
}],
- ['target_arch=="ia32" or target_arch=="x64"', {
- 'dependencies': [
- 'shared_memory_support_sse'
- ],
- }],
],
},
],
'type': 'static_library',
'sources': [
'base/simd/convert_rgb_to_yuv_ssse3.asm',
- 'base/simd/convert_yuv_to_rgb_mmx.asm',
'base/simd/convert_yuv_to_rgb_sse.asm',
'base/simd/convert_yuva_to_argb_mmx.asm',
'base/simd/empty_register_state_mmx.asm',
'yasm_flags': ['-DARCH_X86_64'],
},
}],
- ['OS=="mac"', {
+ ['OS=="mac" or OS=="ios"', {
'variables': {
'yasm_flags': [
'-DPREFIX',
'conditions': [
['target_arch=="ia32"', {
'yasm_flags': [
- '-DX86_32',
+ '-DARCH_X86_32',
'-DELF',
],
- }, {
+ }, { # target_arch=="x64"
'yasm_flags': [
+ '-DARCH_X86_64',
'-DELF',
'-DPIC',
],
],
},
{
- 'target_name': 'media_mmx',
- 'type': 'static_library',
- 'cflags': [
- '-mmmx',
- ],
- 'defines': [
- 'MEDIA_IMPLEMENTATION',
- ],
- 'include_dirs': [
- '..',
- ],
- 'sources': [
- 'base/simd/filter_yuv_mmx.cc',
- ],
- },
- {
- 'target_name': 'media_sse',
- 'type': 'static_library',
- 'cflags': [
- '-msse',
- ],
- 'defines': [
- 'MEDIA_IMPLEMENTATION',
- ],
- 'include_dirs': [
- '..',
- ],
- 'sources': [
- 'base/simd/sinc_resampler_sse.cc',
- ],
- },
- {
'target_name': 'media_sse2',
'type': 'static_library',
'cflags': [
'base/simd/filter_yuv_sse2.cc',
],
},
- {
- 'target_name': 'shared_memory_support_sse',
- 'type': 'static_library',
- 'cflags': [
- '-msse',
- ],
- 'defines': [
- 'MEDIA_IMPLEMENTATION',
- ],
- 'include_dirs': [
- '..',
- ],
- 'sources': [
- 'base/simd/vector_math_sse.cc',
- ],
- },
], # targets
}],
['use_x11==1', {
'type': 'executable',
'dependencies': [
'media',
+ 'shared_memory_support',
'../base/base.gyp:base',
'../ui/gl/gl.gyp:gl',
'../ui/gfx/gfx.gyp:gfx',
'../ui/gfx/gfx.gyp:gfx_geometry',
+ '../build/linux/system.gyp:x11',
+ '../build/linux/system.gyp:xext',
+ '../build/linux/system.gyp:xrender',
],
- 'link_settings': {
- 'libraries': [
- '-lX11',
- '-lXrender',
- '-lXext',
- ],
- },
'conditions': [
# Linux/Solaris need libdl for dlopen() and friends.
['OS=="linux" or OS=="solaris"', {
},
],
}],
- # Special target to wrap a gtest_target_type==shared_library
- # media_unittests into an android apk for execution.
- ['OS=="android" and gtest_target_type=="shared_library"', {
+ ['OS=="android"', {
'targets': [
{
+ # TODO(GN)
'target_name': 'media_unittests_apk',
'type': 'none',
'dependencies': [
],
'variables': {
'test_suite_name': 'media_unittests',
- 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)media_unittests<(SHARED_LIB_SUFFIX)',
},
'includes': ['../build/apk_test.gypi'],
},
{
+ # TODO(GN)
'target_name': 'media_perftests_apk',
'type': 'none',
'dependencies': [
],
'variables': {
'test_suite_name': 'media_perftests',
- 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)media_perftests<(SHARED_LIB_SUFFIX)',
},
'includes': ['../build/apk_test.gypi'],
},
- ],
- }],
- ['OS=="android"', {
- 'targets': [
{
+ # GN: //media/base/android:media_android_jni_headers
'target_name': 'media_android_jni_headers',
'type': 'none',
'sources': [
'base/android/java/src/org/chromium/media/MediaDrmBridge.java',
'base/android/java/src/org/chromium/media/MediaPlayerBridge.java',
'base/android/java/src/org/chromium/media/MediaPlayerListener.java',
+ 'base/android/java/src/org/chromium/media/UsbMidiDeviceAndroid.java',
+ 'base/android/java/src/org/chromium/media/UsbMidiDeviceFactoryAndroid.java',
'base/android/java/src/org/chromium/media/WebAudioMediaCodecBridge.java',
],
'variables': {
'jni_gen_package': 'media',
- 'jni_generator_ptr_type': 'long',
},
'includes': ['../build/jni_generator.gypi'],
},
{
+ # GN: //media/base/android:video_capture_android_jni_headers
'target_name': 'video_capture_android_jni_headers',
'type': 'none',
'sources': [
'base/android/java/src/org/chromium/media/VideoCapture.java',
+ 'base/android/java/src/org/chromium/media/VideoCaptureFactory.java',
],
'variables': {
'jni_gen_package': 'media',
- 'jni_generator_ptr_type': 'long',
},
'includes': ['../build/jni_generator.gypi'],
},
{
+ # GN: //media/base/android:android
'target_name': 'player_android',
'type': 'static_library',
'sources': [
'base/android/audio_decoder_job.cc',
'base/android/audio_decoder_job.h',
+ 'base/android/browser_cdm_factory_android.cc',
'base/android/media_codec_bridge.cc',
'base/android/media_codec_bridge.h',
+ 'base/android/media_common_android.h',
'base/android/media_decoder_job.cc',
'base/android/media_decoder_job.h',
'base/android/media_drm_bridge.cc',
'base/android/media_player_listener.h',
'base/android/media_source_player.cc',
'base/android/media_source_player.h',
+ 'base/android/media_url_interceptor.h',
'base/android/video_decoder_job.cc',
'base/android/video_decoder_job.h',
'base/android/webaudio_media_codec_bridge.cc',
],
'dependencies': [
'../base/base.gyp:base',
+ '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h',
'../ui/gl/gl.gyp:gl',
'../url/url.gyp:url_lib',
'media_android_jni_headers',
],
+ 'include_dirs': [
+ # Needed by media_drm_bridge.cc.
+ '<(SHARED_INTERMEDIATE_DIR)',
+ ],
'defines': [
'MEDIA_IMPLEMENTATION',
],
},
{
+ # GN: //media/base/android:media_java
'target_name': 'media_java',
'type': 'none',
'dependencies': [
'includes': ['../build/java.gypi'],
},
{
+ # GN: //media/base/android:media_android_imageformat_list
'target_name': 'media_android_imageformat_list',
'type': 'none',
'sources': [
['media_use_ffmpeg==1', {
'targets': [
{
+ # GN version: //media:ffmpeg_unittests
'target_name': 'ffmpeg_unittests',
'type': 'executable',
'dependencies': [
'../base/base.gyp:base',
'../base/base.gyp:base_i18n',
'../base/base.gyp:test_support_base',
- '../base/base.gyp:test_support_perf',
'../testing/gtest.gyp:gtest',
'../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
'media',
'sources': [
'ffmpeg/ffmpeg_unittest.cc',
],
- 'conditions': [
- ['toolkit_uses_gtk==1', {
- 'dependencies': [
- # Needed for the following #include chain:
- # base/run_all_unittests.cc
- # ../base/test_suite.h
- # gtk/gtk.h
- '../build/linux/system.gyp:gtk',
- ],
- 'conditions': [
- ['linux_use_tcmalloc==1', {
- 'dependencies': [
- '../base/allocator/allocator.gyp:allocator',
- ],
- }],
- ],
- }],
- ],
},
{
+ # GN version: //media:ffmpeg_regression_tests
'target_name': 'ffmpeg_regression_tests',
'type': 'executable',
'dependencies': [
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
'../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
+ '../ui/gfx/gfx.gyp:gfx_geometry',
'media',
'media_test_support',
],
'sources': [
'base/run_all_unittests.cc',
- 'base/test_data_util.cc',
'ffmpeg/ffmpeg_regression_tests.cc',
'filters/pipeline_integration_test_base.cc',
],
'conditions': [
['os_posix==1 and OS!="mac"', {
'conditions': [
- ['linux_use_tcmalloc==1', {
+ ['use_allocator!="none"', {
'dependencies': [
'../base/allocator/allocator.gyp:allocator',
],
},
],
}],
+ ['OS=="ios"', {
+ 'targets': [
+ {
+ # Minimal media component for media/cast on iOS.
+ # GN version: //media:media_for_cast_ios
+ 'target_name': 'media_for_cast_ios',
+ 'type': '<(component)',
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../ui/gfx/gfx.gyp:gfx_geometry',
+ 'shared_memory_support',
+ ],
+ 'defines': [
+ 'MEDIA_IMPLEMENTATION',
+ 'MEDIA_FOR_CAST_IOS',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '..',
+ ],
+ },
+ 'include_dirs': [
+ '..',
+ ],
+ 'sources': [
+ 'base/mac/coremedia_glue.h',
+ 'base/mac/coremedia_glue.mm',
+ 'base/mac/corevideo_glue.h',
+ 'base/mac/videotoolbox_glue.h',
+ 'base/mac/videotoolbox_glue.mm',
+ 'base/video_frame.cc',
+ 'base/video_frame.h',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/CoreVideo.framework',
+ ],
+ },
+ 'conditions': [
+ ['arm_neon==1', {
+ 'defines': [
+ 'USE_NEON'
+ ],
+ }],
+ ], # conditions
+ 'target_conditions': [
+ ['OS == "ios" and _toolset != "host"', {
+ 'sources/': [
+ # Pull in specific Mac files for iOS (which have been filtered
+ # out by file name rules).
+ ['include', '^base/mac/coremedia_glue\\.h$'],
+ ['include', '^base/mac/coremedia_glue\\.mm$'],
+ ['include', '^base/mac/corevideo_glue\\.h$'],
+ ['include', '^base/mac/videotoolbox_glue\\.h$'],
+ ['include', '^base/mac/videotoolbox_glue\\.mm$'],
+ ],
+ }],
+ ], # target_conditions
+ },
+ ],
+ }],
],
}