Support Request #3042
closedWrong print of float values in Media Description Display since ADTF 2.14.1
Description
Supportanfrage
Ich habe ein seltsamer Verhalten bei dem ADTF-Beispiel-Filter "demo_media_description_display".
Verhalten:
Beim Anzeigen der Float-Werte im description-Display wird etwas komisches angezeigt (geringere Werte), scheinbar genau ¼ von dem was eigentlich sein sollte.
In der ADTF-Version 2.14.0 funktioniert alles einwandfrei
In der ADTF-Version 2.14.1 tritt das Problem auf
Meine Analyse:
In der Datei
<ADTF_DIR>\src\examples\src\filters\demo_media_description_display\desc_display_filter.cpp
Zeile 860 & 871
In Version: 2.14.0:
[860] strItemText = cString::FromFloat64(tFloat64(*pf32Val));
[871] strItemText = cString::FromFloat64(tFloat64(*pf64Val));
In Version 2.14.1
[896] strItemText = cString::Format(m_strFormatFloat.GetPtr(), tFloat64((*pf32Val)/2));
[907] strItemText = cString::Format(m_strFormatFloat.GetPtr(), tFloat64((*pf64Val)/4));
WARUM wird be idem Float64 Value durch 4 geteilt ...
Ist das ein anwender Fehler von mir? Ich habe den Property-Wert für "strFormatFloat" auf dem Default gelassen, aber warum wird der gelesene Wert durch 4 geteilt? (bzw. bei float32 durch 2 geteilt). Hat das einen Hintergrund?
Lösung
Ich finde nach langen Überlegen keine logische Erklärung, wir werden das wieder rückgängig machen (ACORE-9580).
Workaround bis dahin:
Reverted die beiden Codezeilen im Example