summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/pcm_output.h
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2022-10-13 11:04:12 -0400
committerSolomon Peachy <pizza@shaftnet.org>2022-10-13 11:08:11 -0400
commit9d3d925295112a0080bc1d70fad170db9e1af2a9 (patch)
treef6fb6244519a9430aa97b303e417fba53799b2f0 /apps/plugins/mpegplayer/pcm_output.h
parent418169aff8faf2cf90124cd95dba0af821cea73d (diff)
downloadrockbox-9d3d925295112a0080bc1d70fad170db9e1af2a9.tar.gz
rockbox-9d3d925295112a0080bc1d70fad170db9e1af2a9.zip
Revert "RFC: Get rid of mpegplayer plugin"
This reverts commit d25d24812e8120c0eb133a412287ac030eb185c9. Change-Id: I1563223e343fb1e2eda72a45823b38350025ff93
Diffstat (limited to 'apps/plugins/mpegplayer/pcm_output.h')
-rw-r--r--apps/plugins/mpegplayer/pcm_output.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/apps/plugins/mpegplayer/pcm_output.h b/apps/plugins/mpegplayer/pcm_output.h
new file mode 100644
index 0000000000..bae00cd045
--- /dev/null
+++ b/apps/plugins/mpegplayer/pcm_output.h
@@ -0,0 +1,48 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * PCM output buffer declarations
11 *
12 * Copyright (c) 2007 Michael Sevakis
13 *
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
18 *
19 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20 * KIND, either express or implied.
21 *
22 ****************************************************************************/
23#ifndef PCM_OUTPUT_H
24#define PCM_OUTPUT_H
25
26#define PCM_HDR_SIZE (sizeof (struct pcm_frame_header))
27struct pcm_frame_header /* Header added to pcm data every time a decoded
28 audio frame is sent out */
29{
30 uint32_t size; /* size of this frame - including header */
31 uint32_t time; /* timestamp for this frame in audio ticks */
32 unsigned char data[]; /* open array of audio data */
33} ALIGNED_ATTR(4);
34
35bool pcm_output_init(void);
36void pcm_output_exit(void);
37void pcm_output_flush(void);
38void pcm_output_set_clock(uint32_t time);
39uint32_t pcm_output_get_clock(void);
40uint32_t pcm_output_get_ticks(uint32_t *start);
41void pcm_output_play_pause(bool play);
42void pcm_output_stop(void);
43void pcm_output_drain(void);
44void * pcm_output_get_buffer(ssize_t *size);
45bool pcm_output_commit_data(ssize_t size, uint32_t timestamp);
46bool pcm_output_empty(void);
47
48#endif /* PCM_OUTPUT_H */