#include "subtitles.h" #include "bitfields.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; } }