diff options
-rw-r--r-- | apps/playback.c | 94 |
1 files changed, 47 insertions, 47 deletions
diff --git a/apps/playback.c b/apps/playback.c index 2fae4d34ea..39076a2ba3 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -655,7 +655,7 @@ struct mp3entry* audio_current_track(void) | |||
655 | static struct mp3entry temp_id3; | 655 | static struct mp3entry temp_id3; |
656 | int cur_idx; | 656 | int cur_idx; |
657 | int offset = ci.new_track + wps_offset; | 657 | int offset = ci.new_track + wps_offset; |
658 | 658 | ||
659 | cur_idx = track_ridx + offset; | 659 | cur_idx = track_ridx + offset; |
660 | cur_idx &= MAX_TRACK_MASK; | 660 | cur_idx &= MAX_TRACK_MASK; |
661 | 661 | ||
@@ -667,7 +667,7 @@ struct mp3entry* audio_current_track(void) | |||
667 | return bufgetid3(tracks[cur_idx].id3_hid); | 667 | return bufgetid3(tracks[cur_idx].id3_hid); |
668 | 668 | ||
669 | memset(&temp_id3, 0, sizeof(struct mp3entry)); | 669 | memset(&temp_id3, 0, sizeof(struct mp3entry)); |
670 | 670 | ||
671 | filename = playlist_peek(0); | 671 | filename = playlist_peek(0); |
672 | if (!filename) | 672 | if (!filename) |
673 | filename = "No file!"; | 673 | filename = "No file!"; |
@@ -710,7 +710,7 @@ struct mp3entry* audio_next_track(void) | |||
710 | 710 | ||
711 | bool audio_has_changed_track(void) | 711 | bool audio_has_changed_track(void) |
712 | { | 712 | { |
713 | if (track_changed) | 713 | if (track_changed) |
714 | { | 714 | { |
715 | track_changed = false; | 715 | track_changed = false; |
716 | return true; | 716 | return true; |
@@ -1018,7 +1018,7 @@ static void voice_stop(void) | |||
1018 | ci_voice.new_track) | 1018 | ci_voice.new_track) |
1019 | yield(); | 1019 | yield(); |
1020 | 1020 | ||
1021 | if (!playing) | 1021 | if (!playing) |
1022 | pcmbuf_play_stop(); | 1022 | pcmbuf_play_stop(); |
1023 | } /* voice_stop */ | 1023 | } /* voice_stop */ |
1024 | 1024 | ||
@@ -1199,7 +1199,7 @@ static bool voice_on_voice_stop(bool aborting, size_t *realsize) | |||
1199 | sleep(0); | 1199 | sleep(0); |
1200 | 1200 | ||
1201 | /* Force the codec to think it's changing tracks */ | 1201 | /* Force the codec to think it's changing tracks */ |
1202 | ci_voice.new_track = 1; | 1202 | ci_voice.new_track = 1; |
1203 | 1203 | ||
1204 | *realsize = 0; | 1204 | *realsize = 0; |
1205 | return true; /* Yes, change tracks */ | 1205 | return true; /* Yes, change tracks */ |
@@ -1311,7 +1311,7 @@ voice_play_clip: | |||
1311 | pcmbuf_play_start(); | 1311 | pcmbuf_play_start(); |
1312 | } | 1312 | } |
1313 | } | 1313 | } |
1314 | 1314 | ||
1315 | *realsize = MIN(voice_remaining, reqsize); | 1315 | *realsize = MIN(voice_remaining, reqsize); |
1316 | 1316 | ||
1317 | if (*realsize == 0) | 1317 | if (*realsize == 0) |
@@ -1330,14 +1330,14 @@ static void voice_advance_buffer_callback(size_t amount) | |||
1330 | static void voice_advance_buffer_loc_callback(void *ptr) | 1330 | static void voice_advance_buffer_loc_callback(void *ptr) |
1331 | { | 1331 | { |
1332 | size_t amount = (size_t)ptr - (size_t)voicebuf; | 1332 | size_t amount = (size_t)ptr - (size_t)voicebuf; |
1333 | 1333 | ||
1334 | voice_advance_buffer_callback(amount); | 1334 | voice_advance_buffer_callback(amount); |
1335 | } | 1335 | } |
1336 | 1336 | ||
1337 | static off_t voice_mp3_get_filepos_callback(int newtime) | 1337 | static off_t voice_mp3_get_filepos_callback(int newtime) |
1338 | { | 1338 | { |
1339 | (void)newtime; | 1339 | (void)newtime; |
1340 | 1340 | ||
1341 | return 0; | 1341 | return 0; |
1342 | } | 1342 | } |
1343 | 1343 | ||
@@ -1349,7 +1349,7 @@ static void voice_do_nothing(void) | |||
1349 | static bool voice_seek_buffer_callback(size_t newpos) | 1349 | static bool voice_seek_buffer_callback(size_t newpos) |
1350 | { | 1350 | { |
1351 | (void)newpos; | 1351 | (void)newpos; |
1352 | 1352 | ||
1353 | return false; | 1353 | return false; |
1354 | } | 1354 | } |
1355 | 1355 | ||
@@ -1398,7 +1398,7 @@ static bool codec_pcmbuf_insert_callback( | |||
1398 | if (ci.new_track || ci.stop_codec) | 1398 | if (ci.new_track || ci.stop_codec) |
1399 | return true; | 1399 | return true; |
1400 | 1400 | ||
1401 | while ((dest = pcmbuf_request_buffer(&out_count)) == NULL) | 1401 | while ((dest = pcmbuf_request_buffer(&out_count)) == NULL) |
1402 | { | 1402 | { |
1403 | sleep(1); | 1403 | sleep(1); |
1404 | if (ci.seek_time || ci.new_track || ci.stop_codec) | 1404 | if (ci.seek_time || ci.new_track || ci.stop_codec) |
@@ -1424,7 +1424,7 @@ static bool codec_pcmbuf_insert_callback( | |||
1424 | pcmbuf_write_complete(out_count); | 1424 | pcmbuf_write_complete(out_count); |
1425 | 1425 | ||
1426 | #ifdef PLAYBACK_VOICE | 1426 | #ifdef PLAYBACK_VOICE |
1427 | if ((voice_is_playing || voice_thread_start) | 1427 | if ((voice_is_playing || voice_thread_start) |
1428 | && pcm_is_playing() && voice_codec_loaded && | 1428 | && pcm_is_playing() && voice_codec_loaded && |
1429 | pcmbuf_usage() > 30 && pcmbuf_mix_free() > 80) | 1429 | pcmbuf_usage() > 30 && pcmbuf_mix_free() > 80) |
1430 | { | 1430 | { |
@@ -1446,13 +1446,13 @@ static void* codec_get_memory_callback(size_t *size) | |||
1446 | } | 1446 | } |
1447 | 1447 | ||
1448 | static void codec_pcmbuf_position_callback(size_t size) ICODE_ATTR; | 1448 | static void codec_pcmbuf_position_callback(size_t size) ICODE_ATTR; |
1449 | static void codec_pcmbuf_position_callback(size_t size) | 1449 | static void codec_pcmbuf_position_callback(size_t size) |
1450 | { | 1450 | { |
1451 | /* This is called from an ISR, so be quick */ | 1451 | /* This is called from an ISR, so be quick */ |
1452 | unsigned int time = size * 1000 / 4 / NATIVE_FREQUENCY + | 1452 | unsigned int time = size * 1000 / 4 / NATIVE_FREQUENCY + |
1453 | prevtrack_id3.elapsed; | 1453 | prevtrack_id3.elapsed; |
1454 | 1454 | ||
1455 | if (time >= prevtrack_id3.length) | 1455 | if (time >= prevtrack_id3.length) |
1456 | { | 1456 | { |
1457 | pcmbuf_set_position_callback(NULL); | 1457 | pcmbuf_set_position_callback(NULL); |
1458 | prevtrack_id3.elapsed = prevtrack_id3.length; | 1458 | prevtrack_id3.elapsed = prevtrack_id3.length; |
@@ -1484,7 +1484,7 @@ static void codec_set_elapsed_callback(unsigned int value) | |||
1484 | static void codec_set_offset_callback(size_t value) | 1484 | static void codec_set_offset_callback(size_t value) |
1485 | { | 1485 | { |
1486 | unsigned int latency; | 1486 | unsigned int latency; |
1487 | 1487 | ||
1488 | if (ci.seek_time) | 1488 | if (ci.seek_time) |
1489 | return; | 1489 | return; |
1490 | 1490 | ||
@@ -1495,7 +1495,7 @@ static void codec_set_offset_callback(size_t value) | |||
1495 | curtrack_id3.offset = value - latency; | 1495 | curtrack_id3.offset = value - latency; |
1496 | } | 1496 | } |
1497 | 1497 | ||
1498 | static void codec_advance_buffer_counters(size_t amount) | 1498 | static void codec_advance_buffer_counters(size_t amount) |
1499 | { | 1499 | { |
1500 | bufadvance(CUR_TI->audio_hid, amount); | 1500 | bufadvance(CUR_TI->audio_hid, amount); |
1501 | ci.curpos += amount; | 1501 | ci.curpos += amount; |
@@ -1545,7 +1545,7 @@ static void* codec_request_buffer_callback(size_t *realsize, size_t reqsize) | |||
1545 | ssize_t ret; | 1545 | ssize_t ret; |
1546 | void *ptr; | 1546 | void *ptr; |
1547 | 1547 | ||
1548 | if (!playing) | 1548 | if (!playing) |
1549 | { | 1549 | { |
1550 | *realsize = 0; | 1550 | *realsize = 0; |
1551 | return NULL; | 1551 | return NULL; |
@@ -1571,7 +1571,7 @@ static void* codec_request_buffer_callback(size_t *realsize, size_t reqsize) | |||
1571 | { | 1571 | { |
1572 | sleep(1); | 1572 | sleep(1); |
1573 | 1573 | ||
1574 | if (ci.stop_codec || ci.new_track) | 1574 | if (ci.stop_codec || ci.new_track) |
1575 | { | 1575 | { |
1576 | *realsize = 0; | 1576 | *realsize = 0; |
1577 | return NULL; | 1577 | return NULL; |
@@ -1677,7 +1677,7 @@ static off_t codec_mp3_get_filepos_callback(int newtime) | |||
1677 | static void codec_seek_complete_callback(void) | 1677 | static void codec_seek_complete_callback(void) |
1678 | { | 1678 | { |
1679 | logf("seek_complete"); | 1679 | logf("seek_complete"); |
1680 | if (pcm_is_paused()) | 1680 | if (pcm_is_paused()) |
1681 | { | 1681 | { |
1682 | /* If this is not a seamless seek, clear the buffer */ | 1682 | /* If this is not a seamless seek, clear the buffer */ |
1683 | pcmbuf_play_stop(); | 1683 | pcmbuf_play_stop(); |
@@ -1746,14 +1746,16 @@ static void codec_discard_codec_callback(void) | |||
1746 | } | 1746 | } |
1747 | } | 1747 | } |
1748 | 1748 | ||
1749 | static inline void codec_gapless_track_change(void) { | 1749 | static inline void codec_gapless_track_change(void) |
1750 | { | ||
1750 | /* callback keeps the progress bar moving while the pcmbuf empties */ | 1751 | /* callback keeps the progress bar moving while the pcmbuf empties */ |
1751 | pcmbuf_set_position_callback(codec_pcmbuf_position_callback); | 1752 | pcmbuf_set_position_callback(codec_pcmbuf_position_callback); |
1752 | /* set the pcmbuf callback for when the track really changes */ | 1753 | /* set the pcmbuf callback for when the track really changes */ |
1753 | pcmbuf_set_event_handler(codec_pcmbuf_track_changed_callback); | 1754 | pcmbuf_set_event_handler(codec_pcmbuf_track_changed_callback); |
1754 | } | 1755 | } |
1755 | 1756 | ||
1756 | static inline void codec_crossfade_track_change(void) { | 1757 | static inline void codec_crossfade_track_change(void) |
1758 | { | ||
1757 | /* Initiate automatic crossfade mode */ | 1759 | /* Initiate automatic crossfade mode */ |
1758 | pcmbuf_crossfade_init(false); | 1760 | pcmbuf_crossfade_init(false); |
1759 | /* Notify the wps that the track change starts now */ | 1761 | /* Notify the wps that the track change starts now */ |
@@ -1762,8 +1764,6 @@ static inline void codec_crossfade_track_change(void) { | |||
1762 | 1764 | ||
1763 | static void codec_track_skip_done(bool was_manual) | 1765 | static void codec_track_skip_done(bool was_manual) |
1764 | { | 1766 | { |
1765 | int crossfade_mode = global_settings.crossfade; | ||
1766 | |||
1767 | /* Manual track change (always crossfade or flush audio). */ | 1767 | /* Manual track change (always crossfade or flush audio). */ |
1768 | if (was_manual) | 1768 | if (was_manual) |
1769 | { | 1769 | { |
@@ -1773,9 +1773,9 @@ static void codec_track_skip_done(bool was_manual) | |||
1773 | } | 1773 | } |
1774 | /* Automatic track change w/crossfade, if not in "Track Skip Only" mode. */ | 1774 | /* Automatic track change w/crossfade, if not in "Track Skip Only" mode. */ |
1775 | else if (pcmbuf_is_crossfade_enabled() && !pcmbuf_is_crossfade_active() | 1775 | else if (pcmbuf_is_crossfade_enabled() && !pcmbuf_is_crossfade_active() |
1776 | && crossfade_mode != CROSSFADE_ENABLE_TRACKSKIP) | 1776 | && global_settings.crossfade != CROSSFADE_ENABLE_TRACKSKIP) |
1777 | { | 1777 | { |
1778 | if (crossfade_mode == CROSSFADE_ENABLE_SHUFFLE_AND_TRACKSKIP) | 1778 | if (global_settings.crossfade == CROSSFADE_ENABLE_SHUFFLE_AND_TRACKSKIP) |
1779 | { | 1779 | { |
1780 | if (global_settings.playlist_shuffle) | 1780 | if (global_settings.playlist_shuffle) |
1781 | /* shuffle mode is on, so crossfade: */ | 1781 | /* shuffle mode is on, so crossfade: */ |
@@ -1793,7 +1793,7 @@ static void codec_track_skip_done(bool was_manual) | |||
1793 | codec_gapless_track_change(); | 1793 | codec_gapless_track_change(); |
1794 | } | 1794 | } |
1795 | 1795 | ||
1796 | static bool codec_load_next_track(void) | 1796 | static bool codec_load_next_track(void) |
1797 | { | 1797 | { |
1798 | intptr_t result = Q_CODEC_REQUEST_FAILED; | 1798 | intptr_t result = Q_CODEC_REQUEST_FAILED; |
1799 | 1799 | ||
@@ -1986,11 +1986,11 @@ static void codec_thread(void) | |||
1986 | case Q_CODEC_LOAD_DISK: | 1986 | case Q_CODEC_LOAD_DISK: |
1987 | case Q_CODEC_LOAD: | 1987 | case Q_CODEC_LOAD: |
1988 | LOGFQUEUE("codec < Q_CODEC_LOAD"); | 1988 | LOGFQUEUE("codec < Q_CODEC_LOAD"); |
1989 | if (playing) | 1989 | if (playing) |
1990 | { | 1990 | { |
1991 | if (ci.new_track || status != CODEC_OK) | 1991 | if (ci.new_track || status != CODEC_OK) |
1992 | { | 1992 | { |
1993 | if (!ci.new_track) | 1993 | if (!ci.new_track) |
1994 | { | 1994 | { |
1995 | logf("Codec failure"); | 1995 | logf("Codec failure"); |
1996 | gui_syncsplash(HZ*2, "Codec failure"); | 1996 | gui_syncsplash(HZ*2, "Codec failure"); |
@@ -2003,8 +2003,8 @@ static void codec_thread(void) | |||
2003 | queue_post(&audio_queue, Q_AUDIO_STOP, 0); | 2003 | queue_post(&audio_queue, Q_AUDIO_STOP, 0); |
2004 | break; | 2004 | break; |
2005 | } | 2005 | } |
2006 | } | 2006 | } |
2007 | else | 2007 | else |
2008 | { | 2008 | { |
2009 | logf("Codec finished"); | 2009 | logf("Codec finished"); |
2010 | if (ci.stop_codec) | 2010 | if (ci.stop_codec) |
@@ -2029,7 +2029,7 @@ static void codec_thread(void) | |||
2029 | LOGFQUEUE("codec > codec Q_CODEC_LOAD"); | 2029 | LOGFQUEUE("codec > codec Q_CODEC_LOAD"); |
2030 | queue_post(&codec_queue, Q_CODEC_LOAD, 0); | 2030 | queue_post(&codec_queue, Q_CODEC_LOAD, 0); |
2031 | } | 2031 | } |
2032 | else | 2032 | else if (curtrack_id3.codectype != 0) /* Sucky workaround */ |
2033 | { | 2033 | { |
2034 | const char *codec_fn = | 2034 | const char *codec_fn = |
2035 | get_codec_filename(curtrack_id3.codectype); | 2035 | get_codec_filename(curtrack_id3.codectype); |
@@ -2079,22 +2079,22 @@ static bool audio_have_free_tracks(void) | |||
2079 | return track_widx + 1 < track_ridx; | 2079 | return track_widx + 1 < track_ridx; |
2080 | else if (track_ridx == 0) | 2080 | else if (track_ridx == 0) |
2081 | return track_widx < MAX_TRACK - 1; | 2081 | return track_widx < MAX_TRACK - 1; |
2082 | 2082 | ||
2083 | return true; | 2083 | return true; |
2084 | } | 2084 | } |
2085 | 2085 | ||
2086 | int audio_track_count(void) | 2086 | int audio_track_count(void) |
2087 | { | 2087 | { |
2088 | if (audio_have_tracks()) | 2088 | if (audio_have_tracks()) |
2089 | { | 2089 | { |
2090 | int relative_track_widx = track_widx; | 2090 | int relative_track_widx = track_widx; |
2091 | 2091 | ||
2092 | if (track_ridx > track_widx) | 2092 | if (track_ridx > track_widx) |
2093 | relative_track_widx += MAX_TRACK; | 2093 | relative_track_widx += MAX_TRACK; |
2094 | 2094 | ||
2095 | return relative_track_widx - track_ridx + 1; | 2095 | return relative_track_widx - track_ridx + 1; |
2096 | } | 2096 | } |
2097 | 2097 | ||
2098 | return 0; | 2098 | return 0; |
2099 | } | 2099 | } |
2100 | 2100 | ||
@@ -2220,7 +2220,7 @@ static bool audio_loadcodec(bool start_play) | |||
2220 | else | 2220 | else |
2221 | { | 2221 | { |
2222 | /* If we already have another track than this one buffered */ | 2222 | /* If we already have another track than this one buffered */ |
2223 | if (track_widx != track_ridx) | 2223 | if (track_widx != track_ridx) |
2224 | { | 2224 | { |
2225 | prev_track = (track_widx - 1) & MAX_TRACK_MASK; | 2225 | prev_track = (track_widx - 1) & MAX_TRACK_MASK; |
2226 | 2226 | ||
@@ -2266,7 +2266,7 @@ static bool audio_loadcodec(bool start_play) | |||
2266 | /* TODO: Copied from mpeg.c. Should be moved somewhere else. */ | 2266 | /* TODO: Copied from mpeg.c. Should be moved somewhere else. */ |
2267 | static void audio_set_elapsed(struct mp3entry* id3) | 2267 | static void audio_set_elapsed(struct mp3entry* id3) |
2268 | { | 2268 | { |
2269 | unsigned long offset = id3->offset > id3->first_frame_offset ? | 2269 | unsigned long offset = id3->offset > id3->first_frame_offset ? |
2270 | id3->offset - id3->first_frame_offset : 0; | 2270 | id3->offset - id3->first_frame_offset : 0; |
2271 | 2271 | ||
2272 | if ( id3->vbr ) { | 2272 | if ( id3->vbr ) { |
@@ -2305,7 +2305,7 @@ static void audio_set_elapsed(struct mp3entry* id3) | |||
2305 | } | 2305 | } |
2306 | else { | 2306 | else { |
2307 | /* no TOC exists. set a rough estimate using average bitrate */ | 2307 | /* no TOC exists. set a rough estimate using average bitrate */ |
2308 | int tpk = id3->length / | 2308 | int tpk = id3->length / |
2309 | ((id3->filesize - id3->first_frame_offset - id3->id3v1len) / | 2309 | ((id3->filesize - id3->first_frame_offset - id3->id3v1len) / |
2310 | 1024); | 2310 | 1024); |
2311 | id3->elapsed = offset / 1024 * tpk; | 2311 | id3->elapsed = offset / 1024 * tpk; |
@@ -2530,12 +2530,12 @@ static void audio_generate_postbuffer_events(void) | |||
2530 | 2530 | ||
2531 | logf("Postbuffer:%d/%d",track_ridx,track_widx); | 2531 | logf("Postbuffer:%d/%d",track_ridx,track_widx); |
2532 | 2532 | ||
2533 | if (audio_have_tracks()) | 2533 | if (audio_have_tracks()) |
2534 | { | 2534 | { |
2535 | cur_idx = track_ridx; | 2535 | cur_idx = track_ridx; |
2536 | 2536 | ||
2537 | while (1) { | 2537 | while (1) { |
2538 | if (!tracks[cur_idx].event_sent) | 2538 | if (!tracks[cur_idx].event_sent) |
2539 | { | 2539 | { |
2540 | if (last_idx >= 0 && !tracks[last_idx].event_sent) | 2540 | if (last_idx >= 0 && !tracks[last_idx].event_sent) |
2541 | { | 2541 | { |
@@ -2828,7 +2828,7 @@ static void audio_stop_playback(void) | |||
2828 | * Done here, as audio_stop_playback() may be called more than once. | 2828 | * Done here, as audio_stop_playback() may be called more than once. |
2829 | * Don't update runtime unless playback is stopped because of end of playlist. | 2829 | * Don't update runtime unless playback is stopped because of end of playlist. |
2830 | * Updating runtime when manually stopping a tracks, can destroy autoscores | 2830 | * Updating runtime when manually stopping a tracks, can destroy autoscores |
2831 | * and playcounts. | 2831 | * and playcounts. |
2832 | */ | 2832 | */ |
2833 | if (playlist_end) | 2833 | if (playlist_end) |
2834 | { | 2834 | { |
@@ -2911,7 +2911,7 @@ static void audio_new_playlist(void) | |||
2911 | { | 2911 | { |
2912 | /* Prepare to start a new fill from the beginning of the playlist */ | 2912 | /* Prepare to start a new fill from the beginning of the playlist */ |
2913 | last_peek_offset = -1; | 2913 | last_peek_offset = -1; |
2914 | if (audio_have_tracks()) | 2914 | if (audio_have_tracks()) |
2915 | { | 2915 | { |
2916 | if (paused) | 2916 | if (paused) |
2917 | skipped_during_pause = true; | 2917 | skipped_during_pause = true; |
@@ -3267,7 +3267,7 @@ void audio_init(void) | |||
3267 | #ifdef ROCKBOX_HAS_LOGF | 3267 | #ifdef ROCKBOX_HAS_LOGF |
3268 | audio_set_track_changed_event(audio_test_track_changed_event); | 3268 | audio_set_track_changed_event(audio_test_track_changed_event); |
3269 | #endif | 3269 | #endif |
3270 | 3270 | ||
3271 | /* Initialize codec api. */ | 3271 | /* Initialize codec api. */ |
3272 | ci.read_filebuf = codec_filebuf_callback; | 3272 | ci.read_filebuf = codec_filebuf_callback; |
3273 | ci.pcmbuf_insert = codec_pcmbuf_insert_callback; | 3273 | ci.pcmbuf_insert = codec_pcmbuf_insert_callback; |
@@ -3283,7 +3283,7 @@ void audio_init(void) | |||
3283 | ci.set_offset = codec_set_offset_callback; | 3283 | ci.set_offset = codec_set_offset_callback; |
3284 | ci.configure = codec_configure_callback; | 3284 | ci.configure = codec_configure_callback; |
3285 | ci.discard_codec = codec_discard_codec_callback; | 3285 | ci.discard_codec = codec_discard_codec_callback; |
3286 | 3286 | ||
3287 | /* Initialize voice codec api. */ | 3287 | /* Initialize voice codec api. */ |
3288 | #ifdef PLAYBACK_VOICE | 3288 | #ifdef PLAYBACK_VOICE |
3289 | memcpy(&ci_voice, &ci, sizeof(ci_voice)); | 3289 | memcpy(&ci_voice, &ci, sizeof(ci_voice)); |
@@ -3307,7 +3307,7 @@ void audio_init(void) | |||
3307 | id3_voice.frequency = 11200; | 3307 | id3_voice.frequency = 11200; |
3308 | id3_voice.length = 1000000L; | 3308 | id3_voice.length = 1000000L; |
3309 | #endif | 3309 | #endif |
3310 | 3310 | ||
3311 | /* initialize the buffer */ | 3311 | /* initialize the buffer */ |
3312 | filebuf = audiobuf; | 3312 | filebuf = audiobuf; |
3313 | 3313 | ||
@@ -3355,7 +3355,7 @@ void audio_init(void) | |||
3355 | #ifdef HAVE_WM8758 | 3355 | #ifdef HAVE_WM8758 |
3356 | eq_hw_enable(global_settings.eq_hw_enabled); | 3356 | eq_hw_enable(global_settings.eq_hw_enabled); |
3357 | #endif | 3357 | #endif |
3358 | #ifndef HAVE_FLASH_STORAGE | 3358 | #ifndef HAVE_FLASH_STORAGE |
3359 | audio_set_buffer_margin(global_settings.buffer_margin); | 3359 | audio_set_buffer_margin(global_settings.buffer_margin); |
3360 | #endif | 3360 | #endif |
3361 | 3361 | ||