Index: media/mojo/services/BUILD.gn |
diff --git a/media/mojo/services/BUILD.gn b/media/mojo/services/BUILD.gn |
index 3ceeb56501288021fb8d97541aa771e50285650a..072f324d4e3be6e4210cd411c7444a5b1b3056dd 100644 |
--- a/media/mojo/services/BUILD.gn |
+++ b/media/mojo/services/BUILD.gn |
@@ -4,82 +4,97 @@ |
import("//mojo/public/mojo_application.gni") |
-# Things needed by multiple targets, like renderer_impl and renderer_app. |
-source_set("lib") { |
- deps = [ |
- "//base", |
- "//media", |
- "//media/mojo/interfaces", |
- "//mojo/common", |
- "//mojo/converters/geometry", |
- "//mojo/environment:chromium", |
- "//mojo/public/c/system:for_component", |
- "//mojo/services/public/interfaces/geometry", |
- "//skia", |
- ] |
+# Target naming conventions: |
+# - converters: C++/Mojo type converters. |
+# - proxy: C++ implementations supported by mojo services. |
+# - service: Mojo interface implementations. |
+# - unittests: Unit tests for a particular class/file. |
+# - test: Tests for a particular app, e.g. media. |
+source_set("converters") { |
sources = [ |
"media_type_converters.cc", |
"media_type_converters.h", |
- "mojo_demuxer_stream_adapter.cc", |
- "mojo_demuxer_stream_adapter.h", |
] |
-} |
-# mojo media::Renderer proxy (to a renderer_app) implementation. |
-source_set("renderer_impl_lib") { |
deps = [ |
- ":lib", |
"//base", |
"//media", |
"//media/mojo/interfaces", |
- "//mojo/public/interfaces/application", |
"//mojo/common", |
+ "//mojo/converters/geometry", |
"//mojo/environment:chromium", |
"//mojo/public/c/system:for_component", |
- "//mojo/public/cpp/application", |
+ "//mojo/services/public/interfaces/geometry", |
+ "//skia", |
] |
+} |
+# media::Renderer implementation using mojo::MediaRenderer. |
+source_set("renderer_proxy") { |
sources = [ |
"mojo_demuxer_stream_impl.cc", |
"mojo_demuxer_stream_impl.h", |
"mojo_renderer_impl.cc", |
"mojo_renderer_impl.h", |
] |
-} |
- |
-# mojo media::Renderer application. |
-mojo_native_application("renderer_app") { |
- output_name = "mojo_media_renderer_app" |
deps = [ |
+ ":converters", |
"//base", |
"//media", |
- "//media:shared_memory_support", |
"//media/mojo/interfaces", |
"//mojo/common", |
- "//mojo/application", |
- "//mojo/public/c/system:for_shared_library", |
- ":lib", |
+ "//mojo/environment:chromium", |
+ "//mojo/public/c/system:for_component", |
+ "//mojo/public/cpp/application", |
+ "//mojo/public/interfaces/application", |
] |
+} |
+# MediaRenderer service. |
+source_set("renderer_service") { |
sources = [ |
"demuxer_stream_provider_shim.cc", |
"demuxer_stream_provider_shim.h", |
+ "mojo_demuxer_stream_adapter.cc", |
+ "mojo_demuxer_stream_adapter.h", |
"mojo_renderer_service.cc", |
"mojo_renderer_service.h", |
"renderer_config.cc", |
"renderer_config.h", |
"renderer_config_default.cc", |
] |
+ |
+ deps = [ |
+ ":converters", |
+ "//base", |
+ "//media", |
+ "//media/mojo/interfaces", |
+ "//media:shared_memory_support", |
+ "//mojo/common", |
+ ] |
} |
-test("mojo_media_lib_unittests") { |
+mojo_native_application("media") { |
+ sources = [ |
+ "mojo_media_application.cc", |
+ ] |
+ |
+ deps = [ |
+ ":renderer_service", |
+ "//mojo/application", |
+ "//mojo/public/c/system:for_shared_library", |
+ ] |
+} |
+ |
+test("media_mojo_unittests") { |
sources = [ |
"media_type_converters_unittest.cc", |
] |
deps = [ |
+ ":converters", |
"//base", |
"//base/test:test_support", |
"//media", |
@@ -88,51 +103,45 @@ test("mojo_media_lib_unittests") { |
"//mojo/edk/test:run_all_unittests", |
"//mojo/environment:chromium", |
"//testing/gtest", |
- ":lib", |
] |
} |
# Not a 'test' because this is loaded via mojo_shell as an app. |
# To run the test: |
-# out/Debug/mojo_shell mojo:mojo_media_renderer_apptest |
-# You may need to get "mojo_shell" from a mojo checkout and symlink all required |
-# libraries. |
-mojo_native_application("media_renderer_apptest") { |
+# out/Debug/mojo_shell mojo:media_test |
+# You can get "mojo_shell" using mojo/public/tools/download_shell_binary.py |
+mojo_native_application("media_test") { |
testonly = true |
- output_name = "mojo_media_renderer_apptest" |
+ sources = [ |
+ "media_renderer_apptest.cc", |
+ ] |
deps = [ |
+ ":media", |
+ ":renderer_proxy", |
"//base", |
"//media", |
- "//media:shared_memory_support", |
"//media/mojo/interfaces", |
+ "//media:shared_memory_support", |
"//mojo/application", |
"//mojo/application:test_support", |
"//mojo/common", |
"//mojo/environment:chromium", |
- ":renderer_impl_lib", |
- ":renderer_app", |
- ":lib", |
"//mojo/public/c/system:for_shared_library", |
] |
- |
- sources = [ |
- "media_renderer_apptest.cc", |
- ] |
} |
group("services") { |
deps = [ |
- ":lib", |
- ":renderer_impl_lib", |
- ":renderer_app", |
+ ":media", |
+ ":renderer_proxy", |
] |
} |
group("tests") { |
testonly = true |
deps = [ |
- ":mojo_media_lib_unittests", |
- ":media_renderer_apptest", |
+ ":media_mojo_unittests", |
+ ":media_test", |
] |
} |