#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