31 lines
993 B
C++
31 lines
993 B
C++
#include <stdint.h>
|
|
#include <iostream>
|
|
#include <string>
|
|
#include <stdio.h>
|
|
#include "../util/http_parser.cpp"
|
|
#include "../util/MP4/box_includes.h"
|
|
#include "../util/flv_data.cpp"
|
|
|
|
int main(){
|
|
HTTPReader H;
|
|
FLV_Pack * F = 0;
|
|
unsigned int P = 0;
|
|
char * Payload = 0;
|
|
|
|
while (H.ReadSocket(stdin) || H.CleanForNext()){
|
|
if (H.body.size() > 10000){
|
|
Box * TestBox = new Box((uint8_t*)H.body.c_str(), H.body.size());
|
|
Payload = (char*)TestBox->GetPayload();
|
|
printf("First bytes: %2hhu %2hhu %2hhu %2hhu\n", Payload[0], Payload[1], Payload[2], Payload[3]);
|
|
P = 0;
|
|
while (TestBox->GetPayloadSize() > P){
|
|
if (FLV_GetPacket(F, Payload, TestBox->GetPayloadSize(), P)){
|
|
std::cout << "Got a " << F->len << " bytes " << F->tagType() << " FLV tag of time " << F->tagTime() << "." << std::endl;
|
|
}
|
|
}
|
|
delete TestBox;
|
|
}else{
|
|
std::cout << "Skipped too small fragment of size " << H.body.size() << std::endl;
|
|
}
|
|
}
|
|
}
|