Support Request #147
closedMethod ExtractEDSDataFromDAT returns error code -11 (ERR_INVALID_FILE)
Description
Supportanfrage:
Hallo,
die Funktion “ExtractEDSDataFromDAT” bringt Fehler -11 (Invalid File),
wenn man ein DAT, welches mit ADTF 2.13.3 aufgenommen wurde,
mit der StreamingLib 2.9.0 entpacken möchte.
Lösung:
Die Methode ExtractEDSDataFromDAT(strFilename, strDesDir, 0)
liefert ERR_INVALID_FILE
(-11) im Fehlerfall zurück, falls keine EDS extension in der DAT-File enthalten sind.
Uns ist ein Fehler in der Doku aufgefallen, das die Methode noch andere Rückgabewerte haben sollte, aber immer nur -11 ERR_INVALID_FILE
zurückgibt.
Für diesen Fehler habe ich das Produktticket http://km-aev.in.audi.vwg/redmine/issues/38011 erstellt.
Files
Related issues
Updated by hidden about 7 years ago
- Status changed from New to In Progress
- Topic set to StreamingLib::Common
- Affected Products ADTF 2.13.3 added
- Affected Products deleted (
ADTF 2.13.2)
An den Anwender:¶
Hallo Gerd,
wie verwendest du die Funktion ExtractEDSDataFromDAT?
Wir benötigen deine DAT-File um das Problem nachzustellen.
In welchem Aufnahmemodus wurde das DAT-File mit ADTF 2.13.3 aufgenommen?
Updated by hidden about 7 years ago
- Status changed from In Progress to Customer Feedback Required
Updated by hidden about 7 years ago
- File hd_play.png hd_play.png added
- File hd_rec.png hd_rec.png added
Hallo Stephan,
zur Config, siehe die PNGs.
Muss man da evtl. spezielle Einstellungen im HD_Recorder machen,
um zwischen DATs von ADTF 2.13.x und der StreamingLib (2.9.0) kompatibel zu sein?
Das betreffende DAT hat eine Größe von 1.11 GB ?!
Hier der Code, der mit "alten" DATs bisher problemlos funktioniert hat:
bool CSeqCompressionTool::extractEDS()
{
bool l_Return = true;
tResult l_Result = ERR_NOERROR;
l_Result = m_datFileReader_p->ExtractEDSDataFromDAT(m_sourceDatFile.c_str(), m_EDS_ExtractionPath.toStdString().c_str(), 0L);
if (IS_FAILED(l_Result))
{
m_outBuffer = m_outBuffer.Format("Failed to extract EDS data: Result = %i", l_Result);
outputLogEntry(LOG_SOURCE_COMPRESSION_TOOL, LOG_CLASS_ERROR, m_outBuffer);
l_Return = false;
}
return l_Return;
}
Gruß Gerd
Updated by hidden about 7 years ago
Habe eben festgestellt, dass das neue DAT gar keine EDS-Dateien im neuen DAT enthalten sind.
Klar, die kopiert ja niemand für mich!!!
Evtl. kommt deshalb der Fehler -11 (Invalid File)?! Ist das korrekt, oder muss ich das "durchlassen",
da es ja DATs ohne EDS-Dateien geben kann?
Updated by hidden about 7 years ago
- Product Issue Numbers set to http://km-aev.in.audi.vwg/redmine/issues/38011
- Support Level changed from 2nd Level to 3rd Level
An den Anwender:¶
Hallo Gerd,
die Methode ExtractEDSDataFromDAT(strFilename, strDesDir, 0) liefert ERR_INVALID_FILE (-11) im Fehlerfall zurück, falls keine EDS extensions in der DAT-File enthalten sind.
Uns ist ein Fehler in der Doku aufgefallen, das die Methode noch andere Rückgabewerte haben soll, aber immer nur -11 ERR_INVALID_FILE zurückgibt.
Diesen Fehler werde ich im Produktticket http://km-aev.in.audi.vwg/redmine/issues/38011 erstellt.
Damit sollte dieses Ticket abgeschlossen sein.
Wenn das Ticket für dich abgeschlossen ist, bitte noch die Frage, ob wir das Ticket im öffentlichen Supportprojekt für alle angemeldeten ADTF User und Firmen sichtbar machen dürfen, falls ähnliche Probleme auftreten, oder die Daten zu sensibel sind und BOSCH exklusiv bleiben sollen ?
Updated by hidden about 7 years ago
Da bleibt noch die Frage, auf welche Rückgaqbewerte ich abprüfen soll, wenn da
bei "leeren" DATs immer -11 zurückkommt, was ja vorkommen kann. Nach aktuellem
Stand muss ich -11 jetzt "durchlassen", oder?
Eigentlich müsste da bei einem leeren DAT ERR_UNEXPECTED zurückkommen?!
Ja, kann öffentlich gemacht werden.
Mein Code sähe dann so aus, korrekt?
bool CSeqCompressionTool::extractEDS()
{
bool l_Return = true;
tResult l_Result = ERR_NOERROR;
l_Result = m_datFileReader_p->ExtractEDSDataFromDAT(m_sourceDatFile.c_str(), m_EDS_ExtractionPath.toStdString().c_str(), 0L);
if (IS_FAILED(l_Result) && (ERR_INVALID_FILE != l_Result))
{
m_outBuffer = m_outBuffer.Format("Failed to extract EDS data: Result = %i", l_Result);
outputLogEntry(LOG_SOURCE_COMPRESSION_TOOL, LOG_CLASS_ERROR, m_outBuffer);
l_Return = false;
}
return l_Return;
}
Updated by hidden about 7 years ago
Habe das Kopieren der EDS Dateien jetzt über das Kopieren der beiden Extensions "Store Actual Config" und "Store_Actual_Config2" gelöst.
Es funktioniert und macht den gesamten Code sogar noch übersichtlicher und einfacher.
Ticket kann (öffentlich) geschlossen werden, danke.
Updated by hidden about 7 years ago
- 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 Product Issue Opened
@Florian, Ticket kann geschlossen werden.
Updated by hidden about 7 years ago
- Description updated (diff)
- Status changed from To Be Closed to Closed
Updated by hidden about 7 years ago
- Subject changed from Die Funktion “ExtractEDSDataFromDAT” bringt Fehler -11 to Method ExtractEDSDataFromDAT returns error code -11 (ERR_INVALID_FILE)
- Topic changed from StreamingLib::Common to StreamingLib::Reader
Updated by hidden about 7 years ago
- Related to Support Request #253: ExtractEDSDataFromDAT() does not work for EDS data which can be extracted in Project Tree added