New issue
Advanced search Search tips

Issue 701005 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug

Blocking:
issue 729915



Sign in to add a comment

MIDI service tracking bug

Project Member Reported by pmalani@chromium.org, Mar 13 2017

Issue description

Tracking bug for new midi service.


 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 16 2017

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

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 16 2017

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

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 16 2017

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

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 21 2017

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

Project Member

Comment 5 by bugdroid1@chromium.org, Mar 21 2017

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

Project Member

Comment 6 by bugdroid1@chromium.org, Mar 22 2017

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

Project Member

Comment 7 by bugdroid1@chromium.org, Mar 31 2017

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

Project Member

Comment 8 by bugdroid1@chromium.org, Apr 7 2017

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

Project Member

Comment 9 by bugdroid1@chromium.org, Apr 7 2017

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

Project Member

Comment 10 by bugdroid1@chromium.org, Apr 7 2017

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

Project Member

Comment 11 by bugdroid1@chromium.org, Apr 7 2017

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

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 25 2017

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

Project Member

Comment 13 by bugdroid1@chromium.org, Apr 25 2017

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

Project Member

Comment 14 by bugdroid1@chromium.org, Apr 29 2017

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

Project Member

Comment 15 by bugdroid1@chromium.org, May 10 2017

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

Project Member

Comment 16 by bugdroid1@chromium.org, May 10 2017

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

Project Member

Comment 17 by bugdroid1@chromium.org, May 10 2017

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

Project Member

Comment 18 by bugdroid1@chromium.org, May 21 2017

Project Member

Comment 19 by bugdroid1@chromium.org, May 24 2017

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

Project Member

Comment 20 by bugdroid1@chromium.org, May 26 2017

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

Blocking: 729915
Project Member

Comment 22 by bugdroid1@chromium.org, Jun 8 2017

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

Project Member

Comment 23 by bugdroid1@chromium.org, Jun 8 2017

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

Project Member

Comment 24 by bugdroid1@chromium.org, Jun 9 2017

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

Project Member

Comment 25 by bugdroid1@chromium.org, Jun 9 2017

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

Project Member

Comment 26 by bugdroid1@chromium.org, Jun 21 2017

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

Project Member

Comment 27 by bugdroid1@chromium.org, Jun 21 2017

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

Components: Blink>WebMIDI
Labels: -OS-All OS-Chrome
Status: Started (was: Untriaged)
let me change some labels. please fix it if I'm wrong.
Project Member

Comment 29 by bugdroid1@chromium.org, Jul 7 2017

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

Project Member

Comment 30 by bugdroid1@chromium.org, Jul 8 2017

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

Project Member

Comment 31 by bugdroid1@chromium.org, Jul 11 2017

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

Project Member

Comment 32 by bugdroid1@chromium.org, Jul 19 2017

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

Project Member

Comment 33 by bugdroid1@chromium.org, Jul 20 2017

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

Project Member

Comment 34 by bugdroid1@chromium.org, Aug 4 2017

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

Project Member

Comment 35 by bugdroid1@chromium.org, Aug 4 2017

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

Project Member

Comment 36 by bugdroid1@chromium.org, Aug 9 2017

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

Project Member

Comment 37 by bugdroid1@chromium.org, Aug 9 2017

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

Project Member

Comment 38 by bugdroid1@chromium.org, Aug 15 2017

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

Project Member

Comment 39 by bugdroid1@chromium.org, Aug 22 2017

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

Project Member

Comment 40 by bugdroid1@chromium.org, Aug 22 2017

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

Cc: elijahtaylor@chromium.org
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
Project Member

Comment 42 by bugdroid1@chromium.org, Aug 23 2017

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

Project Member

Comment 43 by bugdroid1@chromium.org, Aug 24 2017

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

Project Member

Comment 44 by bugdroid1@chromium.org, Aug 28 2017

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

Project Member

Comment 45 by bugdroid1@chromium.org, Aug 30 2017

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

Project Member

Comment 46 by bugdroid1@chromium.org, Sep 6 2017

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

Project Member

Comment 47 by bugdroid1@chromium.org, Sep 12 2017

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

Project Member

Comment 48 by bugdroid1@chromium.org, Sep 14 2017

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

Project Member

Comment 49 by bugdroid1@chromium.org, Sep 15 2017

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

Project Member

Comment 50 by bugdroid1@chromium.org, Sep 15 2017

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

Project Member

Comment 51 by bugdroid1@chromium.org, Sep 16 2017

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

Project Member

Comment 52 by bugdroid1@chromium.org, Sep 21 2017

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

Project Member

Comment 53 by bugdroid1@chromium.org, Sep 25 2017

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

Project Member

Comment 54 by bugdroid1@chromium.org, Sep 27 2017

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

Project Member

Comment 55 by bugdroid1@chromium.org, Sep 29 2017

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

Project Member

Comment 56 by bugdroid1@chromium.org, Oct 5 2017

Project Member

Comment 57 by bugdroid1@chromium.org, Oct 6 2017

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

Project Member

Comment 58 by bugdroid1@chromium.org, Oct 6 2017

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

Project Member

Comment 59 by bugdroid1@chromium.org, Oct 6 2017

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

Project Member

Comment 60 by bugdroid1@chromium.org, Oct 7 2017

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

Project Member

Comment 61 by bugdroid1@chromium.org, Oct 15 2017

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

Project Member

Comment 62 by bugdroid1@chromium.org, Oct 24 2017

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

Project Member

Comment 63 by bugdroid1@chromium.org, Oct 24 2017

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

Project Member

Comment 64 by bugdroid1@chromium.org, Oct 24 2017

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

Project Member

Comment 65 by bugdroid1@chromium.org, Oct 26 2017

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

Project Member

Comment 66 by bugdroid1@chromium.org, Oct 27 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

Project Member

Comment 67 by bugdroid1@chromium.org, Nov 8 2017

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

Project Member

Comment 68 by bugdroid1@chromium.org, Nov 8 2017

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

Project Member

Comment 69 by bugdroid1@chromium.org, Nov 22 2017

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

Project Member

Comment 70 by bugdroid1@chromium.org, Dec 6 2017

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

Project Member

Comment 71 by bugdroid1@chromium.org, Dec 7 2017

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

Project Member

Comment 72 by bugdroid1@chromium.org, Jan 3 2018

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

Project Member

Comment 73 by bugdroid1@chromium.org, Jan 11 2018

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.
Status: Fixed (was: Started)

Sign in to add a comment