Changeset - f8d62b4af830
[Not reviewed]
new-reader
0 1 0
Hasan Yavuz Ă–ZDERYA - 10 years ago 2016-05-29 17:03:18
hy@ozderya.net
added log message for missing sync byte
1 file changed with 4 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/framedreader.cpp
Show inline comments
 
@@ -198,48 +198,52 @@ void FramedReader::onFrameSizeChanged(un
 
    checkSettings();
 
    reset();
 
}
 

	
 
void FramedReader::onDataReady()
 
{
 
    if (settingsInvalid) return;
 

	
 
    // loop until we run out of bytes or more bytes is required
 
    unsigned bytesAvailable;
 
    while ((bytesAvailable = _device->bytesAvailable()))
 
    {
 
        if (!gotSync) // read sync word
 
        {
 
            char c;
 
            _device->getChar(&c);
 
            if (c == syncWord[sync_i]) // correct sync byte?
 
            {
 
                sync_i++;
 
                if (sync_i == (unsigned) syncWord.length())
 
                {
 
                    gotSync = true;
 
                }
 
            }
 
            else
 
            {
 
                if (debugModeEnabled) qCritical() << "Missed " << sync_i+1 << "th sync byte.";
 
            }
 
        }
 
        else if (hasSizeByte && !gotSize) // skipped if fixed frame size
 
        {
 
            frameSize = 0;
 
            _device->getChar((char*) &frameSize);
 

	
 
            if (frameSize == 0) // check size
 
            {
 
                qCritical() << "Frame size is 0!";
 
                reset();
 
            }
 
            else if (frameSize % (_numOfChannels * sampleSize) != 0)
 
            {
 
                qCritical() <<
 
                    QString("Frame size is not multiple of %1 (#channels * sample size)!") \
 
                    .arg(_numOfChannels * sampleSize);
 
                reset();
 
            }
 
            else
 
            {
 
                if (debugModeEnabled) qDebug() << "Frame size:" << frameSize;
 
                gotSize = true;
 
            }
 
        }
0 comments (0 inline, 0 general)