diff options
author | Wolf Bergenheim <ext-wolf.2.bergenheim@nokia.com> | 2010-03-25 13:21:04 +0200 |
---|---|---|
committer | Wolf Bergenheim <ext-wolf.2.bergenheim@nokia.com> | 2010-03-25 13:21:04 +0200 |
commit | 77b9a734387dcddea4097a61e1cd19fcd60bd452 (patch) | |
tree | 6a37d69514b0ed2fff763c7760ac5c8ae3b493d7 /libresourceqt/src/resource-set.cpp | |
parent | 6edecafaa7e81a625bc799d1513790af456ea302 (diff) |
Changed so that audio information is sent as soon as it is set.
Diffstat (limited to 'libresourceqt/src/resource-set.cpp')
-rw-r--r-- | libresourceqt/src/resource-set.cpp | 59 |
1 files changed, 36 insertions, 23 deletions
diff --git a/libresourceqt/src/resource-set.cpp b/libresourceqt/src/resource-set.cpp index e45cb1c..af0a6fc 100644 --- a/libresourceqt/src/resource-set.cpp +++ b/libresourceqt/src/resource-set.cpp @@ -59,7 +59,6 @@ void ResourceSet::addResourceObject(Resource *resource) if(resource == NULL) return; if (resource->type() == AudioPlaybackType) { - qDebug("audioResource... %p", resource); audioResource = static_cast<AudioResource *>(resource); QObject::connect(audioResource, SIGNAL(audioPropertiesChanged(const QString &, quint32, @@ -70,7 +69,8 @@ void ResourceSet::addResourceObject(Resource *resource) if(audioResource->streamTagIsSet() || audioResource->audioGroupIsSet() || (audioResource->processID() > 0)) { - pendingAudioProperties = true; + qDebug("registering audio properties"); + registerAudioProperties(); } } delete resourceSet[resource->type()]; @@ -250,16 +250,9 @@ bool ResourceSet::alwaysGetReply() void ResourceSet::connectedHandler() { + qDebug("Connected to manager!"); if (pendingAudioProperties) { - qDebug() << "registering audio group: " << audioResource->audioGroup(); - qDebug() << "registering PID: " << audioResource->processID(); - qDebug() << "registering audio stream: " << audioResource->streamTagName() - << ":" << audioResource->streamTagValue(); - resourceEngine->registerAudioProperties(audioResource->audioGroup(), - audioResource->processID(), - audioResource->streamTagName(), - audioResource->streamTagValue()); - pendingAudioProperties = false; + registerAudioProperties(); } if (pendingUpdate) { resourceEngine->updateResources(); @@ -271,6 +264,35 @@ void ResourceSet::connectedHandler() } } +void ResourceSet::registerAudioProperties() +{ + if (!initialized) { + qDebug("%s(): initializing...", __FUNCTION__); + pendingAudioProperties = true; + initialize(); + } + else if (!resourceEngine->isConnectedToManager()) { + qDebug("%s(): Connecting to Manager...", __FUNCTION__); + pendingAudioProperties = true; + resourceEngine->connectToManager(); + } + else { + qDebug("Registering new audio settings:"); + qDebug() << "\taudio group: " << audioResource->audioGroup(); + qDebug() << "\tPID: " << audioResource->processID(); + qDebug() << "\taudio stream: " << audioResource->streamTagName() + << ":" << audioResource->streamTagValue(); + if((audioResource->processID() > 0) && audioResource->streamTagName() != "media.name") { + qWarning() << "streamTagName should be 'media.name' it is '" << audioResource->streamTagName() << "'"; + } + resourceEngine->registerAudioProperties(audioResource->audioGroup(), + audioResource->processID(), + audioResource->streamTagName(), + audioResource->streamTagValue()); + pendingAudioProperties = false; + } +} + void ResourceSet::handleGranted(quint32 bitmaskOfGrantedResources) { qDebug("in %s",__FUNCTION__); @@ -341,17 +363,8 @@ void ResourceSet::handleResourcesBecameAvailable(quint32 availableResources) emit resourcesBecameAvailable(listOfResources); } -void ResourceSet::handleAudioPropertiesChanged(const QString &group, quint32 pid, - const QString &name, const QString &value) +void ResourceSet::handleAudioPropertiesChanged(const QString &, quint32, + const QString &, const QString &) { - qDebug() << "Audio group is: " << group; - qDebug("Audio renderer PID = %u", pid); - if (initialized && resourceEngine->isConnectedToManager()) { - qDebug("registering new audio settings"); - resourceEngine->registerAudioProperties(group, pid, name, value); - } - else { - qDebug("registering new audio group LATER"); - pendingAudioProperties = true; - } + registerAudioProperties(); } |