| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL fixes a feature breakage on Chrome OS which happens by
crrev.com/244251 accidentally.
Chrome for Chrome OS should be linked with alsa even if cras is enabled.
This is because Web MIDI implementation for Chrome OS depends on alsa.
Also this changes add trace events for each platform implementation.
This is also useful to know which implementation is enabled in the build.
BUG=335865
Review URL: https://codereview.chromium.org/171603014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253373 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 73113403b7d0fa04308689ebc79e765f65a3efad.
This is causing chromeos bot failures:
snippet:
chromeos-chrome-34.0.1842.0_alpha-r1:
../../../../../../../home/chrome-bot/chrome_root/src/content/browser/browser_main_loop.cc:475:
error: undefined reference to 'media::MidiManager::Create()'
chromeos-chrome-34.0.1842.0_alpha-r1: collect2: error: ld returned 1 exit status
chromeos-chrome-34.0.1842.0_alpha-r1: ninja: build stopped: subcommand failed.
link to full output:
http://build.chromium.org/p/chromium.chromiumos/builders/ChromiumOS%20%28amd64%29/builds/14268/steps/BuildPackages/logs/stdio
TBR=toyoshim@chromium.org
BUG=None
Review URL: https://codereview.chromium.org/168523002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251567 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
To investigate a reason that Web MIDI goes not working recently in ChromeOS,
this change enable some important log messages in release build.
Also, this change make it impossible to disable MIDIManager for ChromeOS.
BUG=335865
Review URL: https://codereview.chromium.org/166033004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251564 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement WebMIDI for android.
This CL implements the output function only.
BUG=303596
R=toyoshim@chromium.org
Review URL: https://codereview.chromium.org/133163006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250648 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=303601
Review URL: https://codereview.chromium.org/111103008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249359 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Naming cleanup based on following rules:
- MidiFooBar ... use this style to be consistent with chromium
- WebMIDIFooBar ... Web API name related things, or names in blink
- MIDIFooBar ... APIs and structures defined by each operating systems
Other cleanup:
- Modify some TODO(crogers) to TODO(toyoshim)
- Add some crbug links.
- Remove some obsolete UI TODOs related to infobars
BUG=none
TEST=build for all platforms
Review URL: https://codereview.chromium.org/151343002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248686 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
- Speculate manufacturer name from the card longname.
- Use driver name and library version for port version.
BUG=303601
Review URL: https://codereview.chromium.org/151503002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248390 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce MidiManagerUsb, a MIDIManager subclass for USB-MIDI.
Android port will use this class.
BUG=303596
R=toyoshim@chromium.org
Review URL: https://codereview.chromium.org/107163008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247665 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
UsbMidiInputStream converts USB-MIDI messages to MIDI messages.
UsbMidiOutputStream converts MIDI MIDI messages to USB-MIDI messages.
BUG=303596
R=toyoshim@chromium.org
Review URL: https://codereview.chromium.org/107513012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246277 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to recognize USB MIDI jacks associated with endpoints, this CL
introduces a USB descriptor parser.
BUG=303596
R=toyoshim@chromium.org
Review URL: https://codereview.chromium.org/105043008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244101 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Renaming the Linux MIDI manager to Alsa so we can exclude it if compiling
without Alsa.
BUG=
Review URL: https://codereview.chromium.org/110483008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242925 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change enables Web MIDI API on Linux and Chrome OS.
Only Sending functionality works with this first experimental change.
BUG=303601
TBR=scherkus@chromium.org
NOTRY=true
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=241524
Review URL: https://codereview.chromium.org/111443005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242871 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
google_apis/, gpu/, ipc/, media/, net/ to use the base:: namespace.
BUG=330556
TEST=no change
TBR=ben@chromium.org
Review URL: https://codereview.chromium.org/112963005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242496 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Windows MIDI API specifies timestamps in milliseconds for MIM_DATA and MIM_LONGDATA.
BUG=329964
Review URL: https://codereview.chromium.org/112403003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242252 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
enable-web-midi switch can be added for unsupported platforms, for development purpose.
In such case, returning NULL in MIDIManager::create causes a crash.
This CL prevents the crash.
BUG=303596
Review URL: https://codereview.chromium.org/108603004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242028 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Broke Chromium OS ASAN bots.
http://build.chromium.org/p/chromium.memory/builders/Chromium%20OS%20%28x86%29%20ASAN/builds/7556
> Web MIDI: minimum support for Linux and Chrome OS
>
> This change enables Web MIDI API on Linux and Chrome OS.
> Only Sending functionality works with this first experimental change.
>
> BUG=303601
>
> Review URL: https://codereview.chromium.org/111443005
TBR=toyoshim@chromium.org
Review URL: https://codereview.chromium.org/107953003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241532 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This change enables Web MIDI API on Linux and Chrome OS.
Only Sending functionality works with this first experimental change.
BUG=303601
Review URL: https://codereview.chromium.org/111443005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241524 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
The send thread should start iff the thread is not running.
Accidentally, the condition was reversed :(
BUG=326888
Review URL: https://codereview.chromium.org/107513007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239710 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This CL implements media::MIDIManagerWin on top of Windows multimedia API to provide native MIDI support for web applications.
BUG=303599
TEST=manually done on Windows 8.1
Review URL: https://codereview.chromium.org/29793006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238861 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this CL, each OS-specific implementation of MIDIManager is responsible for implementing DispatchSendMIDIData() as a non-blocking function.
Main motivations of this change are:
- Whether non-blocking implementation of DispatchSendMIDIData() requires a background thread or not depends on MIDI APIs on each platform.
- If the base class owns a background thread and the actual dispatch method is overridden by each implementation class, such background thread must be terminated *before* the subclass destructor() is finished to avoid pure virtual function call. This is a trick requirement in resource cleanup order that we'd like to avoid.
BUG=303599
TEST=manually done on Mac
Review URL: https://codereview.chromium.org/97583002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238703 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The root cause was fixed as r237778.
> Revert 237558 "Use MIDIMessageQueue/IsValidWebMIDIData for MIDI ..."
>
> Seems to have caused issues running perf tests.
>
> BUG=324160
>
> > Use MIDIMessageQueue/IsValidWebMIDIData for MIDI byte stream validation
> >
> > WebMIDI spec draft: http://www.w3.org/TR/webmidi/
> >
> > WebMIDI API guarantees that MIDIInput::onmessage is called back with a single MIDI message. To guarantee this, this CL introduces MIDIMessageQueue class, which allows you to
> > - maintain fragmented MIDI message.
> > - Skip any invalid data sequence.
> > - Reorder MIDI messages so that "System Real Time Message", which can be inserted at any point of the byte stream, can be placed at the boundary of complete MIDI messages.
> > - (Optional) Reconstruct complete MIDI messages from data stream that is compressed with "running status".
> >
> > This CL also replaces existing System Exclusive message validation logic in MIDIHost::OnSendData with MIDIHost::IsValidWebMIDIData, which can detect SysEx message even when it is concatenated with non-SysEx messages.
> >
> > With this change, renderer/blink can be much simpler and free from this kind of data validation.
> >
> > BUG=303599, 317355
> > TEST=media_unittests --gtest_filter=MIDI*, content_unittests --gtest_filter=MIDI*
> >
> > Review URL: https://codereview.chromium.org/68353002
>
> TBR=yukawa@chromium.org
>
> Review URL: https://codereview.chromium.org/93583002
TBR=isherman@chromium.org, toyoshim@chromium.org, scherkus@chromium.org, jochen@chromium.org
BUG=303599,317355,324160
Review URL: https://codereview.chromium.org/96113002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237889 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seems to have caused issues running perf tests.
BUG=324160
> Use MIDIMessageQueue/IsValidWebMIDIData for MIDI byte stream validation
>
> WebMIDI spec draft: http://www.w3.org/TR/webmidi/
>
> WebMIDI API guarantees that MIDIInput::onmessage is called back with a single MIDI message. To guarantee this, this CL introduces MIDIMessageQueue class, which allows you to
> - maintain fragmented MIDI message.
> - Skip any invalid data sequence.
> - Reorder MIDI messages so that "System Real Time Message", which can be inserted at any point of the byte stream, can be placed at the boundary of complete MIDI messages.
> - (Optional) Reconstruct complete MIDI messages from data stream that is compressed with "running status".
>
> This CL also replaces existing System Exclusive message validation logic in MIDIHost::OnSendData with MIDIHost::IsValidWebMIDIData, which can detect SysEx message even when it is concatenated with non-SysEx messages.
>
> With this change, renderer/blink can be much simpler and free from this kind of data validation.
>
> BUG=303599, 317355
> TEST=media_unittests --gtest_filter=MIDI*, content_unittests --gtest_filter=MIDI*
>
> Review URL: https://codereview.chromium.org/68353002
TBR=yukawa@chromium.org
Review URL: https://codereview.chromium.org/93583002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237660 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WebMIDI spec draft: http://www.w3.org/TR/webmidi/
WebMIDI API guarantees that MIDIInput::onmessage is called back with a single MIDI message. To guarantee this, this CL introduces MIDIMessageQueue class, which allows you to
- maintain fragmented MIDI message.
- Skip any invalid data sequence.
- Reorder MIDI messages so that "System Real Time Message", which can be inserted at any point of the byte stream, can be placed at the boundary of complete MIDI messages.
- (Optional) Reconstruct complete MIDI messages from data stream that is compressed with "running status".
This CL also replaces existing System Exclusive message validation logic in MIDIHost::OnSendData with MIDIHost::IsValidWebMIDIData, which can detect SysEx message even when it is concatenated with non-SysEx messages.
With this change, renderer/blink can be much simpler and free from this kind of data validation.
BUG=303599, 317355
TEST=media_unittests --gtest_filter=MIDI*, content_unittests --gtest_filter=MIDI*
Review URL: https://codereview.chromium.org/68353002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237558 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MIDI devices which is connected via IAC driver don't provide some string
properties, e.g. kMIDIPropertyManufacturer, and so on.
As a result, Chrome crashed due to an unexpected NULL CFStringRef.
BUG=277383
TEST=manual (See, original bug report)
Review URL: https://codereview.chromium.org/49443002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231508 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=94925,94794
NOTRY=true
Review URL: https://codereview.chromium.org/27423003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229117 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Passing message buffer to another thread as const uint8* doesn't work
since it might be invalid before another thread reads it.
Keep on handling it as vector<uint8> from IPC to passing it to the OS.
TEST=manual
BUG=276810
Review URL: https://chromiumcodereview.appspot.com/23379002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219796 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=273123
TEST=none
Review URL: https://chromiumcodereview.appspot.com/23125006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218447 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Web MIDI API allows sending of MIDI data, but we need to take
care to not send too much data from the renderer to the browser.
We implement a throttling mechanism where the browser process
acknowledges the number of sent bytes back to the renderer,
and the renderer only sends new data if it hasn't already sent
too much unacknowledged data.
BUG=163795
TEST=none
Review URL: https://chromiumcodereview.appspot.com/19612004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@214570 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement WebMIDIClient to handle permissions and remove dependencies on
old platform APIs. This transition is needed to remove old interfaces from
platform APIs.
BUG=163795
Review URL: https://chromiumcodereview.appspot.com/18611005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213644 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=163795
TEST=builds everywhere
Review URL: https://chromiumcodereview.appspot.com/17617004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208519 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
16025005 had review from: palmer@chromium.org, piman@chromium.org, scherkus@chromium.org
BUG=163795
TBR=scherkus@chromium.org
Review URL: https://codereview.chromium.org/17288018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208003 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
r207989. But it looks more like an accidental commit.
TBR=crogers@google.com
Review URL: https://codereview.chromium.org/17176031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207996 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use ChildThread for main loop - fix Android build
whitespace fix
minor style fix
last minute compile fixes
address Antoine's comments
minor changes to reflect latest Blink API -- address palmer comments
last minute include order fix
address last minute style nits
stub out other OSes
support Takashi's MIDIAccessor
fix minor build err
undo param traits changes
get rid of param_traits - other minor style nits
address scherkus comments
use int64 for ParamTraits
WIP fix white-space issues more style basically working some cleanup -- support for multiple clients forgot midi_manager.cc Get MIDI port information sent to renderer formatting fixes lots of cleanup - added RequestAccess and Send style more style only bother sending received messages to renderer if approval was asked early steps to granting permission to Blink some progress to sending port info to Blink send client_id when requesting access fix minor style issues in .gyp files fix context/browser DEPS fix include paths
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207992 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Implement Web MIDI API back-end
>
> This involves browser-side support and IPC for sending and receiving
> MIDI messages. Initially support for OSX is included.
>
> BUG=163795
> R=palmer@chromium.org, piman@chromium.org, scherkus@chromium.org
>
> Review URL: https://codereview.chromium.org/16025005
TBR=crogers@google.com
Review URL: https://codereview.chromium.org/17334006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207989 0039d316-1c4b-4281-b951-d872f2087c98
|
|
This involves browser-side support and IPC for sending and receiving
MIDI messages. Initially support for OSX is included.
BUG=163795
R=palmer@chromium.org, piman@chromium.org, scherkus@chromium.org
Review URL: https://codereview.chromium.org/16025005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207983 0039d316-1c4b-4281-b951-d872f2087c98
|