Ogg 2 DTSC works

This commit is contained in:
Oswald Auguste de Bruin 2013-07-17 11:12:29 +02:00 committed by Thulinma
parent a0a6e957a5
commit 8686772ad6
3 changed files with 8 additions and 5 deletions

View file

@ -11,7 +11,7 @@ RELEASE ?= "Generic_`getconf LONG_BIT`"
AM_CPPFLAGS = $(global_CFLAGS) $(MIST_CFLAGS) -DRELEASE=\"$(RELEASE)\"
LDADD = $(MIST_LIBS)
bin_PROGRAMS=MistBuffer MistController MistConnRAW MistConnRTMP MistConnHTTP MistConnHTTPProgressive MistConnHTTPDynamic MistConnHTTPSmooth MistConnHTTPLive MistConnTS MistPlayer MistDTSC2FLV MistFLV2DTSC MistDTSCFix MistDTSC2TS MistOGG2DTSC MistAnalyserRTMP MistAnalyserFLV MistAnalyserDTSC MistAnalyserAMF MistAnalyserMP4 MistAnalyserOGG MistOGG2DTSC
bin_PROGRAMS=MistBuffer MistController MistConnRAW MistConnRTMP MistConnHTTP MistConnHTTPProgressive MistConnHTTPDynamic MistConnHTTPSmooth MistConnHTTPLive MistConnTS MistPlayer MistDTSC2FLV MistFLV2DTSC MistDTSCFix MistDTSC2TS MistOGG2DTSC MistDTSC2OGG MistAnalyserRTMP MistAnalyserFLV MistAnalyserDTSC MistAnalyserAMF MistAnalyserMP4 MistAnalyserOGG
#buffer folder (MistBuffer, MistPlayer)
MistBuffer_SOURCES=buffer/buffer.cpp buffer/buffer_user.h buffer/buffer_user.cpp buffer/buffer_stream.h buffer/buffer_stream.cpp tinythread.cpp tinythread.h ../VERSION
@ -36,6 +36,7 @@ MistConnTS_SOURCES=connectors/conn_ts.cpp ../VERSION
MistDTSC2FLV_SOURCES=converters/dtsc2flv.cpp
MistFLV2DTSC_SOURCES=converters/flv2dtsc.cpp
MistOGG2DTSC_SOURCES=converters/ogg2dtsc.cpp
MistDTSC2OGG_SOURCES=converters/dtsc2ogg.cpp
MistDTSCFix_SOURCES=converters/dtscfix.cpp
MistDTSCMerge_SOURCES=converters/dtscmerge.cpp
MistDTSC2TS_SOURCES=converters/dtsc2ts.cpp

View file

@ -195,7 +195,11 @@ namespace Converters {
meta["tracks"][it->first]["type"] = it->second.type;
int tmp = meta["tracks"][it->first]["keys"].size();
if (tmp > 0){
if (tmp > 1){
meta["tracks"][it->first]["keys"][tmp - 1]["len"] = it->second.lastms - meta["tracks"][it->first]["keys"][tmp - 2]["time"].asInt();
}else{
meta["tracks"][it->first]["keys"][tmp - 1]["len"] = it->second.lastms;
}
meta["tracks"][it->first]["keys"][tmp - 1]["size"] = it->second.totalSize;
for (int i = 0; i < trackData[it->first].parts.size(); i++){
meta["tracks"][it->first]["keys"][tmp - 1]["parts"].append(trackData[it->first].parts[i]);

View file

@ -65,17 +65,16 @@ namespace Converters{
std::cerr << "Unknown Codec, skipping" << std::endl;
continue;
}
trackData[sNum].dtscID = lastTrackID++;
std::stringstream tID;
tID << "track" << trackData[sNum].dtscID;
trackData[sNum].name = tID.str();
trackData[sNum].dtscID = lastTrackID++;
}
//if Serial number is available in mapping
if(trackData.find(sNum)!=trackData.end()){
int offset = 0;
for (std::deque<unsigned int>::iterator it = oggPage.getSegmentTableDeque().begin(); it != oggPage.getSegmentTableDeque().end(); it++){
if (trackData[sNum].parsedHeaders){
//todo output segment
//output DTSC packet
DTSCOut.null();//clearing DTSC buffer
DTSCOut["trackid"] = (long long)trackData[sNum].dtscID;
@ -120,7 +119,6 @@ namespace Converters{
break;
}
}
}else{//if the current segment is a movie part
}
break;
}