From 96fbbaae3957943693de48b3538e7f394ffb9e07 Mon Sep 17 00:00:00 2001 From: Tuomas Virtanen Date: Thu, 21 Jun 2018 02:02:14 +0300 Subject: Add a custom source creation function --- include/kitchensink/kitsource.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include/kitchensink/kitsource.h') diff --git a/include/kitchensink/kitsource.h b/include/kitchensink/kitsource.h index 9c4d1b7..b2fcfa6 100644 --- a/include/kitchensink/kitsource.h +++ b/include/kitchensink/kitsource.h @@ -1,6 +1,7 @@ #ifndef KITSOURCE_H #define KITSOURCE_H +#include #include "kitchensink/kitconfig.h" #ifdef __cplusplus @@ -24,6 +25,8 @@ typedef struct Kit_Source { int video_stream_index; ///< Video stream index int subtitle_stream_index; ///< Subtitle stream index void *format_ctx; ///< FFmpeg: Videostream format context + void *avio_ctx; ///< FFmpeg: AVIO context + uint8_t *avio_buf; ///< Buffer for custom AVIO source } Kit_Source; typedef struct Kit_StreamInfo { @@ -31,7 +34,11 @@ typedef struct Kit_StreamInfo { Kit_StreamType type; ///< Stream type } Kit_StreamInfo; +typedef int (*Kit_ReadCallback)(void*, uint8_t*, int); +typedef int64_t (*Kit_SeekCallback)(void*, int64_t, int); + KIT_API Kit_Source* Kit_CreateSourceFromUrl(const char *path); +KIT_API Kit_Source* Kit_CreateSourceFromCustom(Kit_ReadCallback read_cb, Kit_SeekCallback seek_cb, void *userdata); KIT_API void Kit_CloseSource(Kit_Source *src); KIT_API int Kit_GetSourceStreamInfo(const Kit_Source *src, Kit_StreamInfo *info, int index); -- cgit v1.2.3