diff options
Diffstat (limited to 'apps/plugins')
-rw-r--r-- | apps/plugins/mpegplayer/mpegplayer.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c index d046e1e01a..25a5d1a600 100644 --- a/apps/plugins/mpegplayer/mpegplayer.c +++ b/apps/plugins/mpegplayer/mpegplayer.c | |||
@@ -307,7 +307,6 @@ static void init_mad(void* mad_frame_overlap) | |||
307 | 307 | ||
308 | mad_stream_init(&stream); | 308 | mad_stream_init(&stream); |
309 | mad_frame_init(&frame); | 309 | mad_frame_init(&frame); |
310 | mad_synth_init(&synth); | ||
311 | 310 | ||
312 | /* We do this so libmad doesn't try to call codec_calloc() */ | 311 | /* We do this so libmad doesn't try to call codec_calloc() */ |
313 | frame.overlap = mad_frame_overlap; | 312 | frame.overlap = mad_frame_overlap; |
@@ -532,6 +531,9 @@ static void mad_decode(void) | |||
532 | int file_end = 0; /* A count of the errors in each frame */ | 531 | int file_end = 0; /* A count of the errors in each frame */ |
533 | int framelength; | 532 | int framelength; |
534 | 533 | ||
534 | /* We need this here to init the EMAC for Coldfire targets */ | ||
535 | mad_synth_init(&synth); | ||
536 | |||
535 | init_pcmbuf(); | 537 | init_pcmbuf(); |
536 | 538 | ||
537 | /* This is the decoding loop. */ | 539 | /* This is the decoding loop. */ |
@@ -825,7 +827,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
825 | /* Initialise our malloc buffer */ | 827 | /* Initialise our malloc buffer */ |
826 | mpeg2_alloc_init(audiobuf,audiosize); | 828 | mpeg2_alloc_init(audiobuf,audiosize); |
827 | 829 | ||
828 | /* Grab most of the buffer for the compressed video - leave 4MB for mpeg audio, and 512KB for PCM audio data */ | 830 | /* Grab most of the buffer for the compressed video - leave some for |
831 | PCM audio data and some for libmpeg2 malloc use. */ | ||
829 | buffer_size = audiosize - (PCMBUFFER_SIZE+AUDIOBUFFER_SIZE+LIBMPEG2BUFFER_SIZE); | 832 | buffer_size = audiosize - (PCMBUFFER_SIZE+AUDIOBUFFER_SIZE+LIBMPEG2BUFFER_SIZE); |
830 | DEBUGF("audiosize=%d, buffer_size=%d\n",audiosize,buffer_size); | 833 | DEBUGF("audiosize=%d, buffer_size=%d\n",audiosize,buffer_size); |
831 | buffer = mpeg2_malloc(buffer_size,-1); | 834 | buffer = mpeg2_malloc(buffer_size,-1); |
@@ -839,7 +842,6 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
839 | if (mpa_buffer == NULL) | 842 | if (mpa_buffer == NULL) |
840 | return PLUGIN_ERROR; | 843 | return PLUGIN_ERROR; |
841 | 844 | ||
842 | /* Use 0.5MB of the remaining 4MB for audio data */ | ||
843 | pcm_buffer_size = PCMBUFFER_SIZE; | 845 | pcm_buffer_size = PCMBUFFER_SIZE; |
844 | pcm_buffer = mpeg2_malloc(pcm_buffer_size,-2); | 846 | pcm_buffer = mpeg2_malloc(pcm_buffer_size,-2); |
845 | 847 | ||
@@ -922,6 +924,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
922 | (uint8_t*)audio_stack,AUDIO_STACKSIZE,"mpgaudio" IF_PRIO(,PRIORITY_PLAYBACK))) == NULL) | 924 | (uint8_t*)audio_stack,AUDIO_STACKSIZE,"mpgaudio" IF_PRIO(,PRIORITY_PLAYBACK))) == NULL) |
923 | { | 925 | { |
924 | rb->splash(HZ,true,"Cannot create audio thread!"); | 926 | rb->splash(HZ,true,"Cannot create audio thread!"); |
927 | rb->remove_thread(videothread_id); | ||
925 | return PLUGIN_ERROR; | 928 | return PLUGIN_ERROR; |
926 | } | 929 | } |
927 | 930 | ||