bluetooth: destruct stream only if it is not already destructed

https://bugzilla.redhat.com/show_bug.cgi?id=551842
This commit is contained in:
Lennart Poettering 2010-01-08 22:18:15 +01:00
parent 3eed219a50
commit 11688eca4b

View file

@ -823,12 +823,13 @@ static int stop_stream_fd(struct userdata *u) {
pa_assert(u); pa_assert(u);
pa_assert(u->rtpoll); pa_assert(u->rtpoll);
pa_assert(u->rtpoll_item);
pa_assert(u->stream_fd >= 0);
if (u->rtpoll_item) {
pa_rtpoll_item_free(u->rtpoll_item); pa_rtpoll_item_free(u->rtpoll_item);
u->rtpoll_item = NULL; u->rtpoll_item = NULL;
}
if (u->stream_fd >= 0) {
memset(msg.buf, 0, BT_SUGGESTED_BUFFER_SIZE); memset(msg.buf, 0, BT_SUGGESTED_BUFFER_SIZE);
msg.start_req.h.type = BT_REQUEST; msg.start_req.h.type = BT_REQUEST;
msg.start_req.h.name = BT_STOP_STREAM; msg.start_req.h.name = BT_STOP_STREAM;
@ -840,6 +841,7 @@ static int stop_stream_fd(struct userdata *u) {
pa_close(u->stream_fd); pa_close(u->stream_fd);
u->stream_fd = -1; u->stream_fd = -1;
}
if (u->read_smoother) { if (u->read_smoother) {
pa_smoother_free(u->read_smoother); pa_smoother_free(u->read_smoother);