Fixed code style for recent commits.

This commit is contained in:
Thulinma 2013-03-01 21:00:17 +01:00
parent 88e52ad936
commit 9aad5dc9fb
6 changed files with 83 additions and 73 deletions

View file

@ -64,7 +64,7 @@ namespace Buffer {
while (usr->S.connected()){
usleep(5000); //sleep 5ms
if( !usr->myRing->playCount || !usr->Send()){
if ( !usr->myRing->playCount || !usr->Send()){
if (usr->S.spool()){
while (usr->S.Received().size()){
//delete anything that doesn't end with a newline
@ -108,18 +108,18 @@ namespace Buffer {
usr->myRing->waiting = false;
usr->myRing->starved = false;
usr->myRing->b = thisStream->getStream()->msSeek(ms);
if (usr->myRing->playCount > 0 ) {
if (usr->myRing->playCount > 0){
usr->myRing->playCount = 0;
}
break;
}
case 'f': { //frame-seek
fprintf( stderr, "Received a frame-seek\n" );
fprintf(stderr, "Received a frame-seek\n");
unsigned int frameno = JSON::Value(usr->S.Received().get().substr(2)).asInt();
usr->myRing->waiting = false;
usr->myRing->starved = false;
usr->myRing->b = thisStream->getStream()->frameSeek(frameno);
if (usr->myRing->playCount > 0 ) {
if (usr->myRing->playCount > 0){
usr->myRing->playCount = 0;
}
break;
@ -129,8 +129,8 @@ namespace Buffer {
break;
}
case 'o': { //once-play
fprintf( stderr, "Received a play-once\n" );
if (usr->myRing->playCount >= 0 ) {
fprintf(stderr, "Received a play-once\n");
if (usr->myRing->playCount >= 0){
usr->myRing->playCount++;
}
break;
@ -196,7 +196,7 @@ namespace Buffer {
if (thisStream->getIPInput().connected()){
if (thisStream->getIPInput().spool()){
bool packed_parsed = false;
do {
do{
thisStream->getWriteLock();
if (thisStream->getStream()->parsePacket(thisStream->getIPInput().Received())){
thisStream->getStream()->outPacket(0);
@ -207,7 +207,7 @@ namespace Buffer {
packed_parsed = false;
usleep(1000); //1ms wait
}
} while(packed_parsed);
}while (packed_parsed);
}else{
usleep(1000); //1ms wait
}
@ -228,7 +228,8 @@ namespace Buffer {
conf.addOption("reportstats",
JSON::fromString("{\"default\":0, \"help\":\"Report stats to a controller process.\", \"short\":\"s\", \"long\":\"reportstats\"}"));
conf.addOption("time",
JSON::fromString("{\"default\":0, \"arg\": \"integer\", \"help\":\"Buffer a specied amount of time in ms.\", \"short\":\"t\", \"long\":\"time\"}"));
JSON::fromString(
"{\"default\":0, \"arg\": \"integer\", \"help\":\"Buffer a specied amount of time in ms.\", \"short\":\"t\", \"long\":\"time\"}"));
conf.parseArgs(argc, argv);
std::string name = conf.getString("stream_name");
@ -259,7 +260,7 @@ namespace Buffer {
}
while (buffer_running && SS.connected() && conf.is_active){
fprintf( stderr, "Still running\n" );
fprintf(stderr, "Still running\n");
//check for new connections, accept them if there are any
//starts a thread for every accepted connection
incoming = SS.accept(true);

View file

@ -66,11 +66,11 @@ bool Buffer::user::Send(){
} //cancel if not connected
if (myRing->waiting){
Stream::get()->waitForData();
if( !myRing->waiting ) {
if ( !myRing->waiting){
if (Stream::get()->getStream()->getPacket(myRing->b).isMember("keyframe") && myRing->playCount > 0){
myRing->playCount --;
if (!myRing->playCount){
fprintf( stderr, "Sending Pausemark\n" );
myRing->playCount--;
if ( !myRing->playCount){
fprintf(stderr, "Sending Pausemark\n");
JSON::Value pausemark;
pausemark["datatype"] = "pause_marker";
pausemark["time"] = Stream::get()->getStream()->getPacket(myRing->b)["time"].asInt();
@ -79,9 +79,9 @@ bool Buffer::user::Send(){
}
}
if (myRing->updated){
fprintf( stderr, "Sent new metadata\n" );
fprintf(stderr, "Sent new metadata\n");
Stream::get()->getReadLock();
S.SendNow( Stream::get()->getStream()->metadata.toNetPacked() );
S.SendNow(Stream::get()->getStream()->metadata.toNetPacked());
Stream::get()->dropReadLock();
myRing->updated = false;
}
@ -105,18 +105,18 @@ bool Buffer::user::Send(){
return false;
} //no next buffer? go in waiting mode.
myRing->b--;
if( myRing->updated ) {
fprintf( stderr, "Sent new metadata\n" );
if (myRing->updated){
fprintf(stderr, "Sent new metadata\n");
Stream::get()->getReadLock();
S.SendNow( Stream::get()->getStream()->metadata.toNetPacked() );
S.SendNow(Stream::get()->getStream()->metadata.toNetPacked());
Stream::get()->dropReadLock();
myRing->updated = false;
}
Stream::get()->dropReadLock();
if (Stream::get()->getStream()->getPacket(myRing->b).isMember("keyframe") && myRing->playCount > 0){
myRing->playCount --;
if (!myRing->playCount){
fprintf( stderr, "Sending Pausemark\n" );
myRing->playCount--;
if ( !myRing->playCount){
fprintf(stderr, "Sending Pausemark\n");
JSON::Value pausemark;
pausemark["datatype"] = "pause_marker";
pausemark["time"] = Stream::get()->getStream()->getPacket(myRing->b)["time"].asInt();
@ -125,7 +125,7 @@ bool Buffer::user::Send(){
}
}
return false;
}//completed a send
} //completed a send
Stream::get()->dropReadLock();
return true;
} //send

View file

@ -35,7 +35,7 @@ namespace Connector_HTTP {
}else{
asrt.setUpdate(true);
}
asrt.setVersion(0);//1
asrt.setVersion(0); //1
//asrt.setQualityEntry(empty, 0);
if (metadata.isMember("keynum")){
asrt.setSegmentRun(1, -1, 0);
@ -49,16 +49,16 @@ namespace Connector_HTTP {
}else{
afrt.setUpdate(true);
}
afrt.setVersion(0);//1
afrt.setVersion(0); //1
afrt.setTimeScale(1000);
//afrt.setQualityEntry(empty, 0);
MP4::afrt_runtable afrtrun;
if (metadata.isMember("keynum")){
unsigned long long int firstAvail = metadata["keynum"].size() / 2;
for (int i = firstAvail; i < metadata["keynum"].size() -2; i++ ) {
for (int i = firstAvail; i < metadata["keynum"].size() - 2; i++){
afrtrun.firstFragment = metadata["keynum"][i].asInt();
afrtrun.firstTimestamp = metadata["keytime"][i].asInt();
afrtrun.duration = metadata["keytime"][i+1].asInt() - metadata["keytime"][i].asInt();
afrtrun.duration = metadata["keytime"][i + 1].asInt() - metadata["keytime"][i].asInt();
afrt.setFragmentRun(afrtrun, i - firstAvail);
}
}else{
@ -80,7 +80,7 @@ namespace Connector_HTTP {
MP4::ABST abst;
abst.setVersion(0);
if( metadata.isMember("keynum") ) {
if (metadata.isMember("keynum")){
abst.setBootstrapinfoVersion(metadata["keynum"][0u].asInt());
}else{
abst.setBootstrapinfoVersion(1);
@ -134,23 +134,26 @@ namespace Connector_HTTP {
"<deliveryType>streaming</deliveryType>\n"
"<bootstrapInfo profile=\"named\" id=\"bootstrap1\">" + Base64::encode(GenerateBootstrap(MovieId, metadata, 1, 0, 0))
+ "</bootstrapInfo>\n"
"<media streamId=\"1\" bootstrapInfoId=\"bootstrap1\" url=\"" + MovieId + "/\">\n"
"<metadata>AgAKb25NZXRhRGF0YQgAAAAAAAl0cmFja2luZm8KAAAAAgMACXRpbWVzY2FsZQBA+GoAAAAAAAAGbGVuZ3RoAEGMcHoQAAAAAAhsYW5ndWFnZQIAA2VuZwARc2FtcGxlZGVzY3JpcHRpb24KAAAAAQMACnNhbXBsZXR5cGUCAARhdmMxAAAJAAAJAwAJdGltZXNjYWxlAEDncAAAAAAAAAZsZW5ndGgAQXtNvTAAAAAACGxhbmd1YWdlAgADZW5nABFzYW1wbGVkZXNjcmlwdGlvbgoAAAABAwAKc2FtcGxldHlwZQIABG1wNGEAAAkAAAkADWF1ZGlvY2hhbm5lbHMAQAAAAAAAAAAAD2F1ZGlvc2FtcGxlcmF0ZQBA53AAAAAAAAAOdmlkZW9mcmFtZXJhdGUAQDf/gi5SciUABmFhY2FvdABAAAAAAAAAAAAIYXZjbGV2ZWwAQD8AAAAAAAAACmF2Y3Byb2ZpbGUAQFNAAAAAAAAADGF1ZGlvY29kZWNpZAIABG1wNGEADHZpZGVvY29kZWNpZAIABGF2YzEABXdpZHRoAECQ4AAAAAAAAAZoZWlnaHQAQIMAAAAAAAAACmZyYW1lV2lkdGgAQJDgAAAAAAAAC2ZyYW1lSGVpZ2h0AECDAAAAAAAAAAxkaXNwbGF5V2lkdGgAQJDgAAAAAAAADWRpc3BsYXlIZWlnaHQAQIMAAAAAAAAADG1vb3Zwb3NpdGlvbgBBmxq2uAAAAAAIZHVyYXRpb24AQIKjqW3oyhIAAAk=</metadata>\n"
"</media>\n"
"</manifest>\n";
"<media streamId=\"1\" bootstrapInfoId=\"bootstrap1\" url=\"" + MovieId
+ "/\">\n"
"<metadata>AgAKb25NZXRhRGF0YQgAAAAAAAl0cmFja2luZm8KAAAAAgMACXRpbWVzY2FsZQBA+GoAAAAAAAAGbGVuZ3RoAEGMcHoQAAAAAAhsYW5ndWFnZQIAA2VuZwARc2FtcGxlZGVzY3JpcHRpb24KAAAAAQMACnNhbXBsZXR5cGUCAARhdmMxAAAJAAAJAwAJdGltZXNjYWxlAEDncAAAAAAAAAZsZW5ndGgAQXtNvTAAAAAACGxhbmd1YWdlAgADZW5nABFzYW1wbGVkZXNjcmlwdGlvbgoAAAABAwAKc2FtcGxldHlwZQIABG1wNGEAAAkAAAkADWF1ZGlvY2hhbm5lbHMAQAAAAAAAAAAAD2F1ZGlvc2FtcGxlcmF0ZQBA53AAAAAAAAAOdmlkZW9mcmFtZXJhdGUAQDf/gi5SciUABmFhY2FvdABAAAAAAAAAAAAIYXZjbGV2ZWwAQD8AAAAAAAAACmF2Y3Byb2ZpbGUAQFNAAAAAAAAADGF1ZGlvY29kZWNpZAIABG1wNGEADHZpZGVvY29kZWNpZAIABGF2YzEABXdpZHRoAECQ4AAAAAAAAAZoZWlnaHQAQIMAAAAAAAAACmZyYW1lV2lkdGgAQJDgAAAAAAAAC2ZyYW1lSGVpZ2h0AECDAAAAAAAAAAxkaXNwbGF5V2lkdGgAQJDgAAAAAAAADWRpc3BsYXlIZWlnaHQAQIMAAAAAAAAADG1vb3Zwb3NpdGlvbgBBmxq2uAAAAAAIZHVyYXRpb24AQIKjqW3oyhIAAAk=</metadata>\n"
"</media>\n"
"</manifest>\n";
}else{
Result = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<manifest xmlns=\"http://ns.adobe.com/f4m/1.0\">\n"
"<id>" + MovieId + "</id>\n"
"<duration>0.00</duration>\n"
"<mimeType>video/mp4</mimeType>\n"
"<streamType>live</streamType>\n"
"<deliveryType>streaming</deliveryType>\n"
"<bootstrapInfo profile=\"named\" id=\"bootstrap1\" url=\"" + MovieId + ".bootstrap\"></bootstrapInfo>\n"
"<media bootstrapInfoId=\"bootstrap1\" url=\"" + MovieId + "/\">"
"<metadata>AgAKb25NZXRhRGF0YQgAAAAAAA9tZXRhZGF0YWNyZWF0b3ICABBBbmV2aWEgVmlhTW90aW9uAAhoYXNBdWRpbwEBAAhoYXNWaWRlbwEBAAhkdXJhdGlvbgBBIWWYAAAAAAAPYXVkaW9zYW1wbGVyYXRlAEBIAAAAAAAAAA1hdWRpb2RhdGFyYXRlAEBgAAAAAAAAAAxhdWRpb2NvZGVjaWQCAARtcDRhAAZhYWNhb3QAQAAAAAAAAAAABXdpZHRoAECQAAAAAAAAAAZoZWlnaHQAQIIAAAAAAAAADXZpZGVvZGF0YXJhdGUAQJ9AAAAAAAAADHZpZGVvY29kZWNpZAIABEFWQzEACmF2Y3Byb2ZpbGUAQFNAAAAAAAAACGF2Y2xldmVsAEA/AAAAAAAAAAAJ</metadata>\n"
"</media>\n"
"</manifest>\n";
Result =
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<manifest xmlns=\"http://ns.adobe.com/f4m/1.0\">\n"
"<id>" + MovieId + "</id>\n"
"<duration>0.00</duration>\n"
"<mimeType>video/mp4</mimeType>\n"
"<streamType>live</streamType>\n"
"<deliveryType>streaming</deliveryType>\n"
"<bootstrapInfo profile=\"named\" id=\"bootstrap1\" url=\"" + MovieId + ".bootstrap\"></bootstrapInfo>\n"
"<media bootstrapInfoId=\"bootstrap1\" url=\"" + MovieId
+ "/\">"
"<metadata>AgAKb25NZXRhRGF0YQgAAAAAAA9tZXRhZGF0YWNyZWF0b3ICABBBbmV2aWEgVmlhTW90aW9uAAhoYXNBdWRpbwEBAAhoYXNWaWRlbwEBAAhkdXJhdGlvbgBBIWWYAAAAAAAPYXVkaW9zYW1wbGVyYXRlAEBIAAAAAAAAAA1hdWRpb2RhdGFyYXRlAEBgAAAAAAAAAAxhdWRpb2NvZGVjaWQCAARtcDRhAAZhYWNhb3QAQAAAAAAAAAAABXdpZHRoAECQAAAAAAAAAAZoZWlnaHQAQIIAAAAAAAAADXZpZGVvZGF0YXJhdGUAQJ9AAAAAAAAADHZpZGVvY29kZWNpZAIABEFWQzEACmF2Y3Byb2ZpbGUAQFNAAAAAAAAACGF2Y2xldmVsAEA/AAAAAAAAAAAJ</metadata>\n"
"</media>\n"
"</manifest>\n";
}
#if DEBUG >= 8
std::cerr << "Sending this manifest:" << std::endl << Result << std::endl;
@ -219,7 +222,8 @@ namespace Connector_HTTP {
}
ss.setBlocking(false);
inited = true;
while ( !ss.spool()){}
while ( !ss.spool()){
}
Strm.parsePacket(ss.Received());
}
if (HTTP_R.url.find(".bootstrap") != std::string::npos){
@ -301,17 +305,17 @@ namespace Connector_HTTP {
if (ss.spool()){
while (Strm.parsePacket(ss.Received())){
/*
if (Strm.getPacket(0).isMember("time")){
if ( !Strm.metadata.isMember("firsttime")){
Strm.metadata["firsttime"] = Strm.getPacket(0)["time"];
}else{
if ( !Strm.metadata.isMember("length") || Strm.metadata["length"].asInt() == 0){
Strm.getPacket(0)["time"] = Strm.getPacket(0)["time"].asInt() - Strm.metadata["firsttime"].asInt();
}
}
Strm.metadata["lasttime"] = Strm.getPacket(0)["time"];
}
*/
if (Strm.getPacket(0).isMember("time")){
if ( !Strm.metadata.isMember("firsttime")){
Strm.metadata["firsttime"] = Strm.getPacket(0)["time"];
}else{
if ( !Strm.metadata.isMember("length") || Strm.metadata["length"].asInt() == 0){
Strm.getPacket(0)["time"] = Strm.getPacket(0)["time"].asInt() - Strm.metadata["firsttime"].asInt();
}
}
Strm.metadata["lasttime"] = Strm.getPacket(0)["time"];
}
*/
if (pending_manifest){
HTTP_S.Clean();
HTTP_S.SetHeader("Content-Type", "text/xml");

View file

@ -31,7 +31,7 @@ namespace Connector_HTTP {
if (metadata.isNull()){
return result;
}
if( metadata.isMember( "keynum" ) ) {
if (metadata.isMember("keynum")){
for (int i = 0; i < metadata["keynum"].size(); i++){
result.push_back(metadata["keynum"][i].asInt());
}
@ -63,7 +63,7 @@ namespace Connector_HTTP {
Result << "#EXTM3U\r\n"
//"#EXT-X-VERSION:1\r\n"
//"#EXT-X-ALLOW-CACHE:YES\r\n"
"#EXT-X-TARGETDURATION:" << (longestFragment / 1000) + 1 << "\r\n"
"#EXT-X-TARGETDURATION:" << (longestFragment / 1000) + 1 << "\r\n"
"#EXT-X-MEDIA-SEQUENCE:0\r\n";
//"#EXT-X-PLAYLIST-TYPE:VOD\r\n";
int lastDuration = 0;
@ -159,7 +159,8 @@ namespace Connector_HTTP {
}
ss.setBlocking(false);
inited = true;
while ( !ss.spool()){}
while ( !ss.spool()){
}
Strm.parsePacket(ss.Received());
}
if (HTTP_R.url.find(".m3u") == std::string::npos){
@ -176,7 +177,7 @@ namespace Connector_HTTP {
ss.SendNow(sstream.str().c_str());
Flash_RequestPending++;
}else{
if ( ss.spool()){
if (ss.spool()){
Strm.parsePacket(ss.Received());
}
if (HTTP_R.url.find(".m3u8") != std::string::npos){
@ -340,12 +341,10 @@ namespace Connector_HTTP {
ContCounter = &AudioCounter;
}
//initial packet
PackData.Clear();
PackData.PID(PIDno);
PackData.ContinuityCounter((*ContCounter)++);
PackData.ContinuityCounter(( *ContCounter)++);
PackData.UnitStart(1);
if (IsKeyFrame){
PackData.RandomAccess(1);
@ -360,14 +359,13 @@ namespace Connector_HTTP {
while (ToPack.size()){
PackData.Clear();
PackData.PID(PIDno);
PackData.ContinuityCounter((*ContCounter)++);
PackData.ContinuityCounter(( *ContCounter)++);
PackData.AddStuffing(PackData.BytesFree() - ToPack.size());
PackData.FillFree(ToPack);
TSBuf.write(PackData.ToString(), 188);
PacketNumber++;
}
}
}
if (pending_manifest && !Strm.metadata.isNull()){

View file

@ -32,7 +32,7 @@ namespace Connector_HTTP {
Result << "<SmoothStreamingMedia MajorVersion=\"2\" MinorVersion=\"0\" TimeScale=\"10000000\" ";
if (metadata.isMember("length") && metadata["length"].asInt() > 0){
Result << "Duration=\"" << metadata["lastms"].asInt() << "\"";
} else {
}else{
Result << "Duration=\"0\" IsLive=\"TRUE\" LookAheadFragmentCount=\"2\" ";
}
Result << ">\n";

View file

@ -154,9 +154,15 @@ int main(int argc, char ** argv){
conf.addOption("account",
JSON::fromString(
"{\"long\":\"account\", \"short\":\"a\", \"arg\":\"string\" \"default\":\"\", \"help\":\"A username:password string to create a new account with.\"}"));
conf.addOption("uplink", JSON::fromString("{\"default\":\"\", \"arg\":\"string\", \"help\":\"MistSteward uplink host and port.\", \"short\":\"U\", \"long\":\"uplink\"}"));
conf.addOption("uplink-name", JSON::fromString("{\"default\":\"" COMPILED_USERNAME "\", \"arg\":\"string\", \"help\":\"MistSteward uplink username.\", \"short\":\"N\", \"long\":\"uplink-name\"}"));
conf.addOption("uplink-pass", JSON::fromString("{\"default\":\"" COMPILED_PASSWORD "\", \"arg\":\"string\", \"help\":\"MistSteward uplink password.\", \"short\":\"P\", \"long\":\"uplink-pass\"}"));
conf.addOption("uplink",
JSON::fromString(
"{\"default\":\"\", \"arg\":\"string\", \"help\":\"MistSteward uplink host and port.\", \"short\":\"U\", \"long\":\"uplink\"}"));
conf.addOption("uplink-name",
JSON::fromString(
"{\"default\":\"" COMPILED_USERNAME "\", \"arg\":\"string\", \"help\":\"MistSteward uplink username.\", \"short\":\"N\", \"long\":\"uplink-name\"}"));
conf.addOption("uplink-pass",
JSON::fromString(
"{\"default\":\"" COMPILED_PASSWORD "\", \"arg\":\"string\", \"help\":\"MistSteward uplink password.\", \"short\":\"P\", \"long\":\"uplink-pass\"}"));
conf.parseArgs(argc, argv);
std::string account = conf.getString("account");
@ -178,7 +184,8 @@ int main(int argc, char ** argv){
if (colon != std::string::npos && colon != 0 && colon != uplink_addr.size()){
uplink_host = uplink_addr.substr(0, colon);
uplink_port = atoi(uplink_addr.substr(colon + 1, std::string::npos).c_str());
Controller::Log("CONF", "Connection to uplink enabled on host " + uplink_host + " and port " + uplink_addr.substr(colon + 1, std::string::npos));
Controller::Log("CONF",
"Connection to uplink enabled on host " + uplink_host + " and port " + uplink_addr.substr(colon + 1, std::string::npos));
}
}