diff options
author | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2018-06-02 00:27:49 +0200 |
---|---|---|
committer | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2018-06-02 00:41:29 +0200 |
commit | b8b873b6f58987c2108e11fa378dcaa706e8ddc9 (patch) | |
tree | d85cb7f36ce1924cd2cc55df3d9eb45681279eb6 /plugins/alsa | |
parent | 8c41c2275b6cfa8f60a5d0f0c1793fd0c88dcf3f (diff) |
Take into account params sent with a stream
The params sent with a stream was overwrite when it was read.
Save them correctly at stream json parsing.
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to 'plugins/alsa')
-rw-r--r-- | plugins/alsa/alsa-api-streams.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/plugins/alsa/alsa-api-streams.c b/plugins/alsa/alsa-api-streams.c index 7dce960..6a37d47 100644 --- a/plugins/alsa/alsa-api-streams.c +++ b/plugins/alsa/alsa-api-streams.c @@ -197,17 +197,16 @@ STATIC int ProcessOneStream(CtlSourceT *source, json_object *streamJ, AlsaLoopSt goto OnErrorExit; } - if (paramsJ) error = ProcessSndParams(source, stream->uid, paramsJ, &stream->params); - if (error) { + stream->params.rate = ALSA_DEFAULT_PCM_RATE; + stream->params.rate = ALSA_DEFAULT_PCM_RATE; + stream->params.access = SND_PCM_ACCESS_RW_INTERLEAVED; + stream->params.format = SND_PCM_FORMAT_S16_LE; + stream->params.channels = 2; + stream->params.sampleSize = 0; + + if (paramsJ && ProcessSndParams(source, stream->uid, paramsJ, &stream->params)) { AFB_ApiError(source->api, "ProcessOneSndCard: sndcard=%s invalid params=%s", stream->uid, json_object_get_string(paramsJ)); goto OnErrorExit; - } else { - stream->params.rate = ALSA_DEFAULT_PCM_RATE; - stream->params.rate = ALSA_DEFAULT_PCM_RATE; - stream->params.access = SND_PCM_ACCESS_RW_INTERLEAVED; - stream->params.format = SND_PCM_FORMAT_S16_LE; - stream->params.channels = 2; - stream->params.sampleSize = 0; } // make sure remain valid even when json object is removed |