Tracking bug for new midi service.
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/d22c7f5e27dc2b10ba2a8d275a5e3101848849d3 commit d22c7f5e27dc2b10ba2a8d275a5e3101848849d3 Author: Prashant Malani <pmalani@google.com> Date: Thu Mar 16 23:15:01 2017 midis: Initial ebuild BUG= chromium:701005 TEST=emerge-veyron_minnie midis CQ-DEPEND=CL:454098 Change-Id: Ia509fc35251a88e7f908221a136ef96fc24cf753 Reviewed-on: https://chromium-review.googlesource.com/454118 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [add] https://crrev.com/d22c7f5e27dc2b10ba2a8d275a5e3101848849d3/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/eclass-overlay/+/924c873e10f92f9453b838485bcce3096128d4b4 commit 924c873e10f92f9453b838485bcce3096128d4b4 Author: Prashant Malani <pmalani@google.com> Date: Thu Mar 16 23:15:01 2017 Add user for midis client and server. BUG= chromium:701005 TEST=none Change-Id: Iee1df46c1ca32b33a9f12f0eb5bcc46b3ca33142 Reviewed-on: https://chromium-review.googlesource.com/454098 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Dylan Reid <dgreid@chromium.org> [add] https://crrev.com/924c873e10f92f9453b838485bcce3096128d4b4/profiles/base/accounts/group/midis [add] https://crrev.com/924c873e10f92f9453b838485bcce3096128d4b4/profiles/base/accounts/user/midis
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/5beb10bae6379866c154964d8951f19bf09cc633 commit 5beb10bae6379866c154964d8951f19bf09cc633 Author: Prashant Malani <pmalani@google.com> Date: Thu Mar 16 23:15:01 2017 midis: Initial skeleton daemon BUG= chromium:701005 TEST=emerge-veyron_minnie midis CQ-DEPEND=CL:454118 Change-Id: Iefc568073366ef1a2bdeee608bfd41f77ef4d7f4 Reviewed-on: https://chromium-review.googlesource.com/453979 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Dylan Reid <dgreid@chromium.org> [add] https://crrev.com/5beb10bae6379866c154964d8951f19bf09cc633/midis/init/midis.conf [add] https://crrev.com/5beb10bae6379866c154964d8951f19bf09cc633/midis/README.md [add] https://crrev.com/5beb10bae6379866c154964d8951f19bf09cc633/midis/midis.gyp [add] https://crrev.com/5beb10bae6379866c154964d8951f19bf09cc633/midis/main.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/24735ab2504cee2d85a0a5684e5b064db8d42c80 commit 24735ab2504cee2d85a0a5684e5b064db8d42c80 Author: Prashant Malani <pmalani@google.com> Date: Tue Mar 21 23:47:38 2017 Add midis to group baseline BUG= chromium:701005 TEST=Local test_that of security_AccountsBaseline CQ-DEPEND=CL:456743 Change-Id: I7c453d81ebf8e087f2362f91bbe7d988230e4c8c Reviewed-on: https://chromium-review.googlesource.com/456653 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/24735ab2504cee2d85a0a5684e5b064db8d42c80/client/site_tests/security_AccountsBaseline/baseline.group [modify] https://crrev.com/24735ab2504cee2d85a0a5684e5b064db8d42c80/client/site_tests/security_AccountsBaseline/baseline.passwd
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/eclass-overlay/+/28e997739629cad16d25a44a17b5045eec80d7ed commit 28e997739629cad16d25a44a17b5045eec80d7ed Author: Prashant Malani <pmalani@google.com> Date: Tue Mar 21 23:47:38 2017 Add midis user to audio group This allows the MIDI service to perform ioctls on /dev/snd. BUG= chromium:701005 TEST=emerge-veyron_minnie midis CQ-DEPEND=CL:*338552 Change-Id: Id9447dd73c36d662ca534b3a54deb06dfa8f6879 Reviewed-on: https://chromium-review.googlesource.com/456743 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/28e997739629cad16d25a44a17b5045eec80d7ed/profiles/base/accounts/group/audio
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/224d3ca9cca24a840b9561f377c3a0ec0187620e commit 224d3ca9cca24a840b9561f377c3a0ec0187620e Author: Prashant Malani <pmalani@google.com> Date: Wed Mar 22 22:33:35 2017 midis: Add code for device monitoring. This patch adds a DeviceManager class and sets up a thread to watch for device connection/disconnection. It also uses a combination of udev and ioctl (mostly udev), to extract device information, and add it to a list of devices (maintained by the device manager). Devices are key-ed by a combination of their card number and device number. The same key is used to remove devices on disconnection. BUG= chromium:701005 TEST=emerge-veyron_minnie midis CQ-DEPEND=CL:456743 Change-Id: I0496f4e1f0ef070e40429bd724e84807334ccc79 Reviewed-on: https://chromium-review.googlesource.com/456764 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [add] https://crrev.com/224d3ca9cca24a840b9561f377c3a0ec0187620e/midis/device_tracker.h [add] https://crrev.com/224d3ca9cca24a840b9561f377c3a0ec0187620e/midis/daemon.cc [add] https://crrev.com/224d3ca9cca24a840b9561f377c3a0ec0187620e/midis/daemon.h [add] https://crrev.com/224d3ca9cca24a840b9561f377c3a0ec0187620e/midis/device_tracker.cc [modify] https://crrev.com/224d3ca9cca24a840b9561f377c3a0ec0187620e/midis/init/midis.conf [modify] https://crrev.com/224d3ca9cca24a840b9561f377c3a0ec0187620e/midis/main.cc [modify] https://crrev.com/224d3ca9cca24a840b9561f377c3a0ec0187620e/midis/midis.gyp
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/d91f489659e87006baef063879aaa480bd74444f commit d91f489659e87006baef063879aaa480bd74444f Author: Prashant Malani <pmalani@google.com> Date: Fri Mar 31 12:31:46 2017 midis: Add AddDevice unit test for DeviceTracker This test checks whether the AddDevice call succeeded or not. This patch also modifies the Udev handling code a bit in order to make it easily mockable for a unit test. BUG= chromium:701005 CQ-DEPEND=CL:458585 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" Change-Id: Id1867e2c4fd06fee4cd480eabd4049e4b499f9d8 Reviewed-on: https://chromium-review.googlesource.com/458530 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [modify] https://crrev.com/d91f489659e87006baef063879aaa480bd74444f/midis/device_tracker.h [modify] https://crrev.com/d91f489659e87006baef063879aaa480bd74444f/midis/main.cc [add] https://crrev.com/d91f489659e87006baef063879aaa480bd74444f/midis/udev_handler_mock.h [modify] https://crrev.com/d91f489659e87006baef063879aaa480bd74444f/midis/daemon.cc [modify] https://crrev.com/d91f489659e87006baef063879aaa480bd74444f/midis/device_tracker.cc [add] https://crrev.com/d91f489659e87006baef063879aaa480bd74444f/midis/device_tracker_test.cc [modify] https://crrev.com/d91f489659e87006baef063879aaa480bd74444f/midis/midis.gyp
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/e0868df7361b2c5740fa46278a63336150845016 commit e0868df7361b2c5740fa46278a63336150845016 Author: Prashant Malani <pmalani@google.com> Date: Fri Apr 07 05:27:01 2017 midis: Add UdevHandler unit test to midis ebuild BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" CQ-DEPEND=CL:466551 Change-Id: Ic653cb9c9b83ccb6db16a85a3db26a11240e23d7 Reviewed-on: https://chromium-review.googlesource.com/466589 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/e0868df7361b2c5740fa46278a63336150845016/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/65c80f0e65a80987a14bcc9f169cb2f510371b4e commit 65c80f0e65a80987a14bcc9f169cb2f510371b4e Author: Prashant Malani <pmalani@google.com> Date: Fri Apr 07 05:27:01 2017 midis: Move device creation into UdevHandler class This patch moves most of the udev_device handling work into a UdevHandler Class. We also add a couple of unit tests for the UdevHandler class. BUG= chromium:701005 CQ-DEPEND=CL:466589 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" Change-Id: I2ea1689838a415c3ff12316d2d600141522cfdf0 Reviewed-on: https://chromium-review.googlesource.com/466551 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [modify] https://crrev.com/65c80f0e65a80987a14bcc9f169cb2f510371b4e/midis/device_tracker.h [modify] https://crrev.com/65c80f0e65a80987a14bcc9f169cb2f510371b4e/midis/udev_handler_mock.h [modify] https://crrev.com/65c80f0e65a80987a14bcc9f169cb2f510371b4e/midis/device_tracker.cc [add] https://crrev.com/65c80f0e65a80987a14bcc9f169cb2f510371b4e/midis/test_helper.h [modify] https://crrev.com/65c80f0e65a80987a14bcc9f169cb2f510371b4e/midis/device_tracker_test.cc [modify] https://crrev.com/65c80f0e65a80987a14bcc9f169cb2f510371b4e/midis/midis.gyp [add] https://crrev.com/65c80f0e65a80987a14bcc9f169cb2f510371b4e/midis/udev_handler_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/19788f41e820ab5890f9672c2713886003986640 commit 19788f41e820ab5890f9672c2713886003986640 Author: Prashant Malani <pmalani@google.com> Date: Tue Apr 25 21:03:43 2017 midis: Add code to handle MIDI events. Move Device related code into a separate file (device.cc), and add code to handle receipt of MIDI events. We currently don't do anything with the events, and just print the buffer to the console. BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" CQ-DEPEND=CL:474166 Change-Id: Ib47794cc5c8e2b9746ac07103b0342006bae821b Reviewed-on: https://chromium-review.googlesource.com/466466 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [add] https://crrev.com/19788f41e820ab5890f9672c2713886003986640/midis/device_test.cc [add] https://crrev.com/19788f41e820ab5890f9672c2713886003986640/midis/device.h [modify] https://crrev.com/19788f41e820ab5890f9672c2713886003986640/midis/test_helper.h [modify] https://crrev.com/19788f41e820ab5890f9672c2713886003986640/midis/device_tracker.cc [modify] https://crrev.com/19788f41e820ab5890f9672c2713886003986640/midis/device_tracker.h [add] https://crrev.com/19788f41e820ab5890f9672c2713886003986640/midis/file_handler.h [add] https://crrev.com/19788f41e820ab5890f9672c2713886003986640/midis/file_handler.cc [modify] https://crrev.com/19788f41e820ab5890f9672c2713886003986640/midis/midis.gyp [modify] https://crrev.com/19788f41e820ab5890f9672c2713886003986640/midis/udev_handler_test.cc [add] https://crrev.com/19788f41e820ab5890f9672c2713886003986640/midis/device.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/700c525c4ba6b376d98e3053512d6be42412fc48 commit 700c525c4ba6b376d98e3053512d6be42412fc48 Author: Prashant Malani <pmalani@google.com> Date: Tue Apr 25 21:03:43 2017 midis: Add device unit test BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" CQ-DEPEND=CL:466466 Change-Id: I451798b24df74735ca94b176e521ace31dd81855 Reviewed-on: https://chromium-review.googlesource.com/474166 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/700c525c4ba6b376d98e3053512d6be42412fc48/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/f933473ad18d8a5e9c9757c1d225e2358f206685 commit f933473ad18d8a5e9c9757c1d225e2358f206685 Author: Prashant Malani <pmalani@google.com> Date: Sat Apr 29 05:25:41 2017 midis: Add some client message handling This patch adds a way to respond to requests for the list of devices (along with corresponding info). BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" Change-Id: I0712da123f9ee29457ae53462d068a8f57b80ffb Reviewed-on: https://chromium-review.googlesource.com/489562 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/f933473ad18d8a5e9c9757c1d225e2358f206685/midis/device_tracker.h [modify] https://crrev.com/f933473ad18d8a5e9c9757c1d225e2358f206685/midis/device.h [add] https://crrev.com/f933473ad18d8a5e9c9757c1d225e2358f206685/midis/messages.h [modify] https://crrev.com/f933473ad18d8a5e9c9757c1d225e2358f206685/midis/daemon.cc [modify] https://crrev.com/f933473ad18d8a5e9c9757c1d225e2358f206685/midis/device_tracker.cc [modify] https://crrev.com/f933473ad18d8a5e9c9757c1d225e2358f206685/midis/client_tracker.cc [modify] https://crrev.com/f933473ad18d8a5e9c9757c1d225e2358f206685/midis/client.h [modify] https://crrev.com/f933473ad18d8a5e9c9757c1d225e2358f206685/midis/client.cc [modify] https://crrev.com/f933473ad18d8a5e9c9757c1d225e2358f206685/midis/client_tracker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/3de2987f1c8dcd56fb354fcdb6eb5285800c604d commit 3de2987f1c8dcd56fb354fcdb6eb5285800c604d Author: Prashant Malani <pmalani@google.com> Date: Wed May 10 18:58:18 2017 midis: Add unit test for Client Tracker Currently just checks two cases: - Client can connect to ClientTracker service - Client can send message for list of devices, and receive a response. BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" CQ-DEPEND=CL:494826 Change-Id: I79eebb09154ef0981fa7fb831048e2d16f9da0fc Reviewed-on: https://chromium-review.googlesource.com/492370 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/3de2987f1c8dcd56fb354fcdb6eb5285800c604d/midis/device_test.cc [add] https://crrev.com/3de2987f1c8dcd56fb354fcdb6eb5285800c604d/midis/client_tracker_test.cc [modify] https://crrev.com/3de2987f1c8dcd56fb354fcdb6eb5285800c604d/midis/device_tracker.cc [modify] https://crrev.com/3de2987f1c8dcd56fb354fcdb6eb5285800c604d/midis/udev_handler_test.cc [modify] https://crrev.com/3de2987f1c8dcd56fb354fcdb6eb5285800c604d/midis/daemon.cc [modify] https://crrev.com/3de2987f1c8dcd56fb354fcdb6eb5285800c604d/midis/client_tracker.cc [modify] https://crrev.com/3de2987f1c8dcd56fb354fcdb6eb5285800c604d/midis/test_helper.h [modify] https://crrev.com/3de2987f1c8dcd56fb354fcdb6eb5285800c604d/midis/midis.gyp [modify] https://crrev.com/3de2987f1c8dcd56fb354fcdb6eb5285800c604d/midis/client_tracker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/8d68cd16cf66c8b834085fab367dc7281cd6d4b3 commit 8d68cd16cf66c8b834085fab367dc7281cd6d4b3 Author: Prashant Malani <pmalani@google.com> Date: Wed May 10 18:58:18 2017 midis: Add ClientTracker unit test BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" CQ-DEPEND=CL:492370 Change-Id: Ieeaeb79636f64438b3c10a45abd296bf0f890bff Reviewed-on: https://chromium-review.googlesource.com/494826 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/8d68cd16cf66c8b834085fab367dc7281cd6d4b3/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/324a4e1ff3d5dae1ec89d14041a44a36da5e7129 commit 324a4e1ff3d5dae1ec89d14041a44a36da5e7129 Author: Prashant Malani <pmalani@google.com> Date: Sun May 21 22:22:50 2017 midis: Add code for Device Added/Removed Notification Tells all clients that a MIDI device has been added/removed. BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" Change-Id: I8b4888b148c5512f57bd1181da01db1ef1e694ce Reviewed-on: https://chromium-review.googlesource.com/493798 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/324a4e1ff3d5dae1ec89d14041a44a36da5e7129/midis/device_tracker.h [modify] https://crrev.com/324a4e1ff3d5dae1ec89d14041a44a36da5e7129/midis/messages.h [modify] https://crrev.com/324a4e1ff3d5dae1ec89d14041a44a36da5e7129/midis/client_tracker_test.cc [modify] https://crrev.com/324a4e1ff3d5dae1ec89d14041a44a36da5e7129/midis/device_tracker.cc [modify] https://crrev.com/324a4e1ff3d5dae1ec89d14041a44a36da5e7129/midis/client.h [modify] https://crrev.com/324a4e1ff3d5dae1ec89d14041a44a36da5e7129/midis/client.cc [modify] https://crrev.com/324a4e1ff3d5dae1ec89d14041a44a36da5e7129/midis/midis.gyp
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/3e40a039021980c179fc9b23bb0f2134b7dd3765 commit 3e40a039021980c179fc9b23bb0f2134b7dd3765 Author: Prashant Malani <pmalani@google.com> Date: Wed May 24 06:59:10 2017 midis: Allow client to request subdevice This patch adds support to allow a client to Request the ability to listen to a port. The service then sends an fd back to the client, on which the client can listen for MIDI events. BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" Change-Id: I8dcce402a4c922087a380f39a8265dc5e77966e0 Reviewed-on: https://chromium-review.googlesource.com/500567 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/device_test.cc [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/device.h [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/messages.h [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/device_tracker.cc [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/device_tracker.h [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/client_tracker.cc [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/file_handler.cc [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/client.h [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/file_handler.h [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/client.cc [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/client_tracker.h [modify] https://crrev.com/3e40a039021980c179fc9b23bb0f2134b7dd3765/midis/device.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/a11c9ce740418c694cd866666dba07b2981ee046 commit a11c9ce740418c694cd866666dba07b2981ee046 Author: Prashant Malani <pmalani@google.com> Date: Fri May 26 00:16:02 2017 midis: Receive messages from client and write to h/w This patch adds support to receive MIDI messages from a client, and writes them to the subdevice in question. BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" Change-Id: Ia3cbaa05cc52e14007b29fdab7524d4ac931f6a2 Reviewed-on: https://chromium-review.googlesource.com/514323 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [modify] https://crrev.com/a11c9ce740418c694cd866666dba07b2981ee046/midis/device_test.cc [modify] https://crrev.com/a11c9ce740418c694cd866666dba07b2981ee046/midis/device.h [add] https://crrev.com/a11c9ce740418c694cd866666dba07b2981ee046/midis/subdevice_client_fd_holder.cc [add] https://crrev.com/a11c9ce740418c694cd866666dba07b2981ee046/midis/subdevice_client_fd_holder.h [modify] https://crrev.com/a11c9ce740418c694cd866666dba07b2981ee046/midis/file_handler.h [modify] https://crrev.com/a11c9ce740418c694cd866666dba07b2981ee046/midis/file_handler.cc [modify] https://crrev.com/a11c9ce740418c694cd866666dba07b2981ee046/midis/client.cc [modify] https://crrev.com/a11c9ce740418c694cd866666dba07b2981ee046/midis/midis.gyp [modify] https://crrev.com/a11c9ce740418c694cd866666dba07b2981ee046/midis/device.cc [add] https://crrev.com/a11c9ce740418c694cd866666dba07b2981ee046/midis/constants.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/466e356762832287882436a41ed544ce6ead28f5 commit 466e356762832287882436a41ed544ce6ead28f5 Author: Prashant Malani <pmalani@google.com> Date: Thu Jun 08 06:45:27 2017 midis: Add client functional test Should receive the correct number of devices from the server, and should successfully receive messages from a device h/w. To simulate the presence of a h/w device, we use a named FIFO which can be polled by the server. BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" CQ-DEPEND=CL:522956 Change-Id: I353e8a062539473473f2db4acceeac4d7df0fb8c Reviewed-on: https://chromium-review.googlesource.com/522622 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [modify] https://crrev.com/466e356762832287882436a41ed544ce6ead28f5/midis/device_tracker.h [modify] https://crrev.com/466e356762832287882436a41ed544ce6ead28f5/midis/device.h [add] https://crrev.com/466e356762832287882436a41ed544ce6ead28f5/midis/client_test.cc [modify] https://crrev.com/466e356762832287882436a41ed544ce6ead28f5/midis/device_tracker.cc [modify] https://crrev.com/466e356762832287882436a41ed544ce6ead28f5/midis/client_tracker.cc [modify] https://crrev.com/466e356762832287882436a41ed544ce6ead28f5/midis/client.cc [modify] https://crrev.com/466e356762832287882436a41ed544ce6ead28f5/midis/midis.gyp [modify] https://crrev.com/466e356762832287882436a41ed544ce6ead28f5/midis/client_tracker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/b98c9c94a9d1cc8fd0e3eb3605fb268d08e1e715 commit b98c9c94a9d1cc8fd0e3eb3605fb268d08e1e715 Author: Prashant Malani <pmalani@google.com> Date: Thu Jun 08 06:45:27 2017 midis: Add basic client functional test to ebuild Note: For some reason, this currently segfaults on ARM devices (like veyron_minnie), but passes on x86_64 devices (like chell). BUG= chromium:701005 TEST=cros_run_unit_tests --board chell --packages "midis" CQ-DEPEND=CL:522622 Change-Id: Ib06304e4b2e305c6237d6839451df688a8ff9c39 Reviewed-on: https://chromium-review.googlesource.com/522956 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/b98c9c94a9d1cc8fd0e3eb3605fb268d08e1e715/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/ddff07296f17d1fbfc67b68a85646a5e41ebc33b commit ddff07296f17d1fbfc67b68a85646a5e41ebc33b Author: Prashant Malani <pmalani@google.com> Date: Fri Jun 09 22:33:37 2017 midis: Perform minor test code refactoring. A lot of the test code shares common sources. This patch moves the common sources into a common library. We also move the tests into a separate tests/ directory for better organization. We also use the patch to move all the tests to use the common testrunner used by the rest of ChromeOS as well as to put all the tests in a single executable. BUG= chromium:701005 TEST=cros_run_unit_tests --board chell --packages "midis" CQ-DEPEND=CL:528441 Change-Id: Iade9bf0a13221fe83f1b1375df74e4952e0e8a90 Reviewed-on: https://chromium-review.googlesource.com/527431 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [rename] https://crrev.com/ddff07296f17d1fbfc67b68a85646a5e41ebc33b/midis/tests/test_helper.cc [add] https://crrev.com/ddff07296f17d1fbfc67b68a85646a5e41ebc33b/midis/tests/test_helper.h [rename] https://crrev.com/ddff07296f17d1fbfc67b68a85646a5e41ebc33b/midis/tests/client_test.cc [rename] https://crrev.com/ddff07296f17d1fbfc67b68a85646a5e41ebc33b/midis/tests/device_test.cc [rename] https://crrev.com/ddff07296f17d1fbfc67b68a85646a5e41ebc33b/midis/tests/client_tracker_test.cc [rename] https://crrev.com/ddff07296f17d1fbfc67b68a85646a5e41ebc33b/midis/tests/device_tracker_test.cc [modify] https://crrev.com/ddff07296f17d1fbfc67b68a85646a5e41ebc33b/midis/midis.gyp [rename] https://crrev.com/ddff07296f17d1fbfc67b68a85646a5e41ebc33b/midis/tests/udev_handler_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/4e7e0af76f88587e5a076a63ed4438c799ed6295 commit 4e7e0af76f88587e5a076a63ed4438c799ed6295 Author: Prashant Malani <pmalani@google.com> Date: Fri Jun 09 22:33:37 2017 midis: Move tests into single executable Move test into a single executable, and use the common testrunner. BUG= chromium:701005 TEST=cros_run_unit_tests --board chell --packages "midis" CQ-DEPEND=CL:527431 Change-Id: Idabfcf83ad0fdfe68f327e03e9c891a3af2d0ce6 Reviewed-on: https://chromium-review.googlesource.com/528441 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/4e7e0af76f88587e5a076a63ed4438c799ed6295/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/cfa5f3ff0050ef3e669a6992066c551df1c17c41 commit cfa5f3ff0050ef3e669a6992066c551df1c17c41 Author: Prashant Malani <pmalani@google.com> Date: Wed Jun 21 04:56:55 2017 midis: Enable client library compilation BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages "midis" CQ-DEPEND=CL:528522 Change-Id: I9f4901c0c79f60c90f3cab638d0e3cae74dc9097 Reviewed-on: https://chromium-review.googlesource.com/483431 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/cfa5f3ff0050ef3e669a6992066c551df1c17c41/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/806171b51a74d4eea3528f4ae9b8eadb2741503c commit 806171b51a74d4eea3528f4ae9b8eadb2741503c Author: Prashant Malani <pmalani@google.com> Date: Wed Jun 21 04:56:55 2017 midis: Add client library functions This patch adds a few helper functions that clients can use to make establishing and maintaining a connection with the MIDI server easier. It implements a few primitives like reading messages and headers, so that the client doesn't need to reimplement these. Having a reference implementation means that minor changes in the protocol and message formats can be hidden from the client. We also update the client tests to use the new library routines. BUG= chromium:701005 TEST=cros_run_unit_tests --board chell --packages "midis" CQ-DEPEND=CL:483431 Change-Id: Iafb83bc043601fd669229e5438ae657ca59ccad1 Reviewed-on: https://chromium-review.googlesource.com/528522 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [add] https://crrev.com/806171b51a74d4eea3528f4ae9b8eadb2741503c/midis/platform2_preinstall.sh [add] https://crrev.com/806171b51a74d4eea3528f4ae9b8eadb2741503c/midis/libmidis.pc.in [modify] https://crrev.com/806171b51a74d4eea3528f4ae9b8eadb2741503c/midis/tests/client_test.cc [modify] https://crrev.com/806171b51a74d4eea3528f4ae9b8eadb2741503c/midis/messages.h [add] https://crrev.com/806171b51a74d4eea3528f4ae9b8eadb2741503c/midis/libmidis/clientlib.h [modify] https://crrev.com/806171b51a74d4eea3528f4ae9b8eadb2741503c/midis/tests/client_tracker_test.cc [add] https://crrev.com/806171b51a74d4eea3528f4ae9b8eadb2741503c/midis/libmidis/clientlib.cc [modify] https://crrev.com/806171b51a74d4eea3528f4ae9b8eadb2741503c/midis/midis.gyp
let me change some labels. please fix it if I'm wrong.
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/fb9d737ed05629ae0e519f58f558c633ce7c35a2 commit fb9d737ed05629ae0e519f58f558c633ce7c35a2 Author: Prashant Malani <pmalani@google.com> Date: Fri Jul 07 04:13:58 2017 midis: Add support for extracting Manufacturer name This patch adapts the vendor extraction function from Chromium's midi_manager_alsa.cc implementation for use in the native MIDI service. It also makes the requisite changes in the functional tests and other classes to support this modification. BUG= chromium:701005 TEST='cros_run_unit_tests --board=asuka --packages chromeos-base/midis' Change-Id: Ib27189ab6ae359979c8c42d4ac8ad3346256cb28 Reviewed-on: https://chromium-review.googlesource.com/544895 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/tests/test_helper.h [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/device_tracker.h [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/device.h [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/udev_handler_mock.h [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/tests/client_test.cc [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/tests/device_test.cc [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/messages.h [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/device_tracker.cc [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/tests/device_tracker_test.cc [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/tests/udev_handler_test.cc [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/device.cc [modify] https://crrev.com/fb9d737ed05629ae0e519f58f558c633ce7c35a2/midis/constants.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/52b19713e49d1867a2c44ea11d7089e900d8730e commit 52b19713e49d1867a2c44ea11d7089e900d8730e Author: Prashant Malani <pmalani@google.com> Date: Sat Jul 08 09:05:29 2017 midis: Delay opening device FDs until a client requests a port This patch changes the service behaviour to only start monitoring a particular device's /dev/snd nodes when at least 1 client has requested a port on the device. Similarly, if all clients have removed their ports for a device (due to the client dying), we stop our monitoring of the device. BUG= chromium:701005 TEST='cros_run_unit_tests --board=samus --packages chromeos-base/midis' Change-Id: I4d7056a83435f8aa20e3f40fd2831348aa9619d0 Reviewed-on: https://chromium-review.googlesource.com/563829 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/52b19713e49d1867a2c44ea11d7089e900d8730e/midis/device_tracker.cc [modify] https://crrev.com/52b19713e49d1867a2c44ea11d7089e900d8730e/midis/device.h [modify] https://crrev.com/52b19713e49d1867a2c44ea11d7089e900d8730e/midis/device.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/4260066da91fecbcc45eea44d0890d17397c5fac commit 4260066da91fecbcc45eea44d0890d17397c5fac Author: Prashant Malani <pmalani@google.com> Date: Tue Jul 11 22:28:36 2017 midis: Enumerate devices on startup This patch adds functionality to enumerate devices which were already connected when the server started up. BUG= chromium:701005 TEST=Ran cros_run_unit_tests and tested midis with devices pre-connected. Change-Id: Id5f0a89c5fbc324f7300dc8ff26ede39094ee96a Reviewed-on: https://chromium-review.googlesource.com/565648 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [modify] https://crrev.com/4260066da91fecbcc45eea44d0890d17397c5fac/midis/device_tracker.cc [modify] https://crrev.com/4260066da91fecbcc45eea44d0890d17397c5fac/midis/device_tracker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/1300a057845eaf31fa7b6e0f9ee5a6572555964f commit 1300a057845eaf31fa7b6e0f9ee5a6572555964f Author: Prashant Malani <pmalani@google.com> Date: Wed Jul 19 08:23:37 2017 midis: Move client fd writing code to subdevice file Clearing up an earlier TODO; the code to write MIDI message from a device to the client should be in the SubDeviceClientFdHolder class, just like the code which writes data from a client to the device. BUG= chromium:701005 TEST='cros_run_unit_tests --board=samus --packages chromeos-base/midis' Change-Id: Id89c6771d9c0e68f645f3e81e4de59f612311865 Reviewed-on: https://chromium-review.googlesource.com/569024 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/1300a057845eaf31fa7b6e0f9ee5a6572555964f/midis/subdevice_client_fd_holder.cc [modify] https://crrev.com/1300a057845eaf31fa7b6e0f9ee5a6572555964f/midis/subdevice_client_fd_holder.h [modify] https://crrev.com/1300a057845eaf31fa7b6e0f9ee5a6572555964f/midis/device.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/9219ab4f799cd7038234938cbe48318e81baa8e7 commit 9219ab4f799cd7038234938cbe48318e81baa8e7 Author: Prashant Malani <pmalani@google.com> Date: Thu Jul 20 07:37:03 2017 midis: Remove CAP_SYSADMIN This isn't required to run midis. Also add the '-n' flag so that no_new_privs is set. BUG= chromium:701005 TEST=Run WebMIDI applications on veyron_minnie successfully. Change-Id: I2e250516fcc6a24fe2b30cd5ed6ebc00cdfaa0d3 Reviewed-on: https://chromium-review.googlesource.com/578370 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org> [modify] https://crrev.com/9219ab4f799cd7038234938cbe48318e81baa8e7/midis/init/midis.conf
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/99eafc60f5cbb9c22471b512a986547dc989177b commit 99eafc60f5cbb9c22471b512a986547dc989177b Author: Prashant Malani <pmalani@google.com> Date: Fri Aug 04 02:23:13 2017 midis: Add DBUS conf BUG= chromium:701005 TEST=Call DBUS method from commandline using dbus-send. CQ-DEPEND=CL:592277 Change-Id: Ida47f83476de40b509eabac986517ffc5359f364 Reviewed-on: https://chromium-review.googlesource.com/592638 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/99eafc60f5cbb9c22471b512a986547dc989177b/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/6789d660471dc274a5d2f3007a9cc5fe2300f31c commit 6789d660471dc274a5d2f3007a9cc5fe2300f31c Author: Prashant Malani <pmalani@google.com> Date: Fri Aug 04 02:23:12 2017 midis: Add skeleton D-Bus support. We are moving to a new IPC mechanism (Mojo bootstrapped by D-Bus). As a first step, we need to establish a D-Bus service which the client code (Chrome) can talk to. This patch adds that service. BUG= chromium:701005 TEST=Run midis on veyron_minnie, call Bootstrap method successfully using dbus-send commandline. CQ-DEPEND=CL:592638 Change-Id: I1a6ab50cccb70b49e67af8f72243c35e1b4c46dc Reviewed-on: https://chromium-review.googlesource.com/592277 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Dan Erat <derat@chromium.org> Reviewed-by: Ben Chan <benchan@chromium.org> [modify] https://crrev.com/6789d660471dc274a5d2f3007a9cc5fe2300f31c/midis/daemon.cc [modify] https://crrev.com/6789d660471dc274a5d2f3007a9cc5fe2300f31c/midis/daemon.h [add] https://crrev.com/6789d660471dc274a5d2f3007a9cc5fe2300f31c/midis/dbus_permissions/org.chromium.Midis.conf
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/62e4d08ac2d11fab158255ab43ef195f1c56ae25 commit 62e4d08ac2d11fab158255ab43ef195f1c56ae25 Author: Prashant Malani <pmalani@google.com> Date: Wed Aug 09 18:48:02 2017 midis: Remove messages.h header The definitions from messages.h have been moved into clientlib.h, so remove the reference to this old header. BUG= chromium:701005 TEST='cros_run_unit_tests --board=samus --packages chromeos-base/midis' CQ-DEPEND=CL:580573 Change-Id: I9497ed6e762c9fa7c729bed3e18c311e6539b1bf Reviewed-on: https://chromium-review.googlesource.com/607572 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/62e4d08ac2d11fab158255ab43ef195f1c56ae25/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/d0c0f1a5a5e5ce6cb7d8af92f7f0e2863e6ec413 commit d0c0f1a5a5e5ce6cb7d8af92f7f0e2863e6ec413 Author: Prashant Malani <pmalani@google.com> Date: Wed Aug 09 18:48:01 2017 midis: Move messages.h definitions into clientlib.h Doing so reduces the number of headers client code would need to depend on. Also add some documentation about the various structs/enums to aid writers of clients. BUG= chromium:701005 TEST='cros_run_unit_tests --board=samus --packages chromeos-base/midis' Change-Id: I3b0b7315bd66d524b3157e909062b1b59badd752 Reviewed-on: https://chromium-review.googlesource.com/580573 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> [modify] https://crrev.com/d0c0f1a5a5e5ce6cb7d8af92f7f0e2863e6ec413/midis/client.h [modify] https://crrev.com/d0c0f1a5a5e5ce6cb7d8af92f7f0e2863e6ec413/midis/device_tracker.h [modify] https://crrev.com/d0c0f1a5a5e5ce6cb7d8af92f7f0e2863e6ec413/midis/libmidis/clientlib.h [delete] https://crrev.com/e06bb4f0e4a8afdedbf42ecb3868f214c76c9bb2/midis/messages.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/4acb19f55303c2720a1ba19891905aa43460a139 commit 4acb19f55303c2720a1ba19891905aa43460a139 Author: Prashant Malani <pmalani@google.com> Date: Tue Aug 15 01:24:54 2017 midis: Add client function to close fds on a device A client may want to close all the fds on a particular device, but not completely disconnect from other devices. This patch provides a function which enables a client to close the server side of all socketpairs it has with a particular device. BUG= chromium:701005 TEST='cros_run_unit_tests --board=samus --packages chromeos-base/midis' Change-Id: Iffb7615ab1d0e6fca7b782130b565be66a8b591a Reviewed-on: https://chromium-review.googlesource.com/609281 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> [modify] https://crrev.com/4acb19f55303c2720a1ba19891905aa43460a139/midis/device_tracker.h [modify] https://crrev.com/4acb19f55303c2720a1ba19891905aa43460a139/midis/device_tracker.cc [modify] https://crrev.com/4acb19f55303c2720a1ba19891905aa43460a139/midis/libmidis/clientlib.h [modify] https://crrev.com/4acb19f55303c2720a1ba19891905aa43460a139/midis/libmidis/clientlib.cc [modify] https://crrev.com/4acb19f55303c2720a1ba19891905aa43460a139/midis/client.h [modify] https://crrev.com/4acb19f55303c2720a1ba19891905aa43460a139/midis/client.cc [modify] https://crrev.com/4acb19f55303c2720a1ba19891905aa43460a139/midis/device.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/system_api/+/d3b70a23a22ab8baa87367c6aaa77944ab965e18 commit d3b70a23a22ab8baa87367c6aaa77944ab965e18 Author: Prashant Malani <pmalani@google.com> Date: Tue Aug 22 05:03:55 2017 Add D-bus service constants for midis. These are used by platform2/midis BUG= chromium:701005 TEST=Chrome OS boots and midis executes successfully. CQ-DEPEND=CL:624560 Change-Id: Ic2856ac4742c1e5a7ca18130e654c3eb775422f8 Reviewed-on: https://chromium-review.googlesource.com/624662 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Dan Erat <derat@chromium.org> [modify] https://crrev.com/d3b70a23a22ab8baa87367c6aaa77944ab965e18/dbus/service_constants.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/0655855a239d670f82d972f50d54f72db9c9fc39 commit 0655855a239d670f82d972f50d54f72db9c9fc39 Author: Prashant Malani <pmalani@google.com> Date: Tue Aug 22 05:03:55 2017 midis: Move D-Bus constants into system_api BUG= chromium:701005 TEST=midis runs successfully CQ-DEPEND=CL:624662 Change-Id: I4c625b6c49db7e5002f78b02cfdc4eae1c382800 Reviewed-on: https://chromium-review.googlesource.com/624560 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Dan Erat <derat@chromium.org> [modify] https://crrev.com/0655855a239d670f82d972f50d54f72db9c9fc39/midis/daemon.cc
Any idea when this will be in so we could start work to enable MIDI support for ARC? Would be nice to attach a milestone to this
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8f4d7cbc5e7abb22e6cbc1961a4514a74b018dfc commit 8f4d7cbc5e7abb22e6cbc1961a4514a74b018dfc Author: Prashant Malani <pmalani@google.com> Date: Wed Aug 23 01:16:39 2017 Roll src/third_party/cros_system_api/ 5484a0346..d3b70a23a (1 commit) https://chromium.googlesource.com/chromiumos/platform/system_api.git/+log/5484a0346e1e..d3b70a23a22a $ git log 5484a0346..d3b70a23a --date=short --no-merges --format='%ad %ae %s' 2017-08-21 pmalani Add D-bus service constants for midis. Created with: roll-dep src/third_party/cros_system_api Bug: chromium:701005 Change-Id: I0e42178b006a3235ad6b69769783da1e8084677c Reviewed-on: https://chromium-review.googlesource.com/627085 Reviewed-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Dan Erat <derat@chromium.org> Commit-Queue: Prashant Malani <pmalani@google.com> Cr-Commit-Position: refs/heads/master@{#496540} [modify] https://crrev.com/8f4d7cbc5e7abb22e6cbc1961a4514a74b018dfc/DEPS
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0 commit 1025c477efa37f106e2159cd95ab5ba3d8b1f7d0 Author: Prashant Malani <pmalani@google.com> Date: Thu Aug 24 20:22:30 2017 Add ArcMidisClient to connect to midis daemon. This is used to establish a connection to the ChromeOS midi service from ARC++. The daemon doesn't do anything yet. BUG= chromium:701005 Change-Id: Ibe40c98d1cd27d1a39d2304589aec316ea782f60 Reviewed-on: https://chromium-review.googlesource.com/595141 Commit-Queue: Prashant Malani <pmalani@google.com> Reviewed-by: Dan Erat <derat@chromium.org> Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> Cr-Commit-Position: refs/heads/master@{#497174} [modify] https://crrev.com/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0/chromeos/BUILD.gn [add] https://crrev.com/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0/chromeos/dbus/arc_midis_client.cc [add] https://crrev.com/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0/chromeos/dbus/arc_midis_client.h [modify] https://crrev.com/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0/chromeos/dbus/dbus_clients_browser.cc [modify] https://crrev.com/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0/chromeos/dbus/dbus_clients_browser.h [modify] https://crrev.com/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0/chromeos/dbus/dbus_thread_manager.cc [modify] https://crrev.com/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0/chromeos/dbus/dbus_thread_manager.h [modify] https://crrev.com/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0/chromeos/dbus/dbus_thread_manager_unittest.cc [add] https://crrev.com/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0/chromeos/dbus/fake_arc_midis_client.cc [add] https://crrev.com/1025c477efa37f106e2159cd95ab5ba3d8b1f7d0/chromeos/dbus/fake_arc_midis_client.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/fd1e200e119f0c8afd5d8655e84dadda67603c92 commit fd1e200e119f0c8afd5d8655e84dadda67603c92 Author: Prashant Malani <pmalani@google.com> Date: Mon Aug 28 22:24:15 2017 midis: Use ALSA seq instead of rawMIDI Using ALSA seq will allow midis to exist in parallel with other clients that use ALSA seq, without having to disrupt their code. In order to do so, this patch introduces a new class called SeqHandler, which deals with all interactions with the ALSA seq interface. The Device and DeviceTracker classes are updated to work with the new SeqHandler interface. It also adds new classes (InPort and OutPort) which represent the input and output ports associated with a device. This patch disables all tests for now; follow up CLs will re-enable tests. BUG= chromium:701005 TEST=Run midi server locally and hotplug/unplug devices. Change-Id: I14bb0b586c68a757e49febd77a408a63d27f8473 Reviewed-on: https://chromium-review.googlesource.com/609587 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [add] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/seq_handler_interface.h [modify] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/device_tracker.h [modify] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/device.h [modify] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/device_tracker.cc [add] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/seq_handler.h [add] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/ports.cc [add] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/seq_handler.cc [modify] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/README.md [modify] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/midis.gyp [add] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/ports.h [modify] https://crrev.com/fd1e200e119f0c8afd5d8655e84dadda67603c92/midis/device.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/112cc7a84ec4e1540f62c700a48e9d971507cdbe commit 112cc7a84ec4e1540f62c700a48e9d971507cdbe Author: Prashant Malani <pmalani@google.com> Date: Wed Aug 30 20:04:25 2017 midis: Mojo bootstrap code Establish a Mojo IPC channel with ARC++. Use the first interface, MidisManagerGetter.Connect(), to initialize and return a handle to a second interface (MidisManager) which will be initialized per-client, and will handle all the communication between the client and the server. MidisManagerGetter.Connect() currently doesn't do anything. The MidisManager functionality will come in a subsequent CL. This CL basically establishes the first MidisManagerGetter interface (initiated in Chrome's ArcBridgeHost after a call from ARC++), and returns it to the caller. BUG= chromium:701005 TEST=midis can connect to ARC++ Change-Id: I566413152009838aa610e1ad6c98057d9f79199d Reviewed-on: https://chromium-review.googlesource.com/594679 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Dan Erat <derat@chromium.org> Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org> [modify] https://crrev.com/112cc7a84ec4e1540f62c700a48e9d971507cdbe/midis/daemon.cc [modify] https://crrev.com/112cc7a84ec4e1540f62c700a48e9d971507cdbe/midis/daemon.h [modify] https://crrev.com/112cc7a84ec4e1540f62c700a48e9d971507cdbe/midis/client_tracker.cc [add] https://crrev.com/112cc7a84ec4e1540f62c700a48e9d971507cdbe/midis/mojo/midis.mojom [modify] https://crrev.com/112cc7a84ec4e1540f62c700a48e9d971507cdbe/midis/midis.gyp [modify] https://crrev.com/112cc7a84ec4e1540f62c700a48e9d971507cdbe/midis/client_tracker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/1644ba1ae628c5d11d1c38aff204ec5ee17a8fc4 commit 1644ba1ae628c5d11d1c38aff204ec5ee17a8fc4 Author: Prashant Malani <pmalani@google.com> Date: Wed Sep 06 06:01:11 2017 midis: Change interface name to MidisHost This is to be in line with ARC naming conventions in Chrome. Also, add some comments to the mojo interface definition. BUG= chromium:701005 TEST=nyc-mr1-arc MIDI service can connect to midis Change-Id: Id558599a85d7d7bd21f33d53bef0caa5562223b8 Reviewed-on: https://chromium-review.googlesource.com/651569 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Dan Erat <derat@chromium.org> [modify] https://crrev.com/1644ba1ae628c5d11d1c38aff204ec5ee17a8fc4/midis/mojo/midis.mojom [modify] https://crrev.com/1644ba1ae628c5d11d1c38aff204ec5ee17a8fc4/midis/client_tracker.cc [modify] https://crrev.com/1644ba1ae628c5d11d1c38aff204ec5ee17a8fc4/midis/client_tracker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1c19443a45edf304ff65d2607ad82b7210416631 commit 1c19443a45edf304ff65d2607ad82b7210416631 Author: Prashant Malani <pmalani@google.com> Date: Tue Sep 12 03:31:43 2017 MIDI ArcBridge proxy mojo interface. ARC MIDI uses this to connect to the midis daemon running in Chrome OS. It takes a Mojo connection request over the ArcBridge, and then uses D-Bus (for sending across a message handle) to initiate a Mojo connection with that daemon. The daemon then returns a 2nd Mojo interface (with the actual Midis client calls) back to the proxy, which in turn sends it to the Android side. At present, the Connect() call which should return the 2nd Mojo interface handle has not yet been implemented. It retains the initial Mojo connection with the daemon is maintained, for future ARC sessions, and tears down when the daemon dies. This implementation is a based on the similar implementation used by ArcOemCrypto. BUG= chromium:701005 Change-Id: Icc8c937f743ddcc3deca85446c303408b17ec759 Reviewed-on: https://chromium-review.googlesource.com/638913 Commit-Queue: Prashant Malani <pmalani@google.com> Reviewed-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> Cr-Commit-Position: refs/heads/master@{#501170} [modify] https://crrev.com/1c19443a45edf304ff65d2607ad82b7210416631/chrome/browser/chromeos/arc/arc_service_launcher.cc [modify] https://crrev.com/1c19443a45edf304ff65d2607ad82b7210416631/components/arc/BUILD.gn [modify] https://crrev.com/1c19443a45edf304ff65d2607ad82b7210416631/components/arc/arc_bridge_host_impl.cc [modify] https://crrev.com/1c19443a45edf304ff65d2607ad82b7210416631/components/arc/arc_bridge_host_impl.h [modify] https://crrev.com/1c19443a45edf304ff65d2607ad82b7210416631/components/arc/arc_bridge_service.h [modify] https://crrev.com/1c19443a45edf304ff65d2607ad82b7210416631/components/arc/common/arc_bridge.mojom [add] https://crrev.com/1c19443a45edf304ff65d2607ad82b7210416631/components/arc/common/midis.mojom [add] https://crrev.com/1c19443a45edf304ff65d2607ad82b7210416631/components/arc/midis/arc_midis_bridge.cc [add] https://crrev.com/1c19443a45edf304ff65d2607ad82b7210416631/components/arc/midis/arc_midis_bridge.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/5e076a1bf7d2161751e27d73f4585f43663c284b commit 5e076a1bf7d2161751e27d73f4585f43663c284b Author: Prashant Malani <pmalani@google.com> Date: Thu Sep 14 04:47:09 2017 midis: Add OWNERS file BUG= chromium:701005 TEST=None Change-Id: Ic5c062f4314c5867906e25ec8f205ad8714e5ab1 Reviewed-on: https://chromium-review.googlesource.com/666324 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Dylan Reid <dgreid@chromium.org> [add] https://crrev.com/5e076a1bf7d2161751e27d73f4585f43663c284b/midis/OWNERS
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/73c1ea18194b15e7b38db1e59f41401d0d2d6dd4 commit 73c1ea18194b15e7b38db1e59f41401d0d2d6dd4 Author: Prashant Malani <pmalani@google.com> Date: Fri Sep 15 03:14:12 2017 midis: Add class to handle Mojo client calls These are invoked from the ARC client. When MidisHost.Connect() is called, a new client should be registered. The MidiServerImpl class will have a handle to the correponding Client object in the server, so it can forward all actions to the actual client. The MidisServerImpl will also have a handle to the MidisClient interface defined by the client, so that it can easily communicate device information back to the client. For the time being, we leave the existing method of creating clients, via Unix Domain Sockets. In the following patch, the functionality of the new mojo interfaces will be fleshed out, and the Unix Domain support will be dropped. BUG= chromium:701005 TEST=ARC client can register a client connection with midis, call methods. Change-Id: I8498bbb5e929b630fd534d93ecb0898eb8584035 Reviewed-on: https://chromium-review.googlesource.com/653363 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> Reviewed-by: Dan Erat <derat@chromium.org> [modify] https://crrev.com/73c1ea18194b15e7b38db1e59f41401d0d2d6dd4/midis/daemon.cc [modify] https://crrev.com/73c1ea18194b15e7b38db1e59f41401d0d2d6dd4/midis/mojo/midis.mojom [modify] https://crrev.com/73c1ea18194b15e7b38db1e59f41401d0d2d6dd4/midis/client_tracker.cc [modify] https://crrev.com/73c1ea18194b15e7b38db1e59f41401d0d2d6dd4/midis/client.h [modify] https://crrev.com/73c1ea18194b15e7b38db1e59f41401d0d2d6dd4/midis/client.cc [modify] https://crrev.com/73c1ea18194b15e7b38db1e59f41401d0d2d6dd4/midis/client_tracker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ec5309831bf3b8f6623c9f8e2d49fbf6afccfeef commit ec5309831bf3b8f6623c9f8e2d49fbf6afccfeef Author: Prashant Malani <pmalani@google.com> Date: Fri Sep 15 18:12:21 2017 Add Server and Client interfaces for MIDI ArcBridge Add code to allow a client to get access to a MidisServer handle, and also pass a MidisClient handle to the midis daemon so that it can call into the client. This change establishes the connection for the two interface handles. The implementation of the interfaces will be the subject of the following patch. BUG= chromium:701005 Change-Id: I35c5b8bb2f2b1e92fb1a11504f4368a86c437712 Reviewed-on: https://chromium-review.googlesource.com/667249 Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Reviewed-by: Greg Kerr <kerrnel@chromium.org> Commit-Queue: Prashant Malani <pmalani@google.com> Cr-Commit-Position: refs/heads/master@{#502305} [modify] https://crrev.com/ec5309831bf3b8f6623c9f8e2d49fbf6afccfeef/components/arc/common/midis.mojom [modify] https://crrev.com/ec5309831bf3b8f6623c9f8e2d49fbf6afccfeef/components/arc/midis/arc_midis_bridge.cc [modify] https://crrev.com/ec5309831bf3b8f6623c9f8e2d49fbf6afccfeef/components/arc/midis/arc_midis_bridge.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/270828abaa616ea93973af33e6294bf76195db40 commit 270828abaa616ea93973af33e6294bf76195db40 Author: Prashant Malani <pmalani@google.com> Date: Sat Sep 16 13:09:52 2017 midis: Mojo interface functions - part 1 This CL implements some of the functions for both the MidisServer and MidisClient interfaces. In the process of doing the above, we remove the corresponding ListDevices() and DeviceAdded/DeviceRemoved() functionality for devices which were registered through Unix Domain Sockets. BUG= chromium:701005 TEST=Boot an NYC ARC instance on samus and verify that the callbacks being added are called correctly. Change-Id: Id11230622a689e9493a9fba210a663a8b06f3459 Reviewed-on: https://chromium-review.googlesource.com/668170 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ken Rockot <rockot@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> [modify] https://crrev.com/270828abaa616ea93973af33e6294bf76195db40/midis/client.h [modify] https://crrev.com/270828abaa616ea93973af33e6294bf76195db40/midis/device_tracker.cc [modify] https://crrev.com/270828abaa616ea93973af33e6294bf76195db40/midis/device_tracker.h [modify] https://crrev.com/270828abaa616ea93973af33e6294bf76195db40/midis/client.cc [modify] https://crrev.com/270828abaa616ea93973af33e6294bf76195db40/midis/mojo/midis.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/5db0a6b977f055e9b4a204c7f3a5e76dd93dfae9 commit 5db0a6b977f055e9b4a204c7f3a5e76dd93dfae9 Author: Prashant Malani <pmalani@google.com> Date: Thu Sep 21 04:46:11 2017 midis: Re-enable device_tracker_test Modify the test to work with the new alsa_seq backend. BUG= chromium:701005 TEST=cros_run_unit_tests --board ${BOARD} --packages chromeos-base/midis Change-Id: Id60dc9f756eb4ce6d0e88d9088dcc895c704197b Reviewed-on: https://chromium-review.googlesource.com/674171 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> [modify] https://crrev.com/5db0a6b977f055e9b4a204c7f3a5e76dd93dfae9/midis/mojo/midis.mojom [modify] https://crrev.com/5db0a6b977f055e9b4a204c7f3a5e76dd93dfae9/midis/tests/device_tracker_test.cc [modify] https://crrev.com/5db0a6b977f055e9b4a204c7f3a5e76dd93dfae9/midis/midis.gyp [modify] https://crrev.com/5db0a6b977f055e9b4a204c7f3a5e76dd93dfae9/midis/tests/test_helper.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/9f15b9e384c841b3fdc2b2e348bee6d60d624671 commit 9f15b9e384c841b3fdc2b2e348bee6d60d624671 Author: Prashant Malani <pmalani@google.com> Date: Mon Sep 25 22:52:46 2017 midis: Update client class & client_tracker_test Update the ClientTrackerTest. The test now checks whether we can add and remove clients, and whether ClientTracker can handle the removal of a non-existent client. BUG= chromium:701005 TEST=cros_run_unit_tests --board ${BOARD} --packages chromeos-base/midis --debug Change-Id: I2a5c52c49243a403a8f88325e5623a62af5eac29 Reviewed-on: https://chromium-review.googlesource.com/674181 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/9f15b9e384c841b3fdc2b2e348bee6d60d624671/midis/daemon.cc [modify] https://crrev.com/9f15b9e384c841b3fdc2b2e348bee6d60d624671/midis/tests/client_tracker_test.cc [modify] https://crrev.com/9f15b9e384c841b3fdc2b2e348bee6d60d624671/midis/client_tracker.cc [modify] https://crrev.com/9f15b9e384c841b3fdc2b2e348bee6d60d624671/midis/client.h [modify] https://crrev.com/9f15b9e384c841b3fdc2b2e348bee6d60d624671/midis/client.cc [modify] https://crrev.com/9f15b9e384c841b3fdc2b2e348bee6d60d624671/midis/midis.gyp [modify] https://crrev.com/9f15b9e384c841b3fdc2b2e348bee6d60d624671/midis/client_tracker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2301acb39e5c7d951c5d9e053c222a8b29c0fa0e commit 2301acb39e5c7d951c5d9e053c222a8b29c0fa0e Author: Prashant Malani <pmalani@google.com> Date: Wed Sep 27 23:58:58 2017 Update midis.mojom with new function definitions This patch updates the midis.mojom file with struct definitions and interface functions to pass device information to the ARC client, as well as to request midis for port FDs for subdevices, and to close all client connections to a particular device. BUG= chromium:701005 Change-Id: Id9daeeb36b6c7328b5b332420d3afd163a3b48b5 Reviewed-on: https://chromium-review.googlesource.com/685261 Reviewed-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> Commit-Queue: Prashant Malani <pmalani@google.com> Cr-Commit-Position: refs/heads/master@{#504809} [modify] https://crrev.com/2301acb39e5c7d951c5d9e053c222a8b29c0fa0e/components/arc/common/midis.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/e2ca66141d4e41e241d6d69847a322b7dd4c48c4 commit e2ca66141d4e41e241d6d69847a322b7dd4c48c4 Author: Prashant Malani <pmalani@google.com> Date: Fri Sep 29 03:51:04 2017 midis: Convert port fd request methods to use Mojo This patch converts the client call used to create and supply port FDs to Mojo. It also converts the client call which closes all Client connections on a device. BUG= chromium:701005 TEST=cros_run_unit_tests --board ${BOARD} --packages chromeos-base/midis --debug Change-Id: I50a5b2e01caa6e2aeda16a2904046e42cc8ed844 Reviewed-on: https://chromium-review.googlesource.com/682957 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> [modify] https://crrev.com/e2ca66141d4e41e241d6d69847a322b7dd4c48c4/midis/client.h [modify] https://crrev.com/e2ca66141d4e41e241d6d69847a322b7dd4c48c4/midis/mojo/midis.mojom [modify] https://crrev.com/e2ca66141d4e41e241d6d69847a322b7dd4c48c4/midis/client.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/3c540369674391796e3a0acd64dd44a3800b74e9 commit 3c540369674391796e3a0acd64dd44a3800b74e9 Author: Prashant Malani <pmalani@google.com> Date: Thu Oct 05 01:47:09 2017 midis: Replace UdevHandlerTest with SeqHandlerTest Add a test to check whether we can handle the encoding of supplied MIDI data. BUG= chromium:701005 TEST=cros_run_unit_tests --board ${BOARD} --packages chromeos-base/midis --debug Change-Id: I39859df0846f83af4316a34074e1146f49edfad5 Reviewed-on: https://chromium-review.googlesource.com/691236 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [delete] https://crrev.com/19f6a1edd49900117655bd6faf9caefde38cf511/midis/udev_handler_mock.h [add] https://crrev.com/3c540369674391796e3a0acd64dd44a3800b74e9/midis/tests/seq_handler_mock.h [modify] https://crrev.com/3c540369674391796e3a0acd64dd44a3800b74e9/midis/seq_handler.h [modify] https://crrev.com/3c540369674391796e3a0acd64dd44a3800b74e9/midis/seq_handler.cc [modify] https://crrev.com/3c540369674391796e3a0acd64dd44a3800b74e9/midis/constants.h [modify] https://crrev.com/3c540369674391796e3a0acd64dd44a3800b74e9/midis/midis.gyp [add] https://crrev.com/3c540369674391796e3a0acd64dd44a3800b74e9/midis/tests/seq_handler_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/21044d68bc27572a34e5613e7b919833467222e5 commit 21044d68bc27572a34e5613e7b919833467222e5 Author: Prashant Malani <pmalani@google.com> Date: Fri Oct 06 10:57:45 2017 midis: Install seccomp file BUG= chromium:701005 TEST=Run midis with ARC++ and check whether MIDI works. CQ-DEPEND=CL:699744 Change-Id: Id48f86c9e691eda8b91b1653db7ff50f06029c8d Reviewed-on: https://chromium-review.googlesource.com/699636 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/21044d68bc27572a34e5613e7b919833467222e5/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/e3e6a7f7d3a013274a4ce0b1dd609e7be37877aa commit e3e6a7f7d3a013274a4ce0b1dd609e7be37877aa Author: Prashant Malani <pmalani@google.com> Date: Fri Oct 06 10:57:44 2017 midis: Add seccomp policy BUG= chromium:701005 TEST=Run midis with ARC++ and check that everything works. CQ-DEPEND=CL:699636 Change-Id: I0c48e251f1938ff60e60b012142419b3e17eefa8 Reviewed-on: https://chromium-review.googlesource.com/699744 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [add] https://crrev.com/e3e6a7f7d3a013274a4ce0b1dd609e7be37877aa/midis/seccomp/midis-seccomp-amd64.policy [modify] https://crrev.com/e3e6a7f7d3a013274a4ce0b1dd609e7be37877aa/midis/init/midis.conf
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/8ca4ab39ba2d1bc1b29a5b3c0a939c8ee056cad4 commit 8ca4ab39ba2d1bc1b29a5b3c0a939c8ee056cad4 Author: Prashant Malani <pmalani@google.com> Date: Fri Oct 06 10:57:51 2017 midis: Enumerate prexisting devices BUG= chromium:701005 TEST=cros_run_unit_tests --board ${BOARD} --packages chromeos-base/midis --debug Change-Id: I5f2c9879d2911f246eea298ac404a235f1dd6378 Reviewed-on: https://chromium-review.googlesource.com/701661 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> [modify] https://crrev.com/8ca4ab39ba2d1bc1b29a5b3c0a939c8ee056cad4/midis/seq_handler.cc [modify] https://crrev.com/8ca4ab39ba2d1bc1b29a5b3c0a939c8ee056cad4/midis/seq_handler.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/78a6f098c2bc06de03f66da24f5a244d27e3ffbd commit 78a6f098c2bc06de03f66da24f5a244d27e3ffbd Author: Prashant Malani <pmalani@google.com> Date: Sat Oct 07 04:31:16 2017 midis: Set error callback for Mojo Clients Ensure that if there is an error in the message pipe with the Mojo Client, then we'll delete that client from our daemon. Also use this patch to update the seccomp policy to allow one more ioctl call (SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT) BUG= chromium:701005 TEST=Unit tests pass Change-Id: I5eb91c493f7d29539faceb502362f78bdcc47a9a Reviewed-on: https://chromium-review.googlesource.com/705818 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> [modify] https://crrev.com/78a6f098c2bc06de03f66da24f5a244d27e3ffbd/midis/seccomp/midis-seccomp-amd64.policy [modify] https://crrev.com/78a6f098c2bc06de03f66da24f5a244d27e3ffbd/midis/client.cc [modify] https://crrev.com/78a6f098c2bc06de03f66da24f5a244d27e3ffbd/midis/tests/client_tracker_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/9530e9161ee566519fceabd01922932058bdb683 commit 9530e9161ee566519fceabd01922932058bdb683 Author: Prashant Malani <pmalani@google.com> Date: Sat Oct 14 07:52:23 2017 midis: Add ARM seccomp policy BUG= chromium:701005 TEST=Run MIDI apps in ARC++ on a veyron_minnie Change-Id: I71c21dd4fdb9bdc39c0bafc8b1808b8db33570ee Reviewed-on: https://chromium-review.googlesource.com/718317 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [add] https://crrev.com/9530e9161ee566519fceabd01922932058bdb683/midis/seccomp/midis-seccomp-arm.policy
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/a9bbf54b54ab27db97d944ee903fe9aaf818037f commit a9bbf54b54ab27db97d944ee903fe9aaf818037f Author: Prashant Malani <pmalani@google.com> Date: Tue Oct 24 05:39:06 2017 midis: Add SeqHandler tests Add a couple of tests to test positive and negative cases for ProcessAlsaClientFd. BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages chromeos-base/midis --debug Change-Id: I56eb64468ff54781a521a9f1dc7df6e1acfbcc88 Reviewed-on: https://chromium-review.googlesource.com/729313 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [modify] https://crrev.com/a9bbf54b54ab27db97d944ee903fe9aaf818037f/midis/tests/seq_handler_mock.h [modify] https://crrev.com/a9bbf54b54ab27db97d944ee903fe9aaf818037f/midis/seq_handler.cc [modify] https://crrev.com/a9bbf54b54ab27db97d944ee903fe9aaf818037f/midis/seq_handler.h [modify] https://crrev.com/a9bbf54b54ab27db97d944ee903fe9aaf818037f/midis/tests/seq_handler_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/acda30c76692734edbf0a2d89d151f6b4d87c455 commit acda30c76692734edbf0a2d89d151f6b4d87c455 Author: Prashant Malani <pmalani@google.com> Date: Tue Oct 24 05:39:03 2017 midis: Add syscall to ARM seccomp policy This was found to be required when tested on a veyron_minnie BUG= chromium:701005 TEST=See if midis starts up on boot on a veyron_minnie. Change-Id: I6e2d89f920772ee3dbfdbd9428e74bb019c8f665 Reviewed-on: https://chromium-review.googlesource.com/734302 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/acda30c76692734edbf0a2d89d151f6b4d87c455/midis/seccomp/midis-seccomp-arm.policy
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/615a2252d229fc37acf8b254ad8139b135e7dc36 commit 615a2252d229fc37acf8b254ad8139b135e7dc36 Author: Prashant Malani <pmalani@google.com> Date: Tue Oct 24 19:57:44 2017 midis: Add missing rules for amd64 seccomp BUG= chromium:701005 TEST=midis works fine on a samus. Change-Id: Id8010f9ad240771e5bd001e370b0693a8f0cb7e0 Reviewed-on: https://chromium-review.googlesource.com/734763 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> [modify] https://crrev.com/615a2252d229fc37acf8b254ad8139b135e7dc36/midis/seccomp/midis-seccomp-amd64.policy
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/project-cheets-private/+/f1f2411c54741065da952c5b57a135521765a1e9 commit f1f2411c54741065da952c5b57a135521765a1e9 Author: Prashant Malani <pmalani@google.com> Date: Thu Oct 26 04:59:04 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/78b59c31916f4a162778c12b367ef69fedebacc6 commit 78b59c31916f4a162778c12b367ef69fedebacc6 Author: Prashant Malani <pmalani@google.com> Date: Fri Oct 27 11:48:44 2017 midis: Add test for ProcessMidiEvents BUG= chromium:701005 TEST=cros_run_unit_tests --board veyron_minnie --packages chromeos-base/midis --debug Change-Id: I9705178569654c671f16ca5532a69da1826d49fa Reviewed-on: https://chromium-review.googlesource.com/737654 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Ben Chan <benchan@chromium.org> [modify] https://crrev.com/78b59c31916f4a162778c12b367ef69fedebacc6/midis/seq_handler.cc [modify] https://crrev.com/78b59c31916f4a162778c12b367ef69fedebacc6/midis/seq_handler.h [modify] https://crrev.com/78b59c31916f4a162778c12b367ef69fedebacc6/midis/tests/seq_handler_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/7b556c43b32f44125dc30ab3ba94c07c7e8e480e commit 7b556c43b32f44125dc30ab3ba94c07c7e8e480e Author: Prashant Malani <pmalani@google.com> Date: Wed Nov 08 07:00:26 2017 midis: Remove client library compilation We no longer use the Unix Domain Socket based client library. BUG= chromium:701005 TEST=cros_run_unit_tests and emerge-${BOARD} passes. Change-Id: Iecc39d5e0f8cf3d33bb16208fe51dfe05e6cf00b Reviewed-on: https://chromium-review.googlesource.com/757772 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/7b556c43b32f44125dc30ab3ba94c07c7e8e480e/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/55b683f456aff82d7b948cfb877cf2cb15fb7094 commit 55b683f456aff82d7b948cfb877cf2cb15fb7094 Author: Prashant Malani <pmalani@google.com> Date: Wed Nov 08 11:12:25 2017 midis: Remove client library code We no longer use the Unix Domain Socket client library, so remove the corresponding code. BUG= chromium:701005 CQ-DEPEND=CL:757772 TEST=cros_run_unit_tests and emerge passes. Change-Id: I73a24034cf0a7e8f496a8b11fc0b018a007f7b70 Reviewed-on: https://chromium-review.googlesource.com/757243 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/55b683f456aff82d7b948cfb877cf2cb15fb7094/midis/device_tracker.h [modify] https://crrev.com/55b683f456aff82d7b948cfb877cf2cb15fb7094/midis/init/midis.conf [delete] https://crrev.com/daefef025a3aa5928c680932ef315944fd30c7df/midis/libmidis/clientlib.h [delete] https://crrev.com/daefef025a3aa5928c680932ef315944fd30c7df/midis/libmidis/clientlib.cc [modify] https://crrev.com/55b683f456aff82d7b948cfb877cf2cb15fb7094/midis/client.h [modify] https://crrev.com/55b683f456aff82d7b948cfb877cf2cb15fb7094/midis/midis.gyp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c3311e2b24b3de0c9ee74aa8fecd2a4ebf886bb9 commit c3311e2b24b3de0c9ee74aa8fecd2a4ebf886bb9 Author: Prashant Malani <pmalani@google.com> Date: Wed Nov 22 10:42:30 2017 midi: Use std::deque for MidiMessageQueue For the purposes of this class, the semantics of circular_deque and std::deque are the same. Switching to std::deque will make this class easier to re-use outside of Chrome, by reducing its dependency on src/base/containers. BUG= chromium:701005 TEST=MIDI works on Chrome. Change-Id: Iae83c69ef85682fbde75e6078cd5eb262b9f4082 Reviewed-on: https://chromium-review.googlesource.com/784010 Commit-Queue: Takashi Toyoshima <toyoshim@chromium.org> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Cr-Commit-Position: refs/heads/master@{#518599} [modify] https://crrev.com/c3311e2b24b3de0c9ee74aa8fecd2a4ebf886bb9/media/midi/midi_message_queue.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/2bb5148cc71fc13583af7da601da88438ded7c1a commit 2bb5148cc71fc13583af7da601da88438ded7c1a Author: Prashant Malani <pmalani@google.com> Date: Wed Dec 06 04:22:39 2017 midis: Add //media/midi checkout from Chrome. This is used to take advantage of the message sanitization utility classes that are available in that directory. BUG= chromium:701005 TEST=Build still works. Change-Id: I968daa281df438beb535c631bc396316c3e07a9e Reviewed-on: https://chromium-review.googlesource.com/783842 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/2bb5148cc71fc13583af7da601da88438ded7c1a/chromeos-base/midis/midis-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/f83609b5d4a2bcd7b1ce2c04715115f198112faa commit f83609b5d4a2bcd7b1ce2c04715115f198112faa Author: Prashant Malani <pmalani@google.com> Date: Thu Dec 07 13:09:22 2017 midis: Sanitize messages from device Using the message sanitization utils in the Chrome WebMIDI source, we sanitize messages that are being delivered to & from the device to ensure that valid MIDI data is being sent through. BUG= chromium:701005 TEST=ARC++ MIDI works on samus. CQ-DEPEND=CL:783842 Change-Id: If8679d18d4c3e129f7544a78583a55757c92d02d Reviewed-on: https://chromium-review.googlesource.com/786135 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/f83609b5d4a2bcd7b1ce2c04715115f198112faa/midis/subdevice_client_fd_holder.cc [modify] https://crrev.com/f83609b5d4a2bcd7b1ce2c04715115f198112faa/midis/midis.gyp [modify] https://crrev.com/f83609b5d4a2bcd7b1ce2c04715115f198112faa/midis/subdevice_client_fd_holder.h
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/7af76f46f28add68b7ee25a86db57abb05009619 commit 7af76f46f28add68b7ee25a86db57abb05009619 Author: Prashant Malani <pmalani@google.com> Date: Wed Jan 03 13:18:11 2018 midis: Add missing syscalls to seccomp policy BUG= chromium:701005 TEST=MIDI apps work on kevin-arcnext Change-Id: Ic60b7bf63695be5dad441570ce1e91359b78163c Reviewed-on: https://chromium-review.googlesource.com/848300 Commit-Ready: Prashant Malani <pmalani@google.com> Tested-by: Prashant Malani <pmalani@google.com> Reviewed-by: Mattias Nissler <mnissler@chromium.org> [modify] https://crrev.com/7af76f46f28add68b7ee25a86db57abb05009619/midis/seccomp/midis-seccomp-arm.policy
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/project-cheets-private/+/7299ffeda79083aea089c849566067705775e7f6 commit 7299ffeda79083aea089c849566067705775e7f6 Author: Prashant Malani <pmalani@google.com> Date: Thu Jan 11 08:20:44 2018
I'm closing this, since the change to enable it on NYC ARC++ is submitted. We can handle bugs on a separate tickets.
Comment 1 by bugdroid1@chromium.org
, Mar 16 2017