mistserver/lib/subtitles.cpp
2021-10-19 22:29:40 +02:00

35 lines
855 B
C++

#include "bitfields.h"
#include "subtitles.h"
#include "defines.h"
namespace Subtitle{
Packet getSubtitle(DTSC::Packet packet, DTSC::Meta meta){
char *tmp = 0;
uint16_t length = 0;
unsigned int len;
Packet output;
long int trackId = packet.getTrackId();
if (meta.tracks[trackId].codec != "TTXT" && meta.tracks[trackId].codec != "SRT"){
// no subtitle track
return output;
}
if (packet.hasMember("duration")){
output.duration = packet.getInt("duration");
}else{
// get parts from meta
// calculate duration
}
packet.getString("data", output.subtitle);
if (meta.tracks[trackId].codec == "TTXT"){
unsigned short size = Bit::btohs(output.subtitle.c_str());
output.subtitle = output.subtitle.substr(2, size);
}
return output;
}
}// namespace Subtitle