Support Request #388
closed
Function Write(cADTFDataBlock *pBlock) returns undocumented error -18 (ERR_NO_CLASS)
Added by hidden about 7 years ago.
Updated about 7 years ago.
Requester's Priority:
Normal
Topic:
StreamingLib::Writer
Description
Supportanfrage:
Die o.g. Funktion bringt bei ca. 100 Datenblöcken den Fehler -18 (ERR_NO_CLASS), welcher in der Doku für diese Fkt. nicht gelistet ist.
Was ist der Grund für diesen Fehler?
Lösung:
Der Fehlerfall kann leider mit den gegebenen Anhaltspunkten nicht nachgestellt werden.
Vermutlich liegt der Fehler an korrupten Sequenzen innerhalb des verwendeten DAT-Files.
- Subject changed from Funktion Write(cADTFDataBlock *pBlock) bringt Fehlercode -18 to Function Write(cADTFDataBlock *pBlock) returns undocumented error -18 (ERR_NO_CLASS)
- Topic set to StreamingLib::Writer
- Support Level changed from 2nd Level to 3rd Level
- Status changed from New to Customer Feedback Required
An den Anwender:¶
Hallo Gerd,
wie ruft ihr die Methode write(cADTFDataBlock *pBlock) bzw. was sind die Übergabeparameter?
Auf den ersten Blick sehe ich im Code nur das evtl. was mit dem setzten bzw. verarbeiten von Media Descriptions zu tun haben kann.
Hallo Stephan,
der Code sieht etwa so aus. Mit den betreffenden Datenblöcken wird nichts weiter gemacht,
sie werden nur vom Reader zum Writer 1:1 weitergereicht.....
cADTFDataBlock* l_pDataBlock = nullptr;
m_datFileReader_p->Seek(0);
while (IS_OK(m_datFileReader_p->Read(&l_pDataBlock))) // Iterate over all data blocks (this means independent of which stream they belong to)
{
...
// Write complete data block (takes timestamps etc. from orig. file)
l_Result = m_datFileWriter_p->Write(l_pDataBlock);
if (ERR_NOERROR != l_Result)
{
m_outBuffer = m_outBuffer.Format("Error writing non video data block: %i", l_Result);
outputLogEntry(LOG_SOURCE_COMPRESSION_TOOL, LOG_CLASS_ERROR, m_outBuffer);
return false;
}
}
An den Anwender:¶
Hallo Gerd,
ich kann eueren Fehlerfall leider mit den Anhaltspunkten aus deinem Codesnippet nicht nachstellen.
So wie ich euer snippet verstehe, iteriert ihr über alle Datenblöcke einer eingelesenen DAT-File ohne dabei zu unterscheiden in welchem Stream sie liegen oder ob die nötigen Codec Infos vorhanden sind, richtig?
Bist du dir sicher, das der Error code -18 vom Writer zurückgegeben wird, und nicht vom Reader?
Denn im Falle des Readers ist es auf jedenfall dokumentiert das dieser Error code zurückgegeben werden kann:
-> LoadMediaDescriptionForDATFile(<DATFILE>);
Hallo Stephan,
ja, der Fehler kommt definitiv vom Writer! Evtl. kann ich wieder ein Beispiel-DAT schicken.
Es ist vermutlich wieder eine "exotische" Sequenz, die da Probleme macht?! Der große Rest
funktioniert ja. Falls man keinen klaren Grund nennen kann, dann belassen wir es dabei....
Gruß Gerd
An den Anwender:¶
Hallo Gerd,
falls das Problem auch mit der DAT-File "RVX13EKB_20140708_105520.dat" von der letzten Supportanfrage auftritt, könnte ich es damit nachstellen.
Dazu benötige ich dann nur noch von dir einen lauffähigen source code mit dem der Fehlerfall reproduzierbar ist.
Kannst du das prüfen? Das wäre womöglich die einfachste Lösung.
Hallo Stephan,
nein, das ist ein anderes DAT!
Falls der Fehler nochmal auftritt, dann melde ich mich wieder...
An den Anwender:¶
Bitte um Rückmeldung zu den offenen Punkten bzw. Feedback zum Ticketstatus bzw. der Erwartungshaltung.
Dann bitte schließen (public), wenn es keine weiteren Infos/Lösung gibt.
- Project changed from 5 to Public Support
- Description updated (diff)
- Status changed from Customer Feedback Required to To Be Closed
- Private changed from Yes to No
- Resolution set to Solved Issue
@Florian, Ticket kann geschlossen werden.
- Status changed from To Be Closed to Closed
Also available in: Atom
PDF