summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-06-24 20:36:58 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-06-24 20:36:58 +0000
commit3bec38e44255a013bf79a568949c7011360b1868 (patch)
tree1e724ca8f61c629e6c3cabc7e897d963c35249ca
parenta92fc620f0677950d0f5d3e05db914024a015150 (diff)
downloadrockbox-3bec38e44255a013bf79a568949c7011360b1868.tar.gz
rockbox-3bec38e44255a013bf79a568949c7011360b1868.zip
SWCODEC: Get rid of unneeded pcm_mute() calls. Leave the only ones that seem to be needed for WM codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13704 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/pcmbuf.c41
1 files changed, 9 insertions, 32 deletions
diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c
index 89f9e27798..7e6954c280 100644
--- a/apps/pcmbuf.c
+++ b/apps/pcmbuf.c
@@ -37,10 +37,8 @@
37#include "dsp.h" 37#include "dsp.h"
38#include "thread.h" 38#include "thread.h"
39 39
40/* Define PCMBUF_MUTING if the codec requires muting to prevent pops 40/* Define PCMBUF_MUTING if the codec requires muting to prevent pops */
41 * Currently assumes anything other than tlv320 and uda1380 require it 41#if !defined(HAVE_UDA1380) && !defined(HAVE_TLV320) && !defined(HAVE_AS3514)
42 */
43#if !defined(HAVE_UDA1380) && !defined(HAVE_TLV320)
44#define PCMBUF_MUTING 42#define PCMBUF_MUTING
45#endif 43#endif
46 44
@@ -363,15 +361,7 @@ bool pcmbuf_crossfade_init(bool manual_skip)
363 361
364void pcmbuf_play_stop(void) 362void pcmbuf_play_stop(void)
365{ 363{
366 /** Prevent a very tiny pop from happening by muting audio
367 * until dma has been initialized. */
368#ifdef PCMBUF_MUTING
369 pcm_mute(true);
370#endif
371 pcm_play_stop(); 364 pcm_play_stop();
372#ifdef PCMBUF_MUTING
373 pcm_mute(false);
374#endif
375 365
376 pcmbuf_unplayed_bytes = 0; 366 pcmbuf_unplayed_bytes = 0;
377 pcmbuf_mix_chunk = NULL; 367 pcmbuf_mix_chunk = NULL;
@@ -491,7 +481,8 @@ unsigned char * pcmbuf_get_meminfo(size_t *length)
491} 481}
492#endif 482#endif
493 483
494void pcmbuf_pause(bool pause) { 484void pcmbuf_pause(bool pause)
485{
495#ifdef PCMBUF_MUTING 486#ifdef PCMBUF_MUTING
496 if (pause) 487 if (pause)
497 pcm_mute(true); 488 pcm_mute(true);
@@ -507,26 +498,12 @@ void pcmbuf_pause(bool pause) {
507/* Force playback. */ 498/* Force playback. */
508void pcmbuf_play_start(void) 499void pcmbuf_play_start(void)
509{ 500{
510 if (!pcm_is_playing() && pcmbuf_unplayed_bytes) 501 if (!pcm_is_playing() && pcmbuf_unplayed_bytes && pcmbuf_read != NULL)
511 { 502 {
512#ifdef PCMBUF_MUTING 503 last_chunksize = pcmbuf_read->size;
513 /** Prevent a very tiny pop from happening by muting audio 504 pcmbuf_unplayed_bytes -= last_chunksize;
514 * until dma has been initialized. */ 505 pcm_play_data(pcmbuf_callback,
515 pcm_mute(true); 506 (unsigned char *)pcmbuf_read->addr, last_chunksize);
516#endif
517
518 if (pcmbuf_read != NULL)
519 {
520 last_chunksize = pcmbuf_read->size;
521 pcmbuf_unplayed_bytes -= last_chunksize;
522 pcm_play_data(pcmbuf_callback,
523 (unsigned char *)pcmbuf_read->addr, last_chunksize);
524 }
525
526#ifdef PCMBUF_MUTING
527 /* Now unmute the audio. */
528 pcm_mute(false);
529#endif
530 } 507 }
531} 508}
532 509