Lines Matching refs:scope

161 static int snd_pcm_scope_remove(snd_pcm_scope_t *scope)
163 free(scope->name);
164 scope->ops->close(scope);
165 list_del(&scope->list);
166 free(scope);
170 static int snd_pcm_scope_enable(snd_pcm_scope_t *scope)
173 assert(!scope->enabled);
174 err = scope->ops->enable(scope);
175 scope->enabled = (err >= 0);
179 static int snd_pcm_scope_disable(snd_pcm_scope_t *scope)
181 assert(scope->enabled);
182 scope->ops->disable(scope);
183 scope->enabled = 0;
193 snd_pcm_scope_t *scope;
196 scope = list_entry(pos, snd_pcm_scope_t, list);
197 snd_pcm_scope_enable(scope);
211 scope = list_entry(pos, snd_pcm_scope_t, list);
212 scope->ops->stop(scope);
243 scope = list_entry(pos, snd_pcm_scope_t, list);
244 if (scope->enabled)
245 scope->ops->reset(scope);
251 scope = list_entry(pos, snd_pcm_scope_t, list);
252 if (scope->enabled)
253 scope->ops->start(scope);
258 scope = list_entry(pos, snd_pcm_scope_t, list);
259 if (scope->enabled)
260 scope->ops->update(scope);
265 scope = list_entry(pos, snd_pcm_scope_t, list);
266 if (scope->enabled)
267 snd_pcm_scope_disable(scope);
283 snd_pcm_scope_t *scope;
284 scope = list_entry(pos, snd_pcm_scope_t, list);
285 snd_pcm_scope_remove(scope);
624 SNDERR("Invalid type for scope %s", str);
843 * \brief Add a scope to a #SND_PCM_TYPE_METER PCM
845 * \param scope Scope handle
848 int snd_pcm_meter_add_scope(snd_pcm_t *pcm, snd_pcm_scope_t *scope)
853 list_add_tail(&scope->list, &meter->scopes);
858 * \brief Search an installed scope inside a #SND_PCM_TYPE_METER PCM
860 * \param name scope name
861 * \return pointer to found scope or NULL if none is found
870 snd_pcm_scope_t *scope;
871 scope = list_entry(pos, snd_pcm_scope_t, list);
872 if (scope->name && strcmp(scope->name, name) == 0)
873 return scope;
949 * \brief Set name of a #SND_PCM_TYPE_METER PCM scope
950 * \param scope PCM meter scope
951 * \param val scope name
953 void snd_pcm_scope_set_name(snd_pcm_scope_t *scope, const char *val)
955 scope->name = strdup(val);
959 * \brief Get name of a #SND_PCM_TYPE_METER PCM scope
960 * \param scope PCM meter scope
961 * \return scope name
963 const char *snd_pcm_scope_get_name(snd_pcm_scope_t *scope)
965 return scope->name;
969 * \brief Set callbacks for a #SND_PCM_TYPE_METER PCM scope
970 * \param scope PCM meter scope
973 void snd_pcm_scope_set_ops(snd_pcm_scope_t *scope, const snd_pcm_scope_ops_t *val)
975 scope->ops = val;
979 * \brief Get callbacks private value for a #SND_PCM_TYPE_METER PCM scope
980 * \param scope PCM meter scope
983 void *snd_pcm_scope_get_callback_private(snd_pcm_scope_t *scope)
985 return scope->private_data;
989 * \brief Get callbacks private value for a #SND_PCM_TYPE_METER PCM scope
990 * \param scope PCM meter scope
993 void snd_pcm_scope_set_callback_private(snd_pcm_scope_t *scope, void *val)
995 scope->private_data = val;
1008 static int s16_enable(snd_pcm_scope_t *scope)
1010 snd_pcm_scope_s16_t *s16 = scope->private_data;
1072 static void s16_disable(snd_pcm_scope_t *scope)
1074 snd_pcm_scope_s16_t *s16 = scope->private_data;
1083 static void s16_close(snd_pcm_scope_t *scope)
1085 snd_pcm_scope_s16_t *s16 = scope->private_data;
1089 static void s16_start(snd_pcm_scope_t *scope ATTRIBUTE_UNUSED)
1093 static void s16_stop(snd_pcm_scope_t *scope ATTRIBUTE_UNUSED)
1097 static void s16_update(snd_pcm_scope_t *scope)
1099 snd_pcm_scope_s16_t *s16 = scope->private_data;
1151 static void s16_reset(snd_pcm_scope_t *scope)
1153 snd_pcm_scope_s16_t *s16 = scope->private_data;
1171 * \brief Add a s16 pseudo scope to a #SND_PCM_TYPE_METER PCM
1174 * \param scopep Pointer to newly created and added scope
1177 * s16 pseudo scope convert #SND_PCM_TYPE_METER PCM frames in CPU endian
1185 snd_pcm_scope_t *scope;
1189 scope = calloc(1, sizeof(*scope));
1190 if (!scope)
1194 free(scope);
1198 scope->name = strdup(name);
1200 scope->ops = &s16_ops;
1201 scope->private_data = s16;
1202 list_add_tail(&scope->list, &meter->scopes);
1203 *scopep = scope;
1208 * \brief Get s16 pseudo scope frames buffer for a channel
1209 * \param scope s16 pseudo scope handle
1213 int16_t *snd_pcm_scope_s16_get_channel_buffer(snd_pcm_scope_t *scope,
1218 assert(scope->ops == &s16_ops);
1219 s16 = scope->private_data;