Working conversion

This commit is contained in:
Erik Zandvliet 2012-12-04 11:03:58 +01:00 committed by Thulinma
parent 180e7751fe
commit 234f7845de

View file

@ -19,7 +19,7 @@ int main( ) {
TS::Packet PackData; TS::Packet PackData;
DTSC::Stream DTSCStream; DTSC::Stream DTSCStream;
int PacketNumber = 0; int PacketNumber = 0;
uint64_t TimeStamp = 0; long long unsigned int TimeStamp = 0;
int ThisNaluSize; int ThisNaluSize;
char VideoCounter = 0; char VideoCounter = 0;
char AudioCounter = 0; char AudioCounter = 0;
@ -41,9 +41,9 @@ int main( ) {
IsKeyFrame = false; IsKeyFrame = false;
FirstKeyFrame = false; FirstKeyFrame = false;
} }
TimeStamp = ( DTSCStream.getPacket(0)["time"].asInt() * 27000 );
if( IsKeyFrame ) { if( IsKeyFrame ) {
fprintf( stderr, "Keyframe, timeStamp: %u\n", TimeStamp ); TimeStamp = ( DTSCStream.getPacket(0)["time"].asInt() * 27000 );
fprintf( stderr, "Keyframe, timeStamp: %llu (%llu)\n", TimeStamp, (TimeStamp / 27000) );
} }
int TSType; int TSType;
bool FirstPic = true; bool FirstPic = true;
@ -83,10 +83,10 @@ int main( ) {
while( ToPack.size() ) { while( ToPack.size() ) {
if ( ( PacketNumber % 42 ) == 0 ) { if ( ( PacketNumber % 42 ) == 0 ) {
PackData.DefaultPAT(); PackData.DefaultPAT();
PackData.ToString(); std::cout.write( PackData.ToString(), 188 );
} else if ( ( PacketNumber % 42 ) == 1 ) { } else if ( ( PacketNumber % 42 ) == 1 ) {
PackData.DefaultPMT(); PackData.DefaultPMT();
PackData.ToString(); std::cout.write( PackData.ToString(), 188 );
} else { } else {
PackData.Clear(); PackData.Clear();
PackData.PID( 0x100 ); PackData.PID( 0x100 );
@ -101,14 +101,14 @@ int main( ) {
PackData.AdaptationField( 0x01 ); PackData.AdaptationField( 0x01 );
} }
PackData.AddStuffing( 184 - (20+ToPack.size()) ); PackData.AddStuffing( 184 - (20+ToPack.size()) );
PackData.PESVideoLeadIn( ToPack.size() ); PackData.PESVideoLeadIn( ToPack.size(), DTSCStream.getPacket(0)["time"].asInt() * 90 );
WritePesHeader = false; WritePesHeader = false;
} else { } else {
PackData.AdaptationField( 0x01 ); PackData.AdaptationField( 0x01 );
PackData.AddStuffing( 184 - (ToPack.size()) ); PackData.AddStuffing( 184 - (ToPack.size()) );
} }
PackData.FillFree( ToPack ); PackData.FillFree( ToPack );
PackData.ToString(); std::cout.write( PackData.ToString(), 188 );
} }
PacketNumber ++; PacketNumber ++;
} }
@ -121,10 +121,10 @@ int main( ) {
while( ToPack.size() ) { while( ToPack.size() ) {
if ( ( PacketNumber % 42 ) == 0 ) { if ( ( PacketNumber % 42 ) == 0 ) {
PackData.DefaultPAT(); PackData.DefaultPAT();
PackData.ToString(); std::cout.write( PackData.ToString(), 188 );
} else if ( ( PacketNumber % 42 ) == 1 ) { } else if ( ( PacketNumber % 42 ) == 1 ) {
PackData.DefaultPMT(); PackData.DefaultPMT();
PackData.ToString(); std::cout.write( PackData.ToString(), 188 );
} else { } else {
PackData.Clear(); PackData.Clear();
PackData.PID( 0x101 ); PackData.PID( 0x101 );
@ -142,7 +142,7 @@ int main( ) {
PackData.AddStuffing( 184 - (ToPack.size()) ); PackData.AddStuffing( 184 - (ToPack.size()) );
} }
PackData.FillFree( ToPack ); PackData.FillFree( ToPack );
PackData.ToString(); std::cout.write( PackData.ToString(), 188 );
} }
PacketNumber ++; PacketNumber ++;
} }