summaryrefslogtreecommitdiff
path: root/src/media.h
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2020-10-04 17:20:41 +0300
committerJaakko Keränen <jaakko.keranen@iki.fi>2020-10-04 17:20:41 +0300
commitefb40105d657da935d3854e6ea7a513c6210224b (patch)
tree0327d88d68c0a402f0f90307756bb8536c54dc8b /src/media.h
parent25346114f96a29e8af6125e0cac3d5f8a2ffd551 (diff)
Working on audio playback
Audio players are displayed the same way as images. When playing, a decoder runs in a background thread producing samples suitable for output.
Diffstat (limited to 'src/media.h')
-rw-r--r--src/media.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/media.h b/src/media.h
index 0a6c1a81..6f460422 100644
--- a/src/media.h
+++ b/src/media.h
@@ -29,20 +29,32 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
29 29
30typedef uint16_t iMediaId; 30typedef uint16_t iMediaId;
31 31
32iDeclareType(Player)
32iDeclareType(GmImageInfo) 33iDeclareType(GmImageInfo)
34iDeclareType(GmAudioInfo)
33 35
34struct Impl_GmImageInfo { 36struct Impl_GmImageInfo {
35 iInt2 size; 37 iInt2 size;
36 size_t numBytes; 38 size_t numBytes;
37 const char *mime; 39 const char *mime;
38 iBool isPermanent; 40 iBool isPermanent;
39}; 41};
40 42
41iDeclareType(Media) iDeclareTypeConstruction(Media) 43struct Impl_GmAudioInfo {
44 const char *mime;
45 iBool isPermanent;
46};
47
48iDeclareType(Media)
49iDeclareTypeConstruction(Media)
42 50
43void clear_Media (iMedia *); 51void clear_Media (iMedia *);
44void setImage_Media (iMedia *, uint16_t linkId, const iString *mime, const iBlock *data, iBool allowHide); 52void setData_Media (iMedia *, uint16_t linkId, const iString *mime, const iBlock *data, iBool allowHide);
45 53
46iMediaId findLinkImage_Media (const iMedia *, uint16_t linkId); 54iMediaId findLinkImage_Media (const iMedia *, uint16_t linkId);
55iBool imageInfo_Media (const iMedia *, iMediaId imageId, iGmImageInfo *info_out);
47SDL_Texture * imageTexture_Media (const iMedia *, iMediaId imageId); 56SDL_Texture * imageTexture_Media (const iMedia *, iMediaId imageId);
48void imageInfo_Media (const iMedia *, iMediaId imageId, iGmImageInfo *info_out); 57
58iMediaId findLinkAudio_Media (const iMedia *, uint16_t linkId);
59iBool audioInfo_Media (const iMedia *, iMediaId audioId, iGmAudioInfo *info_out);
60iPlayer * audioPlayer_Media (const iMedia *, iMediaId audioId);