output/Jack: mark ports as terminal
This is the correct thing to do for ports from which a signal ultimately "originates", such as is the case with mpd.
This commit is contained in:
		
				
					committed by
					
						
						Max Kellermann
					
				
			
			
				
	
			
			
			
						parent
						
							d9841668ff
						
					
				
				
					commit
					65778a3774
				
			
							
								
								
									
										2
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,4 +1,6 @@
 | 
			
		||||
ver 0.21.17 (not yet released)
 | 
			
		||||
* outputs
 | 
			
		||||
  - jack: mark ports as terminal
 | 
			
		||||
 | 
			
		||||
ver 0.21.16 (2019/10/16)
 | 
			
		||||
* queue
 | 
			
		||||
 
 | 
			
		||||
@@ -403,10 +403,11 @@ JackOutput::Connect()
 | 
			
		||||
	jack_on_shutdown(client, mpd_jack_shutdown, this);
 | 
			
		||||
 | 
			
		||||
	for (unsigned i = 0; i < num_source_ports; ++i) {
 | 
			
		||||
		unsigned long portflags = JackPortIsOutput | JackPortIsTerminal;
 | 
			
		||||
		ports[i] = jack_port_register(client,
 | 
			
		||||
					      source_ports[i].c_str(),
 | 
			
		||||
					      JACK_DEFAULT_AUDIO_TYPE,
 | 
			
		||||
					      JackPortIsOutput, 0);
 | 
			
		||||
					      portflags, 0);
 | 
			
		||||
		if (ports[i] == nullptr) {
 | 
			
		||||
			Disconnect();
 | 
			
		||||
			throw FormatRuntimeError("Cannot register output port \"%s\"",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user