From dd45065c7556a4dfe8a0fe340a6093bcb84e772a Mon Sep 17 00:00:00 2001 From: Kazumasa Mitsunari Date: Wed, 6 Jun 2018 20:36:49 +0900 Subject: Add new APIs High level API * stream_open * stream_close * set_stream_state Get functions * getListMainSinks * getListMainSources * getListMainConnections New event * stream_state_event Change-Id: Ifdfd4551d64bbc83a080bb4d9d07f77e7b5715a8 Signed-off-by: Kazumasa Mitsunari --- src/qlibsoundmanager.cpp | 30 ++++++++++++++++++++++++++++-- src/qlibsoundmanager.h | 11 +++++++++-- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/src/qlibsoundmanager.cpp b/src/qlibsoundmanager.cpp index c9e002c..a7722d9 100644 --- a/src/qlibsoundmanager.cpp +++ b/src/qlibsoundmanager.cpp @@ -95,10 +95,36 @@ int QSoundmanager::disconnect(int connectionID){ int QSoundmanager::ackSetSourceState(int handle, int errorcode){ return Soundmanager::ackSetSourceState(handle, errorcode); } -int QSoundmanager::registerSource(const QString& name){ - string str = name.toStdString(); +int QSoundmanager::registerSource(const QString& audio_role){ + string str = audio_role.toStdString(); return Soundmanager::registerSource(str); } +int QSoundmanager::getListMainSources(){ + return Soundmanager::getListMainSources(); +} +int QSoundmanager::getListMainSinks(){ + return Soundmanager::getListMainSinks(); +} +int QSoundmanager::getListMainConnections(){ + return Soundmanager::getListMainConnections(); +} +int QSoundmanager::stream_open(const QString& audio_role, int endpoint_id){ + string arole = audio_role.toStdString(); + return Soundmanager::stream_open(arole, endpoint_id); +} +int QSoundmanager::stream_open(const QString& audio_role, const QString& endpoint_id){ + string arole = audio_role.toStdString(); + string eid = endpoint_id.toStdString(); + return Soundmanager::stream_open(arole, eid); +} + +int QSoundmanager::stream_close(int stream_id){ + return Soundmanager::stream_close(stream_id); +} +int QSoundmanager::set_stream_state(int stream_id, int mute){ + return Soundmanager::set_stream_state(stream_id, mute); +} + static int create_json_object(const QJsonObject& obj, struct json_object* jobj) { diff --git a/src/qlibsoundmanager.h b/src/qlibsoundmanager.h index 36b477b..4c17002 100644 --- a/src/qlibsoundmanager.h +++ b/src/qlibsoundmanager.h @@ -38,11 +38,18 @@ public: // method public: Q_INVOKABLE int call(const QString &verb, const QJsonObject &arg); - Q_INVOKABLE int connect(int sourceID, const QString& sinkName); + Q_INVOKABLE int connect(int sourceID, const QString& sinkName = "default"); Q_INVOKABLE int connect(int sourceID, int sinkID); Q_INVOKABLE int disconnect(int connectionID); Q_INVOKABLE int ackSetSourceState(int handle, int errorcode); - Q_INVOKABLE int registerSource(const QString& name); + Q_INVOKABLE int registerSource(const QString& audio_role); + Q_INVOKABLE int getListMainSinks(); + Q_INVOKABLE int getListMainSources(); + Q_INVOKABLE int getListMainConnections(); + Q_INVOKABLE int stream_open(const QString& audio_role, int endpoint_id); + Q_INVOKABLE int stream_open(const QString& audio_role, const QString& endpoint_id = "default"); + Q_INVOKABLE int stream_close(int stream_id); + Q_INVOKABLE int set_stream_state(int stream_id, int mute = 0); // 0 is unmute , 1 is mute signals: void reply(const QVariant &msg); -- cgit 1.2.3-korg