diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2020-10-04 17:20:41 +0300 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2020-10-04 17:20:41 +0300 |
commit | efb40105d657da935d3854e6ea7a513c6210224b (patch) | |
tree | 0327d88d68c0a402f0f90307756bb8536c54dc8b /src/media.h | |
parent | 25346114f96a29e8af6125e0cac3d5f8a2ffd551 (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.h | 24 |
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 | ||
30 | typedef uint16_t iMediaId; | 30 | typedef uint16_t iMediaId; |
31 | 31 | ||
32 | iDeclareType(Player) | ||
32 | iDeclareType(GmImageInfo) | 33 | iDeclareType(GmImageInfo) |
34 | iDeclareType(GmAudioInfo) | ||
33 | 35 | ||
34 | struct Impl_GmImageInfo { | 36 | struct 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 | ||
41 | iDeclareType(Media) iDeclareTypeConstruction(Media) | 43 | struct Impl_GmAudioInfo { |
44 | const char *mime; | ||
45 | iBool isPermanent; | ||
46 | }; | ||
47 | |||
48 | iDeclareType(Media) | ||
49 | iDeclareTypeConstruction(Media) | ||
42 | 50 | ||
43 | void clear_Media (iMedia *); | 51 | void clear_Media (iMedia *); |
44 | void setImage_Media (iMedia *, uint16_t linkId, const iString *mime, const iBlock *data, iBool allowHide); | 52 | void setData_Media (iMedia *, uint16_t linkId, const iString *mime, const iBlock *data, iBool allowHide); |
45 | 53 | ||
46 | iMediaId findLinkImage_Media (const iMedia *, uint16_t linkId); | 54 | iMediaId findLinkImage_Media (const iMedia *, uint16_t linkId); |
55 | iBool imageInfo_Media (const iMedia *, iMediaId imageId, iGmImageInfo *info_out); | ||
47 | SDL_Texture * imageTexture_Media (const iMedia *, iMediaId imageId); | 56 | SDL_Texture * imageTexture_Media (const iMedia *, iMediaId imageId); |
48 | void imageInfo_Media (const iMedia *, iMediaId imageId, iGmImageInfo *info_out); | 57 | |
58 | iMediaId findLinkAudio_Media (const iMedia *, uint16_t linkId); | ||
59 | iBool audioInfo_Media (const iMedia *, iMediaId audioId, iGmAudioInfo *info_out); | ||
60 | iPlayer * audioPlayer_Media (const iMedia *, iMediaId audioId); | ||