2
0
forked from Ivasoft/DSView

fix: parallel protocol lose the last annotation

This commit is contained in:
dreamsourcelabTAI
2022-04-02 16:56:08 +08:00
parent 3c80e7fd65
commit a6bf666aae
6 changed files with 145 additions and 42 deletions

View File

@@ -508,11 +508,12 @@ void DecoderStack::decode_data(const uint64_t decode_start, const uint64_t decod
char *error = NULL;
bool bError = false;
bool bEndTime = false;
//struct srd_push_param push_param;
if( i >= decode_end){
qDebug()<<"decode data index have been end:"<<i;
}
while(i < decode_end && !_no_memory && !status->m_bStop)
{
std::vector<const uint8_t *> chunk;
@@ -521,6 +522,7 @@ void DecoderStack::decode_data(const uint64_t decode_start, const uint64_t decod
for (int j =0 ; j < logic_di->dec_num_channels; j++) {
int sig_index = logic_di->dec_channelmap[j];
if (sig_index == -1) {
chunk.push_back(NULL);
chunk_const.push_back(0);
@@ -534,6 +536,7 @@ void DecoderStack::decode_data(const uint64_t decode_start, const uint64_t decod
}
}
}
if (chunk_end > decode_end)
chunk_end = decode_end;
if (chunk_end - i > MaxChunkSize)
@@ -574,7 +577,10 @@ void DecoderStack::decode_data(const uint64_t decode_start, const uint64_t decod
// the task is normal ends,so all samples was processed;
if (!bError && bEndTime){
srd_session_end(session, &error);
if (error)
_error_message = QString::fromLocal8Bit(error);
}
qDebug()<<"send to decoder times:"<<entry_cnt;