summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThibaut Mattern <tmattern@users.sourceforge.net>2002-06-19 23:45:50 +0000
committerThibaut Mattern <tmattern@users.sourceforge.net>2002-06-19 23:45:50 +0000
commit4a8716aa01b5a91f82b6b6af1f0576e7b307e471 (patch)
tree89e6eb13b9234f63bc26cdf5369e29e42eadb56d /src
parent10ae339e778a4d5b69ce2ea9b7510bbffc680d32 (diff)
downloadxine-lib-4a8716aa01b5a91f82b6b6af1f0576e7b307e471.tar.gz
xine-lib-4a8716aa01b5a91f82b6b6af1f0576e7b307e471.tar.bz2
Fix the resume problem introduced by flushing audio_out buffers.
CVS patchset: 2100 CVS date: 2002/06/19 23:45:50
Diffstat (limited to 'src')
-rw-r--r--src/xine-engine/audio_out.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/xine-engine/audio_out.c b/src/xine-engine/audio_out.c
index 34475c17f..4933eff72 100644
--- a/src/xine-engine/audio_out.c
+++ b/src/xine-engine/audio_out.c
@@ -17,7 +17,7 @@
* along with self program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: audio_out.c,v 1.57 2002/06/12 12:22:38 f1rmb Exp $
+ * $Id: audio_out.c,v 1.58 2002/06/19 23:45:50 tmattern Exp $
*
* 22-8-2001 James imported some useful AC3 sections from the previous alsa driver.
* (c) 2001 Andy Lo A Foe <andy@alsaplayer.org>
@@ -318,8 +318,10 @@ static void *ao_loop (void *this_gen) {
paused_wait = (this->audio_paused == 2) ||
(this->audio_paused && gap > this->gap_tolerance);
- if ( paused_wait )
+ if ( paused_wait ) {
+ this->metronom->allow_full_ao_fill_gap = 1;
xine_usec_sleep (50000);
+ }
} while ( paused_wait );
#ifdef LOG
@@ -359,7 +361,13 @@ static void *ao_loop (void *this_gen) {
/* for big gaps output silence */
if ( gap > AO_MAX_GAP ) {
- ao_fill_gap (this, gap/2);
+ printf ("audio_out: ao_fill_gap\n");
+ if (this->metronom->allow_full_ao_fill_gap) {
+ ao_fill_gap (this, gap);
+ this->metronom->allow_full_ao_fill_gap = 0;
+ } else {
+ ao_fill_gap (this, gap / 2);
+ }
}
/*