From 3ab6bfcf4c85a38a1be13fbf8188ad2945a5056e Mon Sep 17 00:00:00 2001
From: Oswald de Bruin <oswald@mint>
Date: Tue, 18 Jun 2013 10:28:54 +0200
Subject: [PATCH] ogg2dtsc now outputs sensible values, theora only

---
 src/converters/ogg2dtsc.cpp | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/src/converters/ogg2dtsc.cpp b/src/converters/ogg2dtsc.cpp
index 2399b7d0..4b0b0fda 100644
--- a/src/converters/ogg2dtsc.cpp
+++ b/src/converters/ogg2dtsc.cpp
@@ -88,21 +88,28 @@ namespace Converters{
                   std::cerr << "Theora Header Segment " << tHead.getHeaderType() << std::endl;
                   //fillDTSC header
                   switch(tHead.getHeaderType()){
-                    case 0: //identification header
+                    case 0:{ //identification header
+                      std::stringstream tID; 
+                      tID << "track" << trackData[sNum].dtscID;
                       trackData[sNum].fpks = ((long long int)tHead.getFRN() * 1000) / tHead.getFRD();
+                      DTSCHeader["tracks"][tID.str()]["fpks"] = trackData[sNum].fpks;
+                      DTSCHeader["identification"] = std::string(curSeg+curPlace, curLength);
+                      DTSCHeader["tracks"][tID.str()]["height"] = (long long)tHead.getPICH();
+                      DTSCHeader["tracks"][tID.str()]["width"] = (long long)tHead.getPICW();
                       trackData[sNum].KFGShift = tHead.getKFGShift();
                       //std::cerr << trackData[sNum].fpks << std::endl;
-                    break;
+                    break;}
                     case 1: //comment header
                     break;
-                    case 2: //setup header, also the point to start writing the header
-                    std::stringstream tID; 
-                    tID << "track" << trackData[sNum].dtscID;
-                    DTSCHeader["tracks"][tID.str()]["codec"] = "THEORA";
-                    DTSCHeader["tracks"][tID.str()]["fpks"] = (long long)trackData[sNum].fpks;
-                    DTSCHeader["tracks"][tID.str()]["trackid"] = (long long)trackData[sNum].dtscID;
-                    std::cout << DTSCHeader.toNetPacked();
-                    break;
+                    case 2:{ //setup header, also the point to start writing the header
+                      std::stringstream tID; 
+                      tID << "track" << trackData[sNum].dtscID;
+                      DTSCHeader["tracks"][tID.str()]["codec"] = "THEORA";
+                      DTSCHeader["tracks"][tID.str()]["type"] = "video";
+                      //DTSCHeader["tracks"][tID.str()]["fpks"] = (long long)trackData[sNum].fpks;
+                      DTSCHeader["tracks"][tID.str()]["trackid"] = (long long)trackData[sNum].dtscID;
+                      std::cout << DTSCHeader.toNetPacked();
+                    break;}
                   }
                   
                 }else{//if the current segment is a movie part