6 #include "../../IStream.h"
7 #include "../../IPassword.h"
9 #include "../Common/CoderMixer2.h"
10 #include "../Common/CoderMixer2MT.h"
12 #include "../Common/CoderMixer2ST.h"
15 #include "../../Common/CreateCoder.h"
22 struct CBindInfoEx: public NCoderMixer::CBindInfo
24 CRecordVector<CMethodId> CoderMethodIDs;
28 CoderMethodIDs.Clear();
34 bool _bindInfoExPrevIsDefined;
35 CBindInfoEx _bindInfoExPrev;
39 NCoderMixer::CCoderMixer2ST *_mixerCoderSTSpec;
41 NCoderMixer::CCoderMixer2MT *_mixerCoderMTSpec;
42 NCoderMixer::CCoderMixer2 *_mixerCoderCommon;
44 CMyComPtr<ICompressCoder2> _mixerCoder;
45 CObjectVector<CMyComPtr<IUnknown> > _decoders;
46 // CObjectVector<CMyComPtr<ICompressCoder2> > _decoders2;
48 CDecoder(bool multiThread);
50 DECL_EXTERNAL_CODECS_LOC_VARS
53 const UInt64 *packSizes,
54 const CFolder &folder,
55 ISequentialOutStream *outStream,
56 ICompressProgressInfo *compressProgress
58 , ICryptoGetTextPassword *getTextPasswordSpec
61 , bool mtMode, UInt32 numThreads