From f90cbcb652af3bf794ec61d7f7ec3de00c8b7cb2 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Fri, 1 Feb 2008 02:25:15 +0000 Subject: mpegplayer: Use the core DSP to process audio. Removes the sample rate restriction on audio and any mpeg audio samplerate may be used. Use the global sound settings for audio output with the option to force any one of the processing stages off. All are forced off by default. I didn't personally care to fully duplicate the Sound Settings menu which would have been needed since using the core one would affect settings globally and exactly the same configuration probably isn't desired since the CPU load for video playback is much greater. Rebalance the threading to compensate with some expense to buffering speed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16194 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/mpegplayer/mpegplayer.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'apps/plugins/mpegplayer/mpegplayer.h') diff --git a/apps/plugins/mpegplayer/mpegplayer.h b/apps/plugins/mpegplayer/mpegplayer.h index 11bc1ea669..b92af38e6c 100644 --- a/apps/plugins/mpegplayer/mpegplayer.h +++ b/apps/plugins/mpegplayer/mpegplayer.h @@ -53,18 +53,19 @@ enum mpeg_malloc_reason_t #define AUDIOBUF_ALLOC_SIZE (AUDIOBUF_SIZE+AUDIOBUF_GUARD_SIZE) /** PCM buffer **/ -#define CLOCK_RATE 44100 /* Our clock rate in ticks/second (samplerate) */ +#define CLOCK_RATE NATIVE_FREQUENCY /* Our clock rate in ticks/second (samplerate) */ /* Define this as "1" to have a test tone instead of silence clip */ #define SILENCE_TEST_TONE 0 -#define PCMOUT_BUFSIZE (CLOCK_RATE) /* 1s */ -#define PCMOUT_GUARD_SIZE (1152*4 + sizeof (struct pcm_frame_header)) -#define PCMOUT_ALLOC_SIZE (PCMOUT_BUFSIZE + PCMOUT_GUARD_SIZE) - /* Start pcm playback @ 25% full */ -#define PCMOUT_PLAY_WM (PCMOUT_BUFSIZE/4) - /* No valid audio frame is smaller */ -#define PCMOUT_LOW_WM (sizeof (struct pcm_frame_header)) +#define PCMOUT_BUFSIZE (CLOCK_RATE/2*4) /* 1/2s */ +#define PCMOUT_GUARD_SAMPLES ((CLOCK_RATE*576+7999)/8000) /* Worst upsampling case */ +#define PCMOUT_GUARD_SIZE (PCMOUT_GUARD_SAMPLES*4 + sizeof (struct pcm_frame_header)) +#define PCMOUT_ALLOC_SIZE (PCMOUT_BUFSIZE + PCMOUT_GUARD_SIZE) + /* Start pcm playback @ 25% full */ +#define PCMOUT_PLAY_WM (PCMOUT_BUFSIZE/4) + /* No valid audio frame is smaller */ +#define PCMOUT_LOW_WM (sizeof (struct pcm_frame_header)) /** disk buffer **/ #define DISK_BUF_LOW_WATERMARK (1024*1024) -- cgit v1.2.3