SDL_kitchensink
Loading...
Searching...
No Matches
kitsource.h
Go to the documentation of this file.
1#ifndef KITSOURCE_H
2#define KITSOURCE_H
3
12#include <inttypes.h>
13#include <SDL_rwops.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
25typedef enum Kit_StreamType {
33
43typedef struct Kit_Source {
44 void *format_ctx;
45 void *avio_ctx;
47
53typedef struct Kit_SourceStreamInfo {
54 int index;
57
73typedef int (*Kit_ReadCallback)(void *userdata, uint8_t *buf, int size);
74
98typedef int64_t (*Kit_SeekCallback)(void *userdata, int64_t offset, int whence);
99
124
150
178
191
213
221
233
234#ifdef __cplusplus
235}
236#endif
237
238#endif // KITSOURCE_H
Public API configurations.
#define KIT_API
Definition kitconfig.h:30
KIT_API Kit_Source * Kit_CreateSourceFromUrl(const char *url)
Create a new source from a given url.
KIT_API int Kit_GetSourceStreamCount(const Kit_Source *src)
Gets the amount of streams in source.
int64_t(* Kit_SeekCallback)(void *userdata, int64_t offset, int whence)
Callback function type for seeking data stream.
Definition kitsource.h:98
int(* Kit_ReadCallback)(void *userdata, uint8_t *buf, int size)
Callback function type for reading data stream.
Definition kitsource.h:73
KIT_API int Kit_GetSourceStreamInfo(const Kit_Source *src, Kit_SourceStreamInfo *info, int index)
Fetches stream information for a given stream index.
KIT_API Kit_Source * Kit_CreateSourceFromCustom(Kit_ReadCallback read_cb, Kit_SeekCallback seek_cb, void *userdata)
Create a new source from custom data.
KIT_API Kit_Source * Kit_CreateSourceFromRW(SDL_RWops *rw_ops)
Create a new source from SDL RWops struct.
KIT_API void Kit_CloseSource(Kit_Source *src)
Closes a previously initialized source.
Kit_StreamType
Type of the stream.
Definition kitsource.h:25
@ KIT_STREAMTYPE_VIDEO
Video stream.
Definition kitsource.h:27
@ KIT_STREAMTYPE_UNKNOWN
Unknown stream type.
Definition kitsource.h:26
@ KIT_STREAMTYPE_AUDIO
Audio stream.
Definition kitsource.h:28
@ KIT_STREAMTYPE_DATA
Data stream.
Definition kitsource.h:29
@ KIT_STREAMTYPE_ATTACHMENT
Attachment stream (images, etc)
Definition kitsource.h:31
@ KIT_STREAMTYPE_SUBTITLE
Subtitle stream.
Definition kitsource.h:30
KIT_API int Kit_GetBestSourceStream(const Kit_Source *src, const Kit_StreamType type)
Gets the best stream index for a given stream type.
Audio/video source.
Definition kitsource.h:43
void * format_ctx
FFmpeg: Videostream format context.
Definition kitsource.h:44
void * avio_ctx
FFmpeg: AVIO context.
Definition kitsource.h:45
Information for a source stream.
Definition kitsource.h:53
Kit_StreamType type
Stream type.
Definition kitsource.h:55
int index
Stream index.
Definition kitsource.h:54