faad: fill buffer in adts_find_frame()
All callers of adts_find_frame() use faad_buffer_fill() before that. Move that faad_buffer_fill() call into adts_find_frame() instead. adts_find_frame() will get its own logic for on-demand filling.
This commit is contained in:
		| @@ -116,6 +116,8 @@ adts_find_frame(struct faad_buffer *b) | |||||||
| 	const unsigned char *p; | 	const unsigned char *p; | ||||||
| 	size_t frame_length; | 	size_t frame_length; | ||||||
|  |  | ||||||
|  | 	faad_buffer_fill(b); | ||||||
|  |  | ||||||
| 	while ((p = memchr(b->data, 0xff, b->length)) != NULL) { | 	while ((p = memchr(b->data, 0xff, b->length)) != NULL) { | ||||||
| 		/* discard data before 0xff */ | 		/* discard data before 0xff */ | ||||||
| 		if (p > b->data) | 		if (p > b->data) | ||||||
| @@ -150,8 +152,6 @@ adts_song_duration(struct faad_buffer *b, float *length) | |||||||
|  |  | ||||||
| 	/* Read all frames to ensure correct time and bitrate */ | 	/* Read all frames to ensure correct time and bitrate */ | ||||||
| 	for (frames = 0;; frames++) { | 	for (frames = 0;; frames++) { | ||||||
| 		faad_buffer_fill(b); |  | ||||||
|  |  | ||||||
| 		frame_length = adts_find_frame(b); | 		frame_length = adts_find_frame(b); | ||||||
| 		if (frame_length > 0) { | 		if (frame_length > 0) { | ||||||
| 			if (frames == 0) { | 			if (frames == 0) { | ||||||
| @@ -347,7 +347,6 @@ faad_stream_decode(struct decoder *mpd_decoder, struct input_stream *is) | |||||||
| 	while (buffer.length < sizeof(buffer.data) && | 	while (buffer.length < sizeof(buffer.data) && | ||||||
| 	       !input_stream_eof(buffer.is) && | 	       !input_stream_eof(buffer.is) && | ||||||
| 	       decoder_get_command(mpd_decoder) == DECODE_COMMAND_NONE) { | 	       decoder_get_command(mpd_decoder) == DECODE_COMMAND_NONE) { | ||||||
| 		faad_buffer_fill(&buffer); |  | ||||||
| 		adts_find_frame(&buffer); | 		adts_find_frame(&buffer); | ||||||
| 		faad_buffer_fill(&buffer); | 		faad_buffer_fill(&buffer); | ||||||
| 	} | 	} | ||||||
| @@ -369,7 +368,6 @@ faad_stream_decode(struct decoder *mpd_decoder, struct input_stream *is) | |||||||
| 	faad_buffer_consume(&buffer, bread); | 	faad_buffer_consume(&buffer, bread); | ||||||
|  |  | ||||||
| 	do { | 	do { | ||||||
| 		faad_buffer_fill(&buffer); |  | ||||||
| 		adts_find_frame(&buffer); | 		adts_find_frame(&buffer); | ||||||
| 		faad_buffer_fill(&buffer); | 		faad_buffer_fill(&buffer); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann