From: Tim-Philipp Müller Date: Thu, 20 Jul 2006 16:57:29 +0000 (+0000) Subject: ext/alsa/gstalsamixerelement.c: Make state change fail if the specified device can... X-Git-Tag: 1.19.3~511^2~11731 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f82bb0c84e72d3b2241ba8765bbb962aed40b946;p=platform%2Fupstream%2Fgstreamer.git ext/alsa/gstalsamixerelement.c: Make state change fail if the specified device can't be opened for some reason. Original commit message from CVS: * 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. --- diff --git a/ChangeLog b/ChangeLog index b272f76..fd92785 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-07-20 Tim-Philipp Müller + + * 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 * gst/playback/test.c: (gen_video_element), (gen_audio_element), diff --git a/ext/alsa/gstalsamixerelement.c b/ext/alsa/gstalsamixerelement.c index 2fa5bec..4cefe78 100644 --- a/ext/alsa/gstalsamixerelement.c +++ b/ext/alsa/gstalsamixerelement.c @@ -208,10 +208,13 @@ gst_alsa_mixer_element_change_state (GstElement * 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;