Mercurial > hg > orthanc
changeset 7160:cb4bdda4c0af default tip
fix understimated memory in transcoder cache (only the DICOM header size was considered instead of the whole file size)
| author | Alain Mazy <am@orthanc.team> |
|---|---|
| date | Mon, 28 Sep 2026 15:37:02 +0200 |
| parents | c5e867a181e9 |
| children | |
| files | NEWS OrthancFramework/Sources/DataSource/TranscoderDataSource.cpp |
| diffstat | 2 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/NEWS Fri Sep 25 16:07:31 2026 +0200 +++ b/NEWS Mon Sep 28 15:37:02 2026 +0200 @@ -17,6 +17,10 @@ Maintenance ----------- +* Fixed a memory management issue related to the transcoder cache. The memory consumed by each + transcoded file was greatly under-estimated which could lead to out-of-memory crashes when + transcoding was used when downloading files/archive or during a C-Store. The transcoding + happening at ingest time was not affected by this issue. * Renamed the "DICOM conformance statement" of Orthanc as "DICOM conformance summary", as it is not a formal DICOM Conformance Statement in the sense of DICOM PS3.2, but only a summary of supported SOP Classes and Transfer Syntaxes (thanks Jörg Riesmeier).
--- a/OrthancFramework/Sources/DataSource/TranscoderDataSource.cpp Fri Sep 25 16:07:31 2026 +0200 +++ b/OrthancFramework/Sources/DataSource/TranscoderDataSource.cpp Mon Sep 28 15:37:02 2026 +0200 @@ -97,7 +97,7 @@ { assert(parsed_.get() != NULL); DcmFileFormat& f = parsed_->GetDcmtkObject(); - size_ = f.calcElementLength(f.getDataset()->getOriginalXfer(), EET_ExplicitLength); + size_ = f.calcElementLength(f.getDataset()->getCurrentXfer(), EET_ExplicitLength); } }
