fix portengin get_ports() flags API

require all flags to be present (same as jack)
This commit is contained in:
Robin Gareus 2015-05-03 22:34:52 +02:00
parent b2a622b73c
commit 56cc3e2407
5 changed files with 5 additions and 5 deletions

View file

@ -868,7 +868,7 @@ AlsaAudioBackend::get_ports (
}
for (size_t i = 0; i < _ports.size (); ++i) {
AlsaPort* port = _ports[i];
if ((port->type () == type) && (port->flags () & flags)) {
if ((port->type () == type) && flags == (port->flags () & flags)) {
if (!use_regexp || !regexec (&port_regex, port->name ().c_str (), 0, NULL, 0)) {
port_names.push_back (port->name ());
++rv;

View file

@ -779,7 +779,7 @@ CoreAudioBackend::get_ports (
}
for (size_t i = 0; i < _ports.size (); ++i) {
CoreBackendPort* port = _ports[i];
if ((port->type () == type) && (port->flags () & flags)) {
if ((port->type () == type) && flags == (port->flags () & flags)) {
if (!use_regexp || !regexec (&port_regex, port->name ().c_str (), 0, NULL, 0)) {
port_names.push_back (port->name ());
++rv;

View file

@ -640,7 +640,7 @@ DummyAudioBackend::get_ports (
}
for (size_t i = 0; i < _ports.size (); ++i) {
DummyPort* port = _ports[i];
if ((port->type () == type) && (port->flags () & flags)) {
if ((port->type () == type) && flags == (port->flags () & flags)) {
if (!use_regexp || !regexec (&port_regex, port->name ().c_str (), 0, NULL, 0)) {
port_names.push_back (port->name ());
++rv;

View file

@ -649,7 +649,7 @@ PortAudioBackend::get_ports (
}
for (size_t i = 0; i < _ports.size (); ++i) {
PamPort* port = _ports[i];
if ((port->type () == type) && (port->flags () & flags)) {
if ((port->type () == type) && flags == (port->flags () & flags)) {
if (!use_regexp || !regexec (&port_regex, port->name ().c_str (), 0, NULL, 0)) {
port_names.push_back (port->name ());
++rv;

View file

@ -96,7 +96,7 @@ WavesAudioBackend::get_ports (const std::string& port_name_pattern, DataType typ
for (size_t i = 0; i < _ports.size (); ++i) {
WavesDataPort* port = _ports[i];
if ((port->type () == type) && (port->flags () & flags)) {
if ((port->type () == type) && flags == (port->flags () & flags)) {
port_names.push_back (port->name ());
found_ports++;
}