diff options
Diffstat (limited to 'plugins/alsa/alsa-api-streams.c')
-rw-r--r-- | plugins/alsa/alsa-api-streams.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/plugins/alsa/alsa-api-streams.c b/plugins/alsa/alsa-api-streams.c index e35a8b7..80609bc 100644 --- a/plugins/alsa/alsa-api-streams.c +++ b/plugins/alsa/alsa-api-streams.c @@ -196,7 +196,7 @@ static void paramsOverride(SoftMixerT *mixer, AlsaStreamAudioT * destStream, con if (dest->format != src->format) { AFB_ApiNotice(mixer->api, "Stream %s overrides format to %d", destStream->uid, src->format); dest->format = src->format; - dest->formatS = strdup(src->formatS); + strncpy(dest->formatString, src->formatString, SND_FORMAT_STRING_LEN ); } if (dest->access != src->access) { @@ -334,11 +334,14 @@ STATIC int CreateOneStream(SoftMixerT *mixer, const char * uid, AlsaStreamAudioT // create a fake zone for rate converter selection zone=alloca(sizeof(AlsaSndZoneT)); - zone->uid= playback->uid; - zone->params = playback->sndcard->params; + zone->uid = playback->uid; + + ApiPcmParamsShow(mixer,"PLAYBACK to FAKE ZONE", playback->sndcard->params); + + zone->params = ApiPcmParamsDup(mixer, playback->sndcard->params); zone->ccount = playback->nbChannels; - } + } // create mute control and Registry it as pause/resume ctl) if (asprintf(&runName, "pause-%s", stream->uid) == -1) { @@ -379,6 +382,9 @@ STATIC int CreateOneStream(SoftMixerT *mixer, const char * uid, AlsaStreamAudioT AFB_ApiDebug(mixer->api,"%s: create softvol control", __func__); + ApiPcmParamsShow(mixer, "Stream ", stream->params); + ApiPcmParamsShow(mixer, "Zone", zone->params); + // create volume control before softvol pcm is opened volNumid = AlsaCtlCreateControl(mixer, captureCard, @@ -396,14 +402,14 @@ STATIC int CreateOneStream(SoftMixerT *mixer, const char * uid, AlsaStreamAudioT if ((zone->params->rate != stream->params->rate) || (zone->params->format != stream->params->format)) { AFB_ApiNotice(mixer->api, - "%s: Instanciate a RATE CONVERTER (stream [%d,%s(%d),%d channels], zone [%d,%s(%d), %d channels])", + "%s: Instanciate a RATE CONVERTER (stream [rate %d,%s(%d),%d channels], zone [rate %d,%s(%d), %d channels])", __func__, stream->params->rate, - stream->params->formatS, + stream->params->formatString, stream->params->format, stream->params->channels, zone->params->rate, - zone->params->formatS, + zone->params->formatString, zone->params->format, zone->params->channels); @@ -423,9 +429,9 @@ STATIC int CreateOneStream(SoftMixerT *mixer, const char * uid, AlsaStreamAudioT playbackName = (char*) streamPcm->cid.cardid; } - streamPcm->isPcmPlug = zone->isPcmPlug; + streamPcm->isPcmPlug = zone->isPcmPlug; - AFB_ApiDebug(mixer->api, "%s: Opening PCM PLAYBACK name %s", __func__, playbackName); + AFB_ApiDebug(mixer->api, "%s: Opening PCM PLAYBACK name %s", __func__, playbackName); // everything is now ready to open playback pcm in BLOCKING mode this time error = snd_pcm_open(&streamPcm->handle, playbackName, SND_PCM_STREAM_PLAYBACK, 0 /* will block*/ ); |