Exemple #1
0
//Checks length first and then take length stats
void getStats(struct reads *r, struct stats *s) {

        if ((r->r1).r_len < minLen && (r->r2).r_header == NULL) {
                (s->se_discarded)++;
                (r->r1).r_header = NULL;
                return;
        } else if ((r->r1).r_len < minLen) {
                (s->r1_discarded)++;
                (r->r1).r_header = NULL;
                (r->r2).r_header = NULL;
                return;
        }

        if ((r->r2).r_header != NULL && (r->r2).r_len < minLen) {
                (s->r2_discarded)++;
                (r->r1).r_header = NULL;
                (r->r2).r_header = NULL;
                 return;
        }


        if ((r->r1).r_header != NULL) {
                if ((r->r1).r_len == -1) {
                    return;
                }

                readStats(r->r1, s);

                if ((r->r2).r_header != NULL) {
                    ((s->R1_length)[(r->r1).r_len])++;
                } else {
                    ((s->SE_length)[(r->r1).r_len])++;
                }
        }

        if ((r->r2).r_header != NULL) {
                if ((r->r2).r_len == -1) {
                    return;
                }
                readStats(r->r2, s);
                if ((r->r1).r_header != NULL) {
                    ((s->R2_length)[(r->r2).r_len])++;
                } else {
                    ((s->SE_length)[(r->r2).r_len])++;
                }
        }

}
Exemple #2
0
int main(int argc, char* argv[])
{
	size_t rx_bytes, rx_bytes_2, tx_bytes, tx_bytes_2, speed;

	if(readStats(&rx_bytes, "eth0", RX_BYTES))
		printf("RX_BYTES = %lu B = %lf MiB\n", rx_bytes, (double)rx_bytes/MiB);

	if(readStats(&tx_bytes, "eth0", TX_BYTES))
		printf("TX_BYTES = %lu B = %lf MiB\n", tx_bytes, (double)tx_bytes/MiB);

	if(readStats(&speed, "eth0", SPEED)) {
		printf("SPEED = %lu Mbits/s\n\n", speed);
	}

	while(1)
	{
		readStats(&rx_bytes, "eth0", RX_BYTES);
		readStats(&tx_bytes, "eth0", TX_BYTES);
		sleep(1);
		readStats(&rx_bytes_2, "eth0", RX_BYTES);
		readStats(&tx_bytes_2, "eth0", TX_BYTES);
		
		// Mesure de la bande passante
		size_t bandwidth_down = (rx_bytes_2 - rx_bytes);
		size_t bandwidth_up = (tx_bytes_2 - tx_bytes);
		
		printf("Traffic actuel bande passante :\n"
			"\ttéléchargement : %f KiB/s\n"
			"\tenvoi : %f KiB/s\n",
			((double) bandwidth_down / KiB), ((double) bandwidth_up / KiB));
	}
		
	return 0;
}
Exemple #3
0
void Connection::update()
{
	while(bytesAvailable()) {
		QDataStream s(this);
		if (packetSize<0) {
			if (bytesAvailable()<4) break;
			s>>packetSize;
//			if (packetSize>1<<20) //qDebug()<<"big packet"<<packetSize;
		}
		if (bytesAvailable()<packetSize) break;
//		//qDebug()<<"packet size"<<packetSize;
		packetSize=-1;
		quint8 type;
		s>>type;
//		//qDebug()<<"available: "<<type;
		switch(type) {
			case MSG_INITIAL:
				readInitial(s);
				break;
			case MSG_STATE:
				readState(s);
				break;
			case MSG_SHOOT:
				readShoot(s);
				break;
			case MSG_HIT:
				readHit(s);
				break;
			case MSG_ENEMY:
			    readEnemy(s);
			    break;
			case MSG_ITEM:
			    readItem(s);
			    break;
			case MSG_GET:
				readGet(s);
				break;
			case MSG_DIE:
				for(int i=0; i<engine.bulletCounts.size(); ++i) engine.bulletCounts[i]=0;
				player->weapon = 1;
				break;
			case MSG_LIGHTNING:
				readLightning(s);
				break;
			case MSG_STATS:
				readStats(s);
				break;
			case MSG_CHAT:
			    readChat(s);
			    break;
			default:
				//qDebug()<<type;
				abort();
		}
		++packetCount;
	}
}
Exemple #4
0
StringHost::StringHost(NetworkInterface *_iface, char *_key, 
		       u_int16_t _family_id) : GenericHost(_iface) {
  keyname = strdup(_key), family_id = _family_id;
  /*
    Set to true if this host can be persistently
    written on disk
  */
  tracked_host = false;
  readStats();
}
Exemple #5
0
void PartitionIO<MeshType>::read (mesh_ptrtype& meshPart)
{
    meshPart.reset();
    M_meshPartIn.reset (new mesh_type);

    M_HDF5IO.openFile (M_fileName, M_comm, true);
    readStats();
    readPoints();
    readEdges();
    readFaces();
    readElements();
    M_HDF5IO.closeFile();

    meshPart = M_meshPartIn;
    M_meshPartIn.reset();
}
Exemple #6
0
StringHost::StringHost(NetworkInterface *_iface, char *_key, 
		       u_int16_t _family_id) : GenericHost(_iface) {
  keyname = strdup(_key), family_id = _family_id;

  /* Purify name */
  for(int i=0; keyname[i] != '\0'; i++)
    if((keyname[i] == '%')
       || (keyname[i] == '"')
       || (keyname[i] == '\''))
      keyname[i] = '_';
  /*
    Set to true if this host can be persistently
    written on disk
  */
  tracked_host = false, queriesReceived = 0;
  readStats();
}
Exemple #7
0
 int main ()
 {
 	//call functions
    int numPlyrs;
    int plyrInfo[MAXPLYRS][NUMCOLS] ;
    
    numPlyrs = readStats(plyrInfo) ;	
    
 	//check for successful read   
    if(numPlyrs != 0)
    {
       printHeaders() ;
       printPlayerPts(plyrInfo, numPlyrs) ;
       printTeamPts(plyrInfo, numPlyrs) ;
    }
 	
    return 0 ;
 }
Exemple #8
0
FileInformation::FileInformation (SignalServer* signalServer, const QString &FileName_, activefilters ActiveFilters_, activealltracks ActiveAllTracks_,
                                  int FrameCount) :
    FileName(FileName_),
    ActiveFilters(ActiveFilters_),
    ActiveAllTracks(ActiveAllTracks_),
    signalServer(signalServer),
    m_jobType(Parsing),
	streamsStats(NULL),
    formatStats(NULL),
    m_parsed(false),
    m_autoCheckFileUploaded(true),
    m_autoUpload(true),
    m_hasStats(false),
    m_commentsUpdated(false)
{
    static struct RegisterMetatypes {
        RegisterMetatypes() {
            qRegisterMetaType<SharedFile>("SharedFile");
        }
    } registerMetatypes;

    connect(this, SIGNAL(parsingCompleted(bool)), this, SLOT(parsingDone(bool)));

    QString StatsFromExternalData_FileName;
    bool StatsFromExternalData_FileName_IsCompressed=false;

    // Finding the right file names (both media file and stats file)

    static const QString dotQctoolsDotXmlDotGz = ".qctools.xml.gz";
    static const QString dotQctoolsDotXml = ".qctools.xml";
    static const QString dotXmlDotGz = ".xml.gz";
    static const QString dotQctoolsDotMkv = ".qctools.mkv";

    QByteArray attachment;

    if (FileName.endsWith(dotQctoolsDotXmlDotGz))
    {
        StatsFromExternalData_FileName=FileName;
        FileName.resize(FileName.length() - dotQctoolsDotXmlDotGz.length());
        StatsFromExternalData_FileName_IsCompressed=true;
    }
    else if (FileName.endsWith(dotQctoolsDotXml))
    {
        StatsFromExternalData_FileName=FileName;
        FileName.resize(FileName.length() - dotQctoolsDotXml.length());
    }
    else if (FileName.endsWith(dotXmlDotGz))
    {
        StatsFromExternalData_FileName=FileName;
        FileName.resize(FileName.length() - dotXmlDotGz.length());
        StatsFromExternalData_FileName_IsCompressed=true;
    }
    else if (FileName.endsWith(dotQctoolsDotMkv))
    {
        attachment = FFmpeg_Glue::getAttachment(FileName, StatsFromExternalData_FileName);
        FileName.resize(FileName.length() - dotQctoolsDotMkv.length());

        if(!QFile::exists(FileName)) {
            FileName = FileName + dotQctoolsDotMkv;
        }
    }

    if (StatsFromExternalData_FileName.size()==0)
    {
        if (QFile::exists(FileName + dotQctoolsDotXmlDotGz))
        {
            StatsFromExternalData_FileName=FileName + dotQctoolsDotXmlDotGz;
            StatsFromExternalData_FileName_IsCompressed=true;
        }
        else if (QFile::exists(FileName + dotQctoolsDotXml))
        {
            StatsFromExternalData_FileName=FileName + dotQctoolsDotXml;
        }
        else if (QFile::exists(FileName + dotXmlDotGz))
        {
            StatsFromExternalData_FileName=FileName + dotXmlDotGz;
            StatsFromExternalData_FileName_IsCompressed=true;
        }
        else if (QFile::exists(FileName + dotQctoolsDotMkv))
        {
            attachment = FFmpeg_Glue::getAttachment(FileName + dotQctoolsDotMkv, StatsFromExternalData_FileName);
        }
    }

    QString shortFileName;
    std::unique_ptr<QIODevice> StatsFromExternalData_File;

    if(attachment.isEmpty()) {
        QFileInfo fileInfo(StatsFromExternalData_FileName);
        shortFileName = fileInfo.fileName();
        StatsFromExternalData_File.reset(new QFile(StatsFromExternalData_FileName));
    } else {
        shortFileName = StatsFromExternalData_FileName;
        StatsFromExternalData_File.reset(new QBuffer(&attachment));
        StatsFromExternalData_FileName_IsCompressed = true;
    }

    // External data optional input
    bool StatsFromExternalData_IsOpen=StatsFromExternalData_File->open(QIODevice::ReadOnly);

    // Running FFmpeg
    string FileName_string=FileName.toUtf8().data();
    #ifdef _WIN32
        replace(FileName_string.begin(), FileName_string.end(), '/', '\\' );
    #endif
    string Filters[Type_Max];
    if (!StatsFromExternalData_IsOpen)
    {
        if (ActiveFilters[ActiveFilter_Video_signalstats])
            Filters[0]+=",signalstats=stat=tout+vrep+brng";
        if (ActiveFilters[ActiveFilter_Video_cropdetect])
            Filters[0]+=",cropdetect=reset=1:round=1";
        if (ActiveFilters[ActiveFilter_Video_Idet])
            Filters[0]+=",idet=half_life=1";
        if (ActiveFilters[ActiveFilter_Video_Deflicker])
            Filters[0]+=",deflicker=bypass=1";
        if (ActiveFilters[ActiveFilter_Video_Entropy])
            Filters[0]+=",entropy=mode=normal";
        if (ActiveFilters[ActiveFilter_Video_EntropyDiff])
            Filters[0]+=",entropy=mode=diff";
        if (ActiveFilters[ActiveFilter_Video_Psnr] && ActiveFilters[ActiveFilter_Video_Ssim])
        {
            Filters[0]+=",split[a][b];[a]field=top[a1];[b]field=bottom,split[b1][b2];[a1][b1]psnr[c1];[c1][b2]ssim";
        }
        else
        {
            if (ActiveFilters[ActiveFilter_Video_Psnr])
                Filters[0]+=",split[a][b];[a]field=top[a1];[b]field=bottom[b1];[a1][b1]psnr";
            if (ActiveFilters[ActiveFilter_Video_Ssim])
                Filters[0]+=",split[a][b];[a]field=top[a1];[b]field=bottom[b1];[a1][b1]ssim";
        }
        Filters[0].erase(0, 1); // remove first comma
        if (ActiveFilters[ActiveFilter_Audio_astats])
            Filters[1]+=",astats=metadata=1:reset=1:length=0.4";
        if (ActiveFilters[ActiveFilter_Audio_aphasemeter])
            Filters[1]+=",aphasemeter=video=0";
        if (ActiveFilters[ActiveFilter_Audio_EbuR128])
            Filters[1]+=",ebur128=metadata=1";
        Filters[1].erase(0, 1); // remove first comma
    }
    else
    {
        readStats(*StatsFromExternalData_File, StatsFromExternalData_FileName_IsCompressed);

        if(signalServer->enabled() && m_autoCheckFileUploaded)
        {
            checkFileUploaded(shortFileName);
        }
    }

    std::string fileName = FileName_string;
    if(fileName == "-")
        fileName = "pipe:0";

    Glue=new FFmpeg_Glue(fileName, ActiveAllTracks, &Stats, &streamsStats, &formatStats, Stats.empty());
    if (!FileName_string.empty() && Glue->ContainerFormat_Get().empty())
    {
        delete Glue;
        Glue=NULL;
        for (size_t Pos=0; Pos<Stats.size(); Pos++)
            Stats[Pos]->StatsFinish();
    }

    if (Glue)
    {
        Glue->AddOutput(0, 72, 72, FFmpeg_Glue::Output_Jpeg);
        Glue->AddOutput(1, 0, 0, FFmpeg_Glue::Output_Stats, 0, Filters[0]);
        Glue->AddOutput(0, 0, 0, FFmpeg_Glue::Output_Stats, 1, Filters[1]);
    }

    // Looking for the reference stream (video or audio)
    ReferenceStream_Pos=0;
    for (; ReferenceStream_Pos<Stats.size(); ReferenceStream_Pos++)
        if (Stats[ReferenceStream_Pos] && Stats[ReferenceStream_Pos]->Type_Get()==0)
            break;
    if (ReferenceStream_Pos>=Stats.size())
    {
        ReferenceStream_Pos = 0;
        for (; ReferenceStream_Pos<Stats.size(); ReferenceStream_Pos++)
            if (Stats[ReferenceStream_Pos] && Stats[ReferenceStream_Pos]->Type_Get()==1) //Audio
                break;
        if (ReferenceStream_Pos>=Stats.size())
            Stats.clear(); //Removing all, as we can not sync with video or audio
    }

    Frames_Pos=0;
    WantToStop=false;
    startParse();
}