# HG changeset patch # User Sebastien Jodogne # Date 1589309299 -7200 # Node ID 74eeadf5d51d4b662145197f1655bff5065fe32d # Parent f6ccff28fbed1b3a38300d5a4d4f0f9f224e9266 fix access to compressed frames after transcoding diff -r f6ccff28fbed -r 74eeadf5d51d Core/DicomParsing/FromDcmtkBridge.cpp --- a/Core/DicomParsing/FromDcmtkBridge.cpp Tue May 12 19:21:52 2020 +0200 +++ b/Core/DicomParsing/FromDcmtkBridge.cpp Tue May 12 20:48:19 2020 +0200 @@ -1299,9 +1299,9 @@ { DicomTransferSyntax sourceSyntax; bool known = LookupOrthancTransferSyntax(sourceSyntax, dicom); - - if (!dicom.getDataset()->chooseRepresentation(xfer, representation).good() || - !dicom.getDataset()->canWriteXfer(xfer) || + + if (!dicom.chooseRepresentation(xfer, representation).good() || + !dicom.canWriteXfer(xfer) || !dicom.validateMetaInfo(xfer, EWM_updateMeta).good()) { return false; @@ -1780,9 +1780,13 @@ } DcmPixelData& pixelData = dynamic_cast(*element); + + E_TransferSyntax repType; + const DcmRepresentationParameter *repParam = NULL; + pixelData.getCurrentRepresentationKey(repType, repParam); + DcmPixelSequence* pixelSequence = NULL; - if (!pixelData.getEncapsulatedRepresentation - (dataset.getCurrentXfer(), NULL, pixelSequence).good()) + if (!pixelData.getEncapsulatedRepresentation(repType, repParam, pixelSequence).good()) { return NULL; }