Mercurial > hg > orthanc
diff OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp @ 3945:0b3256c3ee14 transcoding
simplified IDicomTranscoder
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 19 May 2020 11:24:00 +0200 |
parents | b26d25d3c1c7 |
children | 5fe8c6d3212e |
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp Tue May 19 10:17:06 2020 +0200 +++ b/OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp Tue May 19 11:24:00 2020 +0200 @@ -130,13 +130,19 @@ if (transcode) { - std::string transcoded; + IDicomTranscoder::DicomImage source; + source.AcquireParsed(*modified); // "modified" is invalid below this point + + IDicomTranscoder::DicomImage transcoded; bool hasSopInstanceUidChanged; - if (context.TranscodeParsedToBuffer(transcoded, hasSopInstanceUidChanged, - modified->GetDcmtkObject(), targetSyntax, true)) + std::set<DicomTransferSyntax> s; + s.insert(targetSyntax); + + if (context.Transcode(transcoded, hasSopInstanceUidChanged, source, s, true)) { - call.GetOutput().AnswerBuffer(transcoded, MimeType_Dicom); + call.GetOutput().AnswerBuffer(transcoded.GetBufferData(), + transcoded.GetBufferSize(), MimeType_Dicom); } else {