| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import("//mojo/public/mojo_application.gni") | 5 import("//mojo/public/mojo_application.gni") |
| 6 | 6 |
| 7 # Things needed by multiple targets, like renderer_impl and renderer_app. | 7 # Target naming conventions: |
| 8 source_set("lib") { | 8 # - converters: C++/Mojo type converters. |
| 9 # - proxy: C++ implementations supported by mojo services. |
| 10 # - service: Mojo interface implementations. |
| 11 # - unittests: Unit tests for a particular class/file. |
| 12 # - test: Tests for a particular app, e.g. media. |
| 13 |
| 14 source_set("converters") { |
| 15 sources = [ |
| 16 "media_type_converters.cc", |
| 17 "media_type_converters.h", |
| 18 ] |
| 19 |
| 9 deps = [ | 20 deps = [ |
| 10 "//base", | 21 "//base", |
| 11 "//media", | 22 "//media", |
| 12 "//media/mojo/interfaces", | 23 "//media/mojo/interfaces", |
| 13 "//mojo/common", | 24 "//mojo/common", |
| 14 "//mojo/converters/geometry", | 25 "//mojo/converters/geometry", |
| 15 "//mojo/environment:chromium", | 26 "//mojo/environment:chromium", |
| 16 "//mojo/public/c/system:for_component", | 27 "//mojo/public/c/system:for_component", |
| 17 "//mojo/services/public/interfaces/geometry", | 28 "//mojo/services/public/interfaces/geometry", |
| 18 "//skia", | 29 "//skia", |
| 19 ] | 30 ] |
| 20 | |
| 21 sources = [ | |
| 22 "media_type_converters.cc", | |
| 23 "media_type_converters.h", | |
| 24 "mojo_demuxer_stream_adapter.cc", | |
| 25 "mojo_demuxer_stream_adapter.h", | |
| 26 ] | |
| 27 } | 31 } |
| 28 | 32 |
| 29 # mojo media::Renderer proxy (to a renderer_app) implementation. | 33 # media::Renderer implementation using mojo::MediaRenderer. |
| 30 source_set("renderer_impl_lib") { | 34 source_set("renderer_proxy") { |
| 31 deps = [ | |
| 32 ":lib", | |
| 33 "//base", | |
| 34 "//media", | |
| 35 "//media/mojo/interfaces", | |
| 36 "//mojo/public/interfaces/application", | |
| 37 "//mojo/common", | |
| 38 "//mojo/environment:chromium", | |
| 39 "//mojo/public/c/system:for_component", | |
| 40 "//mojo/public/cpp/application", | |
| 41 ] | |
| 42 | |
| 43 sources = [ | 35 sources = [ |
| 44 "mojo_demuxer_stream_impl.cc", | 36 "mojo_demuxer_stream_impl.cc", |
| 45 "mojo_demuxer_stream_impl.h", | 37 "mojo_demuxer_stream_impl.h", |
| 46 "mojo_renderer_impl.cc", | 38 "mojo_renderer_impl.cc", |
| 47 "mojo_renderer_impl.h", | 39 "mojo_renderer_impl.h", |
| 48 ] | 40 ] |
| 41 |
| 42 deps = [ |
| 43 ":converters", |
| 44 "//base", |
| 45 "//media", |
| 46 "//media/mojo/interfaces", |
| 47 "//mojo/common", |
| 48 "//mojo/environment:chromium", |
| 49 "//mojo/public/c/system:for_component", |
| 50 "//mojo/public/cpp/application", |
| 51 "//mojo/public/interfaces/application", |
| 52 ] |
| 49 } | 53 } |
| 50 | 54 |
| 51 # mojo media::Renderer application. | 55 # MediaRenderer service. |
| 52 mojo_native_application("renderer_app") { | 56 source_set("renderer_service") { |
| 53 output_name = "mojo_media_renderer_app" | |
| 54 | |
| 55 deps = [ | |
| 56 "//base", | |
| 57 "//media", | |
| 58 "//media:shared_memory_support", | |
| 59 "//media/mojo/interfaces", | |
| 60 "//mojo/common", | |
| 61 "//mojo/application", | |
| 62 "//mojo/public/c/system:for_shared_library", | |
| 63 ":lib", | |
| 64 ] | |
| 65 | |
| 66 sources = [ | 57 sources = [ |
| 67 "demuxer_stream_provider_shim.cc", | 58 "demuxer_stream_provider_shim.cc", |
| 68 "demuxer_stream_provider_shim.h", | 59 "demuxer_stream_provider_shim.h", |
| 60 "mojo_demuxer_stream_adapter.cc", |
| 61 "mojo_demuxer_stream_adapter.h", |
| 69 "mojo_renderer_service.cc", | 62 "mojo_renderer_service.cc", |
| 70 "mojo_renderer_service.h", | 63 "mojo_renderer_service.h", |
| 71 "renderer_config.cc", | 64 "renderer_config.cc", |
| 72 "renderer_config.h", | 65 "renderer_config.h", |
| 73 "renderer_config_default.cc", | 66 "renderer_config_default.cc", |
| 74 ] | 67 ] |
| 68 |
| 69 deps = [ |
| 70 ":converters", |
| 71 "//base", |
| 72 "//media", |
| 73 "//media/mojo/interfaces", |
| 74 "//media:shared_memory_support", |
| 75 "//mojo/common", |
| 76 ] |
| 75 } | 77 } |
| 76 | 78 |
| 77 test("mojo_media_lib_unittests") { | 79 mojo_native_application("media") { |
| 80 sources = [ |
| 81 "mojo_media_application.cc", |
| 82 ] |
| 83 |
| 84 deps = [ |
| 85 ":renderer_service", |
| 86 "//mojo/application", |
| 87 "//mojo/public/c/system:for_shared_library", |
| 88 ] |
| 89 } |
| 90 |
| 91 test("media_mojo_unittests") { |
| 78 sources = [ | 92 sources = [ |
| 79 "media_type_converters_unittest.cc", | 93 "media_type_converters_unittest.cc", |
| 80 ] | 94 ] |
| 81 | 95 |
| 82 deps = [ | 96 deps = [ |
| 97 ":converters", |
| 83 "//base", | 98 "//base", |
| 84 "//base/test:test_support", | 99 "//base/test:test_support", |
| 85 "//media", | 100 "//media", |
| 86 "//media/mojo/interfaces", | 101 "//media/mojo/interfaces", |
| 87 "//mojo/edk/system", | 102 "//mojo/edk/system", |
| 88 "//mojo/edk/test:run_all_unittests", | 103 "//mojo/edk/test:run_all_unittests", |
| 89 "//mojo/environment:chromium", | 104 "//mojo/environment:chromium", |
| 90 "//testing/gtest", | 105 "//testing/gtest", |
| 91 ":lib", | |
| 92 ] | 106 ] |
| 93 } | 107 } |
| 94 | 108 |
| 95 # Not a 'test' because this is loaded via mojo_shell as an app. | 109 # Not a 'test' because this is loaded via mojo_shell as an app. |
| 96 # To run the test: | 110 # To run the test: |
| 97 # out/Debug/mojo_shell mojo:mojo_media_renderer_apptest | 111 # out/Debug/mojo_shell mojo:media_test |
| 98 # You may need to get "mojo_shell" from a mojo checkout and symlink all required | 112 # You can get "mojo_shell" using mojo/public/tools/download_shell_binary.py |
| 99 # libraries. | 113 mojo_native_application("media_test") { |
| 100 mojo_native_application("media_renderer_apptest") { | |
| 101 testonly = true | 114 testonly = true |
| 102 output_name = "mojo_media_renderer_apptest" | 115 sources = [ |
| 116 "media_renderer_apptest.cc", |
| 117 ] |
| 103 | 118 |
| 104 deps = [ | 119 deps = [ |
| 120 ":media", |
| 121 ":renderer_proxy", |
| 105 "//base", | 122 "//base", |
| 106 "//media", | 123 "//media", |
| 124 "//media/mojo/interfaces", |
| 107 "//media:shared_memory_support", | 125 "//media:shared_memory_support", |
| 108 "//media/mojo/interfaces", | |
| 109 "//mojo/application", | 126 "//mojo/application", |
| 110 "//mojo/application:test_support", | 127 "//mojo/application:test_support", |
| 111 "//mojo/common", | 128 "//mojo/common", |
| 112 "//mojo/environment:chromium", | 129 "//mojo/environment:chromium", |
| 113 ":renderer_impl_lib", | |
| 114 ":renderer_app", | |
| 115 ":lib", | |
| 116 "//mojo/public/c/system:for_shared_library", | 130 "//mojo/public/c/system:for_shared_library", |
| 117 ] | 131 ] |
| 118 | |
| 119 sources = [ | |
| 120 "media_renderer_apptest.cc", | |
| 121 ] | |
| 122 } | 132 } |
| 123 | 133 |
| 124 group("services") { | 134 group("services") { |
| 125 deps = [ | 135 deps = [ |
| 126 ":lib", | 136 ":media", |
| 127 ":renderer_impl_lib", | 137 ":renderer_proxy", |
| 128 ":renderer_app", | |
| 129 ] | 138 ] |
| 130 } | 139 } |
| 131 | 140 |
| 132 group("tests") { | 141 group("tests") { |
| 133 testonly = true | 142 testonly = true |
| 134 deps = [ | 143 deps = [ |
| 135 ":mojo_media_lib_unittests", | 144 ":media_mojo_unittests", |
| 136 ":media_renderer_apptest", | 145 ":media_test", |
| 137 ] | 146 ] |
| 138 } | 147 } |
| OLD | NEW |