summaryrefslogtreecommitdiff
path: root/src/kitsource.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kitsource.c')
-rw-r--r--src/kitsource.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/kitsource.c b/src/kitsource.c
index 9a7b739..270c84a 100644
--- a/src/kitsource.c
+++ b/src/kitsource.c
@@ -32,6 +32,7 @@ Kit_Source* Kit_CreateSourceFromUrl(const char *url) {
// Find best streams for defaults
src->astream_idx = Kit_GetBestSourceStream(src, KIT_STREAMTYPE_AUDIO);
src->vstream_idx = Kit_GetBestSourceStream(src, KIT_STREAMTYPE_VIDEO);
+ src->sstream_idx = Kit_GetBestSourceStream(src, KIT_STREAMTYPE_SUBTITLE);
return src;
exit_1:
@@ -80,6 +81,7 @@ int Kit_GetBestSourceStream(const Kit_Source *src, const Kit_StreamType type) {
switch(type) {
case KIT_STREAMTYPE_VIDEO: avmedia_type = AVMEDIA_TYPE_VIDEO; break;
case KIT_STREAMTYPE_AUDIO: avmedia_type = AVMEDIA_TYPE_AUDIO; break;
+ case KIT_STREAMTYPE_SUBTITLE: avmedia_type = AVMEDIA_TYPE_SUBTITLE; break;
default: return -1;
}
int ret = av_find_best_stream((AVFormatContext *)src->format_ctx, avmedia_type, -1, -1, NULL, 0);
@@ -98,6 +100,7 @@ int Kit_SetSourceStream(Kit_Source *src, const Kit_StreamType type, int index) {
switch(type) {
case KIT_STREAMTYPE_AUDIO: src->astream_idx = index; break;
case KIT_STREAMTYPE_VIDEO: src->vstream_idx = index; break;
+ case KIT_STREAMTYPE_SUBTITLE: src->sstream_idx = index; break;
default:
Kit_SetError("Invalid stream type");
return 1;
@@ -110,6 +113,7 @@ int Kit_GetSourceStream(const Kit_Source *src, const Kit_StreamType type) {
switch(type) {
case KIT_STREAMTYPE_AUDIO: return src->astream_idx;
case KIT_STREAMTYPE_VIDEO: return src->vstream_idx;
+ case KIT_STREAMTYPE_SUBTITLE: return src->sstream_idx;
default:
break;
}