| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/midi/midi_manager_alsa.h" | 5 #include "media/midi/midi_manager_alsa.h" |
| 6 | 6 |
| 7 #include <alsa/asoundlib.h> | 7 #include <alsa/asoundlib.h> |
| 8 #include <stdlib.h> | 8 #include <stdlib.h> |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 const std::string card_name = snd_ctl_card_info_get_longname(card); | 177 const std::string card_name = snd_ctl_card_info_get_longname(card); |
| 178 size_t at_index = card_name.rfind(" at "); | 178 size_t at_index = card_name.rfind(" at "); |
| 179 if (std::string::npos != at_index) { | 179 if (std::string::npos != at_index) { |
| 180 size_t name_index = card_name.rfind(name, at_index - 1); | 180 size_t name_index = card_name.rfind(name, at_index - 1); |
| 181 if (std::string::npos != name_index) | 181 if (std::string::npos != name_index) |
| 182 manufacturer = card_name.substr(0, name_index - 1); | 182 manufacturer = card_name.substr(0, name_index - 1); |
| 183 } | 183 } |
| 184 const std::string driver = snd_ctl_card_info_get_driver(card); | 184 const std::string driver = snd_ctl_card_info_get_driver(card); |
| 185 cards.push_back(new CardInfo(name, manufacturer, driver)); | 185 cards.push_back(new CardInfo(name, manufacturer, driver)); |
| 186 } | 186 } |
| 187 snd_ctl_close(handle); |
| 187 } | 188 } |
| 188 | 189 |
| 189 // Enumerate all ports in all clients. | 190 // Enumerate all ports in all clients. |
| 190 snd_seq_client_info_t* client_info; | 191 snd_seq_client_info_t* client_info; |
| 191 snd_seq_client_info_alloca(&client_info); | 192 snd_seq_client_info_alloca(&client_info); |
| 192 snd_seq_port_info_t* port_info; | 193 snd_seq_port_info_t* port_info; |
| 193 snd_seq_port_info_alloca(&port_info); | 194 snd_seq_port_info_alloca(&port_info); |
| 194 | 195 |
| 195 snd_seq_client_info_set_client(client_info, -1); | 196 snd_seq_client_info_set_client(client_info, -1); |
| 196 // Enumerate clients. | 197 // Enumerate clients. |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 event_thread_.message_loop()->PostTask( | 444 event_thread_.message_loop()->PostTask( |
| 444 FROM_HERE, | 445 FROM_HERE, |
| 445 base::Bind(&MidiManagerAlsa::EventLoop, base::Unretained(this))); | 446 base::Bind(&MidiManagerAlsa::EventLoop, base::Unretained(this))); |
| 446 } | 447 } |
| 447 | 448 |
| 448 MidiManager* MidiManager::Create() { | 449 MidiManager* MidiManager::Create() { |
| 449 return new MidiManagerAlsa(); | 450 return new MidiManagerAlsa(); |
| 450 } | 451 } |
| 451 | 452 |
| 452 } // namespace media | 453 } // namespace media |
| OLD | NEW |