summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Lazzeretti <silviola@amazon.com>2020-07-15 10:39:33 +0200
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2020-09-25 10:35:17 +0000
commit274fdf2bbce92f749ff794461c2d73cc202a242a (patch)
tree862855593370089da4b86a84a665fa9070b4ff91
parent4889cff7839d385610c6a56be79d705796f40d12 (diff)
downloadgstreamer-plugins-bad-274fdf2bbce92f749ff794461c2d73cc202a242a.tar.gz
wasapi: added missing lock release in case of error in gst_wasapi_xxx_reset
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1606>
-rw-r--r--sys/wasapi/gstwasapisink.c5
-rw-r--r--sys/wasapi/gstwasapisrc.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/sys/wasapi/gstwasapisink.c b/sys/wasapi/gstwasapisink.c
index d21c42f90..f7c4fe68f 100644
--- a/sys/wasapi/gstwasapisink.c
+++ b/sys/wasapi/gstwasapisink.c
@@ -715,11 +715,12 @@ gst_wasapi_sink_reset (GstAudioSink * asink)
GST_OBJECT_LOCK (self);
hr = IAudioClient_Stop (self->client);
- HR_FAILED_AND (hr, IAudioClient::Stop,);
+ HR_FAILED_AND (hr, IAudioClient::Stop, goto err);
hr = IAudioClient_Reset (self->client);
- HR_FAILED_AND (hr, IAudioClient::Reset,);
+ HR_FAILED_AND (hr, IAudioClient::Reset, goto err);
+err:
self->client_needs_restart = TRUE;
GST_OBJECT_UNLOCK (self);
}
diff --git a/sys/wasapi/gstwasapisrc.c b/sys/wasapi/gstwasapisrc.c
index 2286b0da9..4f63edce0 100644
--- a/sys/wasapi/gstwasapisrc.c
+++ b/sys/wasapi/gstwasapisrc.c
@@ -689,11 +689,12 @@ gst_wasapi_src_reset (GstAudioSrc * asrc)
GST_OBJECT_LOCK (self);
hr = IAudioClient_Stop (self->client);
- HR_FAILED_RET (hr, IAudioClock::Stop,);
+ HR_FAILED_AND (hr, IAudioClock::Stop, goto err);
hr = IAudioClient_Reset (self->client);
- HR_FAILED_RET (hr, IAudioClock::Reset,);
+ HR_FAILED_AND (hr, IAudioClock::Reset, goto err);
+err:
self->client_needs_restart = TRUE;
GST_OBJECT_UNLOCK (self);
}