pipe: add helper function music_pipe_empty()
This commit is contained in:
		@@ -266,7 +266,7 @@ audio_output_all_open(const struct audio_format *audio_format,
 | 
				
			|||||||
	else
 | 
						else
 | 
				
			||||||
		/* if the pipe hasn't been cleared, the the audio
 | 
							/* if the pipe hasn't been cleared, the the audio
 | 
				
			||||||
		   format must not have changed */
 | 
							   format must not have changed */
 | 
				
			||||||
		assert(music_pipe_size(g_mp) == 0 ||
 | 
							assert(music_pipe_empty(g_mp) ||
 | 
				
			||||||
		       audio_format_equals(audio_format,
 | 
							       audio_format_equals(audio_format,
 | 
				
			||||||
					   &input_audio_format));
 | 
										   &input_audio_format));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -378,7 +378,7 @@ audio_output_all_check(void)
 | 
				
			|||||||
	assert(g_mp != NULL);
 | 
						assert(g_mp != NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	while ((chunk = music_pipe_peek(g_mp)) != NULL) {
 | 
						while ((chunk = music_pipe_peek(g_mp)) != NULL) {
 | 
				
			||||||
		assert(music_pipe_size(g_mp) > 0);
 | 
							assert(!music_pipe_empty(g_mp));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (!chunk_is_consumed(chunk))
 | 
							if (!chunk_is_consumed(chunk))
 | 
				
			||||||
			/* at least one output is not finished playing
 | 
								/* at least one output is not finished playing
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -99,4 +99,10 @@ music_pipe_push(struct music_pipe *mp, struct music_chunk *chunk);
 | 
				
			|||||||
unsigned
 | 
					unsigned
 | 
				
			||||||
music_pipe_size(const struct music_pipe *mp);
 | 
					music_pipe_size(const struct music_pipe *mp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static inline bool
 | 
				
			||||||
 | 
					music_pipe_empty(const struct music_pipe *mp)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return music_pipe_size(mp) == 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -736,7 +736,7 @@ static void do_play(void)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		if (player.paused)
 | 
							if (player.paused)
 | 
				
			||||||
			notify_wait(&pc.notify);
 | 
								notify_wait(&pc.notify);
 | 
				
			||||||
		else if (music_pipe_size(player.pipe) > 0) {
 | 
							else if (!music_pipe_empty(player.pipe)) {
 | 
				
			||||||
			/* at least one music chunk is ready - send it
 | 
								/* at least one music chunk is ready - send it
 | 
				
			||||||
			   to the audio output */
 | 
								   to the audio output */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -757,7 +757,7 @@ static void do_play(void)
 | 
				
			|||||||
			/* check the size of the pipe again, because
 | 
								/* check the size of the pipe again, because
 | 
				
			||||||
			   the decoder thread may have added something
 | 
								   the decoder thread may have added something
 | 
				
			||||||
			   since we last checked */
 | 
								   since we last checked */
 | 
				
			||||||
			if (music_pipe_size(player.pipe) == 0)
 | 
								if (music_pipe_empty(player.pipe))
 | 
				
			||||||
				break;
 | 
									break;
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			/* the decoder is too busy and hasn't provided
 | 
								/* the decoder is too busy and hasn't provided
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user