summaryrefslogtreecommitdiff
path: root/firmware/mpeg.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/mpeg.c')
-rw-r--r--firmware/mpeg.c58
1 files changed, 29 insertions, 29 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index 721a4acbcc..394d6983b6 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -20,7 +20,7 @@
20#include <stdlib.h> 20#include <stdlib.h>
21#include "config.h" 21#include "config.h"
22 22
23#if CONFIG_HWCODEC != MASNONE 23#if CONFIG_CODEC != SWCODEC
24 24
25#include "debug.h" 25#include "debug.h"
26#include "panic.h" 26#include "panic.h"
@@ -51,13 +51,13 @@
51extern unsigned long mas_version_code; 51extern unsigned long mas_version_code;
52#endif 52#endif
53 53
54#if CONFIG_HWCODEC == MAS3587F 54#if CONFIG_CODEC == MAS3587F
55extern enum /* from mp3_playback.c */ 55extern enum /* from mp3_playback.c */
56{ 56{
57 MPEG_DECODER, 57 MPEG_DECODER,
58 MPEG_ENCODER 58 MPEG_ENCODER
59} mpeg_mode; 59} mpeg_mode;
60#endif /* CONFIG_HWCODEC == MAS3587F */ 60#endif /* CONFIG_CODEC == MAS3587F */
61 61
62extern char* playlist_peek(int steps); 62extern char* playlist_peek(int steps);
63extern bool playlist_check(int steps); 63extern bool playlist_check(int steps);
@@ -151,7 +151,7 @@ static long low_watermark; /* Dynamic low watermark level */
151static long low_watermark_margin; /* Extra time in seconds for watermark */ 151static long low_watermark_margin; /* Extra time in seconds for watermark */
152static long lowest_watermark_level; /* Debug value to observe the buffer 152static long lowest_watermark_level; /* Debug value to observe the buffer
153 usage */ 153 usage */
154#if CONFIG_HWCODEC == MAS3587F 154#if CONFIG_CODEC == MAS3587F
155static char recording_filename[MAX_PATH]; /* argument to thread */ 155static char recording_filename[MAX_PATH]; /* argument to thread */
156static char delayed_filename[MAX_PATH]; /* internal copy of above */ 156static char delayed_filename[MAX_PATH]; /* internal copy of above */
157 157
@@ -189,13 +189,13 @@ static unsigned long num_recorded_frames;
189 189
190/* Shadow MAS registers */ 190/* Shadow MAS registers */
191unsigned long shadow_encoder_control = 0; 191unsigned long shadow_encoder_control = 0;
192#endif /* CONFIG_HWCODEC == MAS3587F */ 192#endif /* CONFIG_CODEC == MAS3587F */
193 193
194#if (CONFIG_HWCODEC == MAS3587F) || (CONFIG_HWCODEC == MAS3539F) 194#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
195unsigned long shadow_io_control_main = 0; 195unsigned long shadow_io_control_main = 0;
196unsigned long shadow_soft_mute = 0; 196unsigned long shadow_soft_mute = 0;
197unsigned shadow_codec_reg0; 197unsigned shadow_codec_reg0;
198#endif /* (CONFIG_HWCODEC == MAS3587F) || (CONFIG_HWCODEC == MAS3539F) */ 198#endif /* (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) */
199 199
200#ifdef HAVE_RECORDING 200#ifdef HAVE_RECORDING
201const unsigned char empty_id3_header[] = 201const unsigned char empty_id3_header[] =
@@ -211,7 +211,7 @@ static int get_playable_space(void);
211static int get_unswapped_space(void); 211static int get_unswapped_space(void);
212#endif /* !SIMULATOR */ 212#endif /* !SIMULATOR */
213 213
214#if CONFIG_HWCODEC == MAS3587F 214#if CONFIG_CODEC == MAS3587F
215static void init_recording(void); 215static void init_recording(void);
216static void start_prerecording(void); 216static void start_prerecording(void);
217static void start_recording(void); 217static void start_recording(void);
@@ -219,7 +219,7 @@ static void stop_recording(void);
219static int get_unsaved_space(void); 219static int get_unsaved_space(void);
220static void pause_recording(void); 220static void pause_recording(void);
221static void resume_recording(void); 221static void resume_recording(void);
222#endif /* CONFIG_HWCODEC == MAS3587F */ 222#endif /* CONFIG_CODEC == MAS3587F */
223 223
224 224
225#ifndef SIMULATOR 225#ifndef SIMULATOR
@@ -661,7 +661,7 @@ static int get_unswapped_space(void)
661 return space; 661 return space;
662} 662}
663 663
664#if CONFIG_HWCODEC == MAS3587F 664#if CONFIG_CODEC == MAS3587F
665static int get_unsaved_space(void) 665static int get_unsaved_space(void)
666{ 666{
667 int space = audiobuf_write - audiobuf_read; 667 int space = audiobuf_write - audiobuf_read;
@@ -772,7 +772,7 @@ void rec_tick(void)
772 } 772 }
773 } 773 }
774} 774}
775#endif /* CONFIG_HWCODEC == MAS3587F */ 775#endif /* CONFIG_CODEC == MAS3587F */
776 776
777void playback_tick(void) 777void playback_tick(void)
778{ 778{
@@ -1029,10 +1029,10 @@ static void track_change(void)
1029{ 1029{
1030 DEBUGF("Track change\n"); 1030 DEBUGF("Track change\n");
1031 1031
1032#if (CONFIG_HWCODEC == MAS3587F) || (CONFIG_HWCODEC == MAS3539F) 1032#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
1033 /* Reset the AVC */ 1033 /* Reset the AVC */
1034 sound_set(SOUND_AVC, -1); 1034 sound_set(SOUND_AVC, -1);
1035#endif /* (CONFIG_HWCODEC == MAS3587F) || (CONFIG_HWCODEC == MAS3539F) */ 1035#endif /* (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) */
1036 1036
1037 if (num_tracks_in_memory() > 0) 1037 if (num_tracks_in_memory() > 0)
1038 { 1038 {
@@ -1157,14 +1157,14 @@ static void mpeg_thread(void)
1157 int amount_to_read; 1157 int amount_to_read;
1158 int t1, t2; 1158 int t1, t2;
1159 int start_offset; 1159 int start_offset;
1160#if CONFIG_HWCODEC == MAS3587F 1160#if CONFIG_CODEC == MAS3587F
1161 int amount_to_save; 1161 int amount_to_save;
1162 int framelen; 1162 int framelen;
1163 unsigned long saved_header = 0; 1163 unsigned long saved_header = 0;
1164 int save_endpos = 0; 1164 int save_endpos = 0;
1165 int rc; 1165 int rc;
1166 long offset; 1166 long offset;
1167#endif /* CONFIG_HWCODEC == MAS3587F */ 1167#endif /* CONFIG_CODEC == MAS3587F */
1168 1168
1169 is_playing = false; 1169 is_playing = false;
1170 play_pending = false; 1170 play_pending = false;
@@ -1173,10 +1173,10 @@ static void mpeg_thread(void)
1173 1173
1174 while(1) 1174 while(1)
1175 { 1175 {
1176#if CONFIG_HWCODEC == MAS3587F 1176#if CONFIG_CODEC == MAS3587F
1177 if(mpeg_mode == MPEG_DECODER) 1177 if(mpeg_mode == MPEG_DECODER)
1178 { 1178 {
1179#endif /* CONFIG_HWCODEC == MAS3587F */ 1179#endif /* CONFIG_CODEC == MAS3587F */
1180 yield(); 1180 yield();
1181 1181
1182 /* Swap if necessary, and don't block on the queue_wait() */ 1182 /* Swap if necessary, and don't block on the queue_wait() */
@@ -1724,19 +1724,19 @@ static void mpeg_thread(void)
1724 break; 1724 break;
1725#endif /* !USB_NONE */ 1725#endif /* !USB_NONE */
1726 1726
1727#if CONFIG_HWCODEC == MAS3587F 1727#if CONFIG_CODEC == MAS3587F
1728 case MPEG_INIT_RECORDING: 1728 case MPEG_INIT_RECORDING:
1729 init_recording(); 1729 init_recording();
1730 init_recording_done = true; 1730 init_recording_done = true;
1731 break; 1731 break;
1732#endif /* CONFIG_HWCODEC == MAS3587F */ 1732#endif /* CONFIG_CODEC == MAS3587F */
1733 1733
1734 case SYS_TIMEOUT: 1734 case SYS_TIMEOUT:
1735 if (playing) 1735 if (playing)
1736 playlist_update_resume_info(audio_current_track()); 1736 playlist_update_resume_info(audio_current_track());
1737 break; 1737 break;
1738 } 1738 }
1739#if CONFIG_HWCODEC == MAS3587F 1739#if CONFIG_CODEC == MAS3587F
1740 } 1740 }
1741 else 1741 else
1742 { 1742 {
@@ -2069,7 +2069,7 @@ static void mpeg_thread(void)
2069 break; 2069 break;
2070 } 2070 }
2071 } 2071 }
2072#endif /* CONFIG_HWCODEC == MAS3587F */ 2072#endif /* CONFIG_CODEC == MAS3587F */
2073 } 2073 }
2074} 2074}
2075#endif /* !SIMULATOR */ 2075#endif /* !SIMULATOR */
@@ -2113,7 +2113,7 @@ bool audio_has_changed_track(void)
2113 return false; 2113 return false;
2114} 2114}
2115 2115
2116#if CONFIG_HWCODEC == MAS3587F 2116#if CONFIG_CODEC == MAS3587F
2117void audio_init_playback(void) 2117void audio_init_playback(void)
2118{ 2118{
2119 init_playback_done = false; 2119 init_playback_done = false;
@@ -2216,7 +2216,7 @@ static void init_recording(void)
2216 buffer, because the silly MAS will not negate EOD until at least one 2216 buffer, because the silly MAS will not negate EOD until at least one
2217 DMA transfer has taken place. 2217 DMA transfer has taken place.
2218 Now let's wait for some data to be encoded. */ 2218 Now let's wait for some data to be encoded. */
2219 sleep(20); 2219 sleep(HZ/5);
2220 2220
2221 /* Now set it to Monitoring mode as default, saves power */ 2221 /* Now set it to Monitoring mode as default, saves power */
2222 shadow_io_control_main = 0x525; 2222 shadow_io_control_main = 0x525;
@@ -2630,7 +2630,7 @@ void mpeg_set_recording_options(int frequency, int quality,
2630 (void)editable; 2630 (void)editable;
2631 (void)prerecord_time; 2631 (void)prerecord_time;
2632} 2632}
2633#endif /* CONFIG_HWCODEC == MAS3587F; SIMULATOR */ 2633#endif /* CONFIG_CODEC == MAS3587F; SIMULATOR */
2634 2634
2635void audio_play(int offset) 2635void audio_play(int offset)
2636{ 2636{
@@ -2786,13 +2786,13 @@ int audio_status(void)
2786 if(paused) 2786 if(paused)
2787 ret |= AUDIO_STATUS_PAUSE; 2787 ret |= AUDIO_STATUS_PAUSE;
2788 2788
2789#if CONFIG_HWCODEC == MAS3587F 2789#if CONFIG_CODEC == MAS3587F
2790 if(is_recording && !is_prerecording) 2790 if(is_recording && !is_prerecording)
2791 ret |= AUDIO_STATUS_RECORD; 2791 ret |= AUDIO_STATUS_RECORD;
2792 2792
2793 if(is_prerecording) 2793 if(is_prerecording)
2794 ret |= AUDIO_STATUS_PRERECORD; 2794 ret |= AUDIO_STATUS_PRERECORD;
2795#endif /* CONFIG_HWCODEC == MAS3587F */ 2795#endif /* CONFIG_CODEC == MAS3587F */
2796 2796
2797 if(mpeg_errno) 2797 if(mpeg_errno)
2798 ret |= AUDIO_STATUS_ERROR; 2798 ret |= AUDIO_STATUS_ERROR;
@@ -2846,12 +2846,12 @@ void audio_init(void)
2846 2846
2847 memset(trackdata, sizeof(trackdata), 0); 2847 memset(trackdata, sizeof(trackdata), 0);
2848 2848
2849#if CONFIG_HWCODEC == MAS3587F 2849#if CONFIG_CODEC == MAS3587F
2850 if(read_hw_mask() & PR_ACTIVE_HIGH) 2850 if(read_hw_mask() & PR_ACTIVE_HIGH)
2851 and_b(~0x08, &PADRH); 2851 and_b(~0x08, &PADRH);
2852 else 2852 else
2853 or_b(0x08, &PADRH); 2853 or_b(0x08, &PADRH);
2854#endif /* CONFIG_HWCODEC == MAS3587F */ 2854#endif /* CONFIG_CODEC == MAS3587F */
2855 2855
2856#ifdef DEBUG 2856#ifdef DEBUG
2857 dbg_timer_start(); 2857 dbg_timer_start();
@@ -2859,4 +2859,4 @@ void audio_init(void)
2859#endif /* DEBUG */ 2859#endif /* DEBUG */
2860} 2860}
2861 2861
2862#endif /* CONFIG_HWCODEC != MASNONE */ 2862#endif /* CONFIG_CODEC != SWCODEC */