mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	bluetooth: destruct stream only if it is not already destructed
https://bugzilla.redhat.com/show_bug.cgi?id=551842
This commit is contained in:
		
							parent
							
								
									3eed219a50
								
							
						
					
					
						commit
						11688eca4b
					
				
					 1 changed files with 15 additions and 13 deletions
				
			
		| 
						 | 
					@ -823,23 +823,25 @@ 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);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_rtpoll_item_free(u->rtpoll_item);
 | 
					    if (u->rtpoll_item) {
 | 
				
			||||||
    u->rtpoll_item = NULL;
 | 
					        pa_rtpoll_item_free(u->rtpoll_item);
 | 
				
			||||||
 | 
					        u->rtpoll_item = NULL;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    memset(msg.buf, 0, BT_SUGGESTED_BUFFER_SIZE);
 | 
					    if (u->stream_fd >= 0) {
 | 
				
			||||||
    msg.start_req.h.type = BT_REQUEST;
 | 
					        memset(msg.buf, 0, BT_SUGGESTED_BUFFER_SIZE);
 | 
				
			||||||
    msg.start_req.h.name = BT_STOP_STREAM;
 | 
					        msg.start_req.h.type = BT_REQUEST;
 | 
				
			||||||
    msg.start_req.h.length = sizeof(msg.start_req);
 | 
					        msg.start_req.h.name = BT_STOP_STREAM;
 | 
				
			||||||
 | 
					        msg.start_req.h.length = sizeof(msg.start_req);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (service_send(u, &msg.start_req.h) < 0 ||
 | 
					        if (service_send(u, &msg.start_req.h) < 0 ||
 | 
				
			||||||
        service_expect(u, &msg.rsp, sizeof(msg), BT_STOP_STREAM, sizeof(msg.start_rsp)) < 0)
 | 
					            service_expect(u, &msg.rsp, sizeof(msg), BT_STOP_STREAM, sizeof(msg.start_rsp)) < 0)
 | 
				
			||||||
        r = -1;
 | 
					            r = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    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);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue