#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