diff options
author | jkeil <jkeil@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-10-11 21:22:55 +0000 |
---|---|---|
committer | jkeil <jkeil@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-10-11 21:22:55 +0000 |
commit | a8b287feadce559a0a39f75df4af43303841420a (patch) | |
tree | f3fac041f858264586efc64a6ffce50f376b1fe1 /libao2/ao_sun.c | |
parent | 4da2217f710acf12cbb0a7cdea93331c6162e7d9 (diff) | |
download | mpv-a8b287feadce559a0a39f75df4af43303841420a.tar.bz2 mpv-a8b287feadce559a0a39f75df4af43303841420a.tar.xz |
- ao_data.bps not set, confuses the A-V sync computation when the audio filters
are in use.
- computation in get_delay() was returning bogus values
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7715 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2/ao_sun.c')
-rw-r--r-- | libao2/ao_sun.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/libao2/ao_sun.c b/libao2/ao_sun.c index a251485fd8..f82b3a9ac9 100644 --- a/libao2/ao_sun.c +++ b/libao2/ao_sun.c @@ -463,6 +463,20 @@ static int init(int rate,int channels,int format,int flags){ enable_sample_timing = realtime_samplecounter_available(audio_dev); } +#define AF_FILTER_TEST 0 +#if AF_FILTER_TEST + /* test code to force use of the audio filter modules */ + { + char *s; + if (s = getenv("AF_RATE")) + rate = atoi(s); + if (s = getenv("AF_CHANNELS")) + channels = atoi(s); + if (s = getenv("AF_BITS")) + format = atoi(s) == 16 ? AFMT_S16_NE : AFMT_U8; + } +#endif + // printf("ao2: %d Hz %d chans %s [0x%X]\n", // rate,channels,audio_out_format_name(format),format); @@ -548,7 +562,7 @@ static int init(int rate,int channels,int format,int flags){ } bytes_per_sample = channels * info.play.precision / 8; - byte_per_sec = bytes_per_sample * rate; + ao_data.bps = byte_per_sec = bytes_per_sample * rate; ao_data.outburst = byte_per_sec > 100000 ? 16384 : 8192; #ifdef __not_used__ @@ -746,7 +760,7 @@ static float get_delay(){ return (float) info.play.seek/ (float)byte_per_sec ; #else if (info.play.samples && enable_sample_timing == RTSC_ENABLED) - return (float)(queued_samples - info.play.samples) / (float)byte_per_sec; + return (float)(queued_samples - info.play.samples) / (float)ao_data.samplerate; else return (float)((queued_bursts - info.play.eof) * ao_data.outburst) / (float)byte_per_sec; #endif |