revert(54b90ac): "fix?: remove tags from stream and chapter"

This reverts commit 54b90ac7f5.
This commit is contained in:
2026-02-22 02:46:33 +01:00
parent 54b90ac7f5
commit 62ae9d08f0

View File

@@ -47,6 +47,7 @@ typedef struct Stream {
int channels;
int sample_rate;
int frame_size;
std::vector<Tag> tags;
} Stream;
typedef struct Chapter {
@@ -54,6 +55,7 @@ typedef struct Chapter {
std::string time_base;
float start;
float end;
std::vector<Tag> tags;
} Chapter;
typedef struct Frame {
@@ -152,6 +154,15 @@ FileInfoResponse get_file_info(std::string filename) {
.frame_size = (int)pLocalCodecParameters->frame_size,
};
// Add tags to stream.
const AVDictionaryEntry *tag = NULL;
while ((tag = av_dict_get(pFormatContext->streams[i]->metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) {
Tag t = {
.key = tag->key,
.value = tag->value,
};
stream.tags.push_back(t);
}
r.streams.push_back(stream);
}
@@ -172,6 +183,15 @@ FileInfoResponse get_file_info(std::string filename) {
.end = (float)chapter->end,
};
// Add tags to chapter.
const AVDictionaryEntry *tag = NULL;
while ((tag = av_dict_get(chapter->metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) {
Tag t = {
.key = tag->key,
.value = tag->value,
};
c.tags.push_back(t);
}
r.chapters.push_back(c);
}
@@ -334,6 +354,7 @@ EMSCRIPTEN_BINDINGS(structs) {
.field("channels", &Stream::channels)
.field("sample_rate", &Stream::sample_rate)
.field("frame_size", &Stream::frame_size)
.field("tags", &Stream::tags)
;
register_vector<Stream>("Stream");
@@ -342,6 +363,7 @@ EMSCRIPTEN_BINDINGS(structs) {
.field("time_base", &Chapter::time_base)
.field("start", &Chapter::start)
.field("end", &Chapter::end)
.field("tags", &Chapter::tags)
;
register_vector<Chapter>("Chapter");