mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	alsa-seq: update duration when slaved as well
This commit is contained in:
		
							parent
							
								
									686a5cf47e
								
							
						
					
					
						commit
						9657486a81
					
				
					 1 changed files with 7 additions and 7 deletions
				
			
		| 
						 | 
					@ -655,6 +655,13 @@ static int update_time(struct seq_state *state, uint64_t nsec, bool slave)
 | 
				
			||||||
	double err, corr;
 | 
						double err, corr;
 | 
				
			||||||
	uint64_t clock_elapsed, queue_elapsed;
 | 
						uint64_t clock_elapsed, queue_elapsed;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (state->position) {
 | 
				
			||||||
 | 
							struct spa_io_clock *clock = &state->position->clock;
 | 
				
			||||||
 | 
							state->rate = clock->rate;
 | 
				
			||||||
 | 
							state->duration = clock->duration;
 | 
				
			||||||
 | 
							state->threshold = state->duration;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* take queue time */
 | 
						/* take queue time */
 | 
				
			||||||
	snd_seq_queue_status_alloca(&status);
 | 
						snd_seq_queue_status_alloca(&status);
 | 
				
			||||||
        snd_seq_get_queue_status(state->event.hndl, state->event.queue_id, status);
 | 
					        snd_seq_get_queue_status(state->event.hndl, state->event.queue_id, status);
 | 
				
			||||||
| 
						 | 
					@ -741,13 +748,6 @@ static void alsa_on_timeout_event(struct spa_source *source)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	spa_log_trace(state->log, "timeout %"PRIu64, state->current_time);
 | 
						spa_log_trace(state->log, "timeout %"PRIu64, state->current_time);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (state->position) {
 | 
					 | 
				
			||||||
		struct spa_io_clock *clock = &state->position->clock;
 | 
					 | 
				
			||||||
		state->rate = clock->rate;
 | 
					 | 
				
			||||||
		state->duration = clock->duration;
 | 
					 | 
				
			||||||
		state->threshold = state->duration;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	update_time(state, state->current_time, false);
 | 
						update_time(state, state->current_time, false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	res = process_read(state);
 | 
						res = process_read(state);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue