summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/pcm_output.h
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2011-01-07 05:17:28 +0000
committerMichael Sevakis <jethead71@rockbox.org>2011-01-07 05:17:28 +0000
commit39107956ab680b37ade979e5379cf98a06604b13 (patch)
tree156c4197b5ad0d99c165e07d81da7a3e1d3671b1 /apps/plugins/mpegplayer/pcm_output.h
parentb1a1831a17b17574b8a201dfcb348714772068b8 (diff)
downloadrockbox-39107956ab680b37ade979e5379cf98a06604b13.tar.gz
rockbox-39107956ab680b37ade979e5379cf98a06604b13.zip
MPEGPlyaer: A bit of audio mutation. Remove a useless thread state. Take some control over the buffer away from the audio thread itself. Some atomicity corrections.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28984 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/mpegplayer/pcm_output.h')
-rw-r--r--apps/plugins/mpegplayer/pcm_output.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/apps/plugins/mpegplayer/pcm_output.h b/apps/plugins/mpegplayer/pcm_output.h
index 9335235daa..1a00ac48e6 100644
--- a/apps/plugins/mpegplayer/pcm_output.h
+++ b/apps/plugins/mpegplayer/pcm_output.h
@@ -23,6 +23,7 @@
23#ifndef PCM_OUTPUT_H 23#ifndef PCM_OUTPUT_H
24#define PCM_OUTPUT_H 24#define PCM_OUTPUT_H
25 25
26#define PCM_HDR_SIZE (sizeof (struct pcm_frame_header))
26struct pcm_frame_header /* Header added to pcm data every time a decoded 27struct pcm_frame_header /* Header added to pcm data every time a decoded
27 audio frame is sent out */ 28 audio frame is sent out */
28{ 29{
@@ -31,8 +32,6 @@ struct pcm_frame_header /* Header added to pcm data every time a decoded
31 unsigned char data[]; /* open array of audio data */ 32 unsigned char data[]; /* open array of audio data */
32} ALIGNED_ATTR(4); 33} ALIGNED_ATTR(4);
33 34
34extern int pcm_skipped, pcm_underruns;
35
36bool pcm_output_init(void); 35bool pcm_output_init(void);
37void pcm_output_exit(void); 36void pcm_output_exit(void);
38void pcm_output_flush(void); 37void pcm_output_flush(void);
@@ -42,9 +41,8 @@ uint32_t pcm_output_get_ticks(uint32_t *start);
42void pcm_output_play_pause(bool play); 41void pcm_output_play_pause(bool play);
43void pcm_output_stop(void); 42void pcm_output_stop(void);
44void pcm_output_drain(void); 43void pcm_output_drain(void);
45struct pcm_frame_header * pcm_output_get_buffer(void); 44unsigned char * pcm_output_get_buffer(ssize_t *size);
46void pcm_output_add_data(void); 45bool pcm_output_commit_data(ssize_t size, uint32_t timestamp);
47ssize_t pcm_output_used(void); 46bool pcm_output_empty(void);
48ssize_t pcm_output_free(void);
49 47
50#endif /* PCM_OUTPUT_H */ 48#endif /* PCM_OUTPUT_H */