Name Description Size Coverage
CreateCoder.cpp #ifdef EXTERNAL_CODECS extern CExternalCodecs g_ExternalCodecs; #define CHECK_GLOBAL_CODECS \ if (!__externalCodecs || !__externalCodecs->IsSet()) __externalCodecs = &g_ExternalCodecs; #endif 13042 -
CreateCoder.h if EXTERNAL_CODECS is not defined, the code supports only codecs that are statically linked at compile-time and link-time. if EXTERNAL_CODECS is defined, the code supports also codecs from another executable modules, that can be linked dynamically at run-time: - EXE module can use codecs from external DLL files. - DLL module can use codecs from external EXE and DLL files. CExternalCodecs contains information about codecs and interfaces to create them. The order of codecs: 1) Internal codecs 2) External codecs 5233 -
CWrappers.cpp ---------- CByteInBufWrap ---------- 5918 -
CWrappers.h 2159 -
FilePathAutoRename.cpp 986 -
FilePathAutoRename.h 197 -
FileStreams.cpp 11134 -
FileStreams.h 3650 -
FilterCoder.cpp AES filters need 16-bytes alignment for HARDWARE-AES instructions. So we call IFilter::Filter(, size), where (size != 16 * N) only for last data block. AES-CBC filters need data size aligned for 16-bytes. So the encoder can add zeros to the end of original stream. Some filters (BCJ and others) don't process data at the end of stream in some cases. So the encoder and decoder write such last bytes without change. 9542 -
FilterCoder.h 6401 -
InBuffer.cpp if ((size_t)(_bufLim - _buf) >= size) { const Byte *src = _buf; for (size_t i = 0; i < size; i++) buf[i] = src[i]; _buf += size; return size; } for (size_t i = 0; i < size; i++) { if (_buf >= _bufLim) if (!ReadBlock()) return i; buf[i] = *_buf++; } return size; 3029 -
InBuffer.h 2075 -
InOutTempBuffer.cpp STDMETHODIMP CSequentialOutTempBufferImp::Write(const void *data, UInt32 size, UInt32 *processed) { if (!_buf->Write(data, size)) { if (processed) processed = 0; return E_FAIL; } if (processed) processed = size; return S_OK; } 2690 -
InOutTempBuffer.h class CSequentialOutTempBufferImp: public ISequentialOutStream, public CMyUnknownImp { CInOutTempBuffer *_buf; public: void Init(CInOutTempBuffer *buffer) { _buf = buffer; } MY_UNKNOWN_IMP STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize); }; 1017 -
LimitedStreams.cpp 9521 -
LimitedStreams.h 6125 -
LockedStream.cpp 44 -
LockedStream.h 85 -
MethodId.cpp 40 -
MethodId.h 145 -
MethodProps.cpp 11712 -
MethodProps.h 7023 -
OffsetStream.cpp 982 -
OffsetStream.h 553 -
OutBuffer.cpp 2168 -
OutBuffer.h 1380 -
ProgressUtils.cpp 1087 -
ProgressUtils.h 707 -
PropId.cpp 1442 -
RegisterArc.h 2620 -
RegisterCodec.h 3304 -
StdAfx.h 101 -
StreamBinder.cpp _canWrite_Event.Lock(); if (_readingWasClosed) _readingWasClosed2 = true; 3828 -
StreamBinder.h We don't use probably UNSAFE version: reader thread: _canWrite_Event.Set(); _readingWasClosed = true _canWrite_Event.Set(); writer thread: _canWrite_Event.Wait() if (_readingWasClosed) Can second call of _canWrite_Event.Set() be executed without memory barrier, if event is already set? 1414 -
StreamObjects.cpp 7288 -
StreamObjects.h 4313 -
StreamUtils.cpp 1638 -
StreamUtils.h 463 -
UniqBlocks.cpp 1260 -
UniqBlocks.h 547 -
VirtThread.cpp 842 -
VirtThread.h 587 -