+2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
+
+ * ext/alsa/gstalsamixerelement.c:
+ (gst_alsa_mixer_element_change_state):
+ Make state change fail if the specified device can't be opened
+ for some reason.
+
2006-07-20 Wim Taymans <wim@fluendo.com>
* gst/playback/test.c: (gen_video_element), (gen_audio_element),
switch (transition) {
case GST_STATE_CHANGE_NULL_TO_READY:
if (!this->mixer) {
- if (!this->device) {
- this->mixer = gst_alsa_mixer_new ("default", GST_ALSA_MIXER_ALL);
- } else {
- this->mixer = gst_alsa_mixer_new (this->device, GST_ALSA_MIXER_ALL);
+ const gchar *device = (this->device) ? this->device : "default";
+
+ this->mixer = gst_alsa_mixer_new (device, GST_ALSA_MIXER_ALL);
+ if (!this->mixer) {
+ GST_ELEMENT_ERROR (element, RESOURCE, OPEN_READ_WRITE, (NULL),
+ ("Failed to open alsa mixer device '%s'", device));
+ return GST_STATE_CHANGE_FAILURE;
}
}
break;