diff options
author | toyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-26 06:10:46 +0000 |
---|---|---|
committer | toyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-26 06:10:46 +0000 |
commit | b4cfaa2253999d87e9129e73ac8c645803e3b9c2 (patch) | |
tree | 53277d8cd12f7b1af9b460a8c5e6cdd4e3e8beda | |
parent | a53303264c495bad7fab21c704ebb94504d886cd (diff) | |
download | chromium_src-b4cfaa2253999d87e9129e73ac8c645803e3b9c2.zip chromium_src-b4cfaa2253999d87e9129e73ac8c645803e3b9c2.tar.gz chromium_src-b4cfaa2253999d87e9129e73ac8c645803e3b9c2.tar.bz2 |
Web MIDI: link with alsa even if cras is enabled
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
-rw-r--r-- | media/media.gyp | 11 | ||||
-rw-r--r-- | media/midi/midi_manager.cc | 5 | ||||
-rw-r--r-- | media/midi/midi_manager_alsa.cc | 16 | ||||
-rw-r--r-- | media/midi/midi_manager_usb.cc | 2 | ||||
-rw-r--r-- | media/midi/midi_manager_win.cc | 2 |
5 files changed, 24 insertions, 12 deletions
diff --git a/media/media.gyp b/media/media.gyp index 0707155..fcd4827 100644 --- a/media/media.gyp +++ b/media/media.gyp @@ -22,9 +22,16 @@ 'media_use_libvpx%': 1, }], # Enable ALSA and Pulse for runtime selection. - ['(OS=="linux" or OS=="freebsd" or OS=="solaris") and embedded!=1 and use_cras==0', { + ['(OS=="linux" or OS=="freebsd" or OS=="solaris") and embedded!=1', { + # ALSA is always needed for Web MIDI even if the cras is enabled. 'use_alsa%': 1, - 'use_pulseaudio%': 1, + 'conditions': [ + ['use_cras==1', { + 'use_pulseaudio%': 0, + }, { + 'use_pulseaudio%': 1, + }], + ], }, { 'use_alsa%': 0, 'use_pulseaudio%': 0, diff --git a/media/midi/midi_manager.cc b/media/midi/midi_manager.cc index 4447a05..77b764f 100644 --- a/media/midi/midi_manager.cc +++ b/media/midi/midi_manager.cc @@ -6,12 +6,12 @@ #include "base/bind.h" #include "base/bind_helpers.h" +#include "base/debug/trace_event.h" namespace media { #if !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(USE_ALSA) && \ - !defined(OS_ANDROID) -// TODO(toyoshim): implement MidiManager for other platforms. + !defined(OS_ANDROID) && !defined(OS_CHROMEOS) MidiManager* MidiManager::Create() { return new MidiManager; } @@ -52,6 +52,7 @@ void MidiManager::DispatchSendMidiData(MidiManagerClient* client, } bool MidiManager::Initialize() { + TRACE_EVENT0("midi", "MidiManager::Initialize"); return false; } diff --git a/media/midi/midi_manager_alsa.cc b/media/midi/midi_manager_alsa.cc index 4716db2..8f580e1 100644 --- a/media/midi/midi_manager_alsa.cc +++ b/media/midi/midi_manager_alsa.cc @@ -61,7 +61,7 @@ class MidiManagerAlsa::MidiDeviceInfo midi_out_, reinterpret_cast<const void*>(&data[0]), data.size()); if (static_cast<size_t>(result) != data.size()) { // TODO(toyoshim): Handle device disconnection. - LOG(ERROR) << "snd_rawmidi_write fails: " << strerror(-result); + VLOG(1) << "snd_rawmidi_write fails: " << strerror(-result); } base::MessageLoop::current()->PostTask( FROM_HERE, @@ -130,7 +130,7 @@ MidiManagerAlsa::MidiManagerAlsa() bool MidiManagerAlsa::Initialize() { // TODO(toyoshim): Make Initialize() asynchronous. // See http://crbug.com/339746. - TRACE_EVENT0("midi", "MidiManagerMac::Initialize"); + TRACE_EVENT0("midi", "MidiManagerAlsa::Initialize"); // Enumerate only hardware MIDI devices because software MIDIs running in // the browser process is not secure. @@ -145,12 +145,12 @@ bool MidiManagerAlsa::Initialize() { snd_ctl_t* handle; int err = snd_ctl_open(&handle, id.c_str(), 0); if (err != 0) { - DLOG(ERROR) << "snd_ctl_open fails: " << snd_strerror(err); + VLOG(1) << "snd_ctl_open fails: " << snd_strerror(err); continue; } err = snd_ctl_card_info(handle, card); if (err != 0) { - DLOG(ERROR) << "snd_ctl_card_info fails: " << snd_strerror(err); + VLOG(1) << "snd_ctl_card_info fails: " << snd_strerror(err); snd_ctl_close(handle); continue; } @@ -171,7 +171,7 @@ bool MidiManagerAlsa::Initialize() { scoped_refptr<MidiDeviceInfo> port = new MidiDeviceInfo( this, id, card, output ? midi_out : midi_in, device); if (!port->IsOpened()) { - DLOG(ERROR) << "MidiDeviceInfo open fails"; + VLOG(1) << "MidiDeviceInfo open fails"; continue; } if (input) { @@ -187,7 +187,7 @@ bool MidiManagerAlsa::Initialize() { } if (pipe(pipe_fd_) < 0) { - DPLOG(ERROR) << "pipe() failed"; + VPLOG(1) << "pipe() failed"; return false; } event_thread_.Start(); @@ -266,7 +266,7 @@ void MidiManagerAlsa::EventReset() { void MidiManagerAlsa::EventLoop() { if (HANDLE_EINTR(poll(&poll_fds_[0], poll_fds_.size(), -1)) < 0) { - DPLOG(ERROR) << "Couldn't poll(). Stop to poll input MIDI devices."; + VPLOG(1) << "Couldn't poll(). Stop to poll input MIDI devices."; // TODO(toyoshim): Handle device disconnection, and try to reconnect? return; } @@ -292,7 +292,7 @@ void MidiManagerAlsa::EventLoop() { in_devices_[i]->GetPollDescriptorsRevents(&poll_fds_[fds_index]); if (revents & (POLLERR | POLLNVAL)) { // TODO(toyoshim): Handle device disconnection. - LOG(ERROR) << "snd_rawmidi_descriptors_revents fails"; + VLOG(1) << "snd_rawmidi_descriptors_revents fails"; poll_fds_[fds_index].events = 0; } if (revents & POLLIN) { diff --git a/media/midi/midi_manager_usb.cc b/media/midi/midi_manager_usb.cc index db6e1f1..844c621 100644 --- a/media/midi/midi_manager_usb.cc +++ b/media/midi/midi_manager_usb.cc @@ -5,6 +5,7 @@ #include "media/midi/midi_manager_usb.h" #include "base/callback.h" +#include "base/debug/trace_event.h" #include "base/logging.h" #include "base/memory/scoped_ptr.h" #include "base/message_loop/message_loop.h" @@ -34,6 +35,7 @@ MidiManagerUsb::~MidiManagerUsb() { } bool MidiManagerUsb::Initialize() { + TRACE_EVENT0("midi", "MidiManagerUsb::Initialize"); Initialize(base::Bind(Noop)); return true; } diff --git a/media/midi/midi_manager_win.cc b/media/midi/midi_manager_win.cc index 6643ffd..d2e40ad 100644 --- a/media/midi/midi_manager_win.cc +++ b/media/midi/midi_manager_win.cc @@ -19,6 +19,7 @@ #include <mmsystem.h> #include "base/bind.h" +#include "base/debug/trace_event.h" #include "base/message_loop/message_loop.h" #include "base/strings/string_number_conversions.h" #include "base/strings/utf_string_conversions.h" @@ -501,6 +502,7 @@ MidiManagerWin::MidiManagerWin() } bool MidiManagerWin::Initialize() { + TRACE_EVENT0("midi", "MidiManagerWin::Initialize"); const UINT num_in_devices = midiInGetNumDevs(); in_devices_.reserve(num_in_devices); for (UINT device_id = 0; device_id < num_in_devices; ++device_id) { |