|
|
| dloneranger |
| Posted: Jan 24 2011, 02:11 AM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
Re conversation in http://forums.virtualdub.org/index.php?act...=ST&f=5&t=19620
(Virtualdub test version, with force single buffer option)
After resizing so large that it causes out of memory errors there's a problem with access violation errors One place I tracked down is in FilterFrameConverter.cpp
| CODE | void VDFilterFrameConverter::EndFrame(bool success) { VDASSERT(!mbRequestPending);
if (mpRequest) { VDFilterFrameBuffer *srcbuf = mpRequest->GetSource(0); VDFilterFrameBuffer *dstbuf = mpRequest->GetResultBuffer();
//crashes here //dstbuf is null, srcbuf is valid dstbuf->Unlock(); srcbuf->Unlock();
mpRequest->MarkComplete(success); CompleteRequest(mpRequest, success); mpRequest = NULL; } }
|
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| dloneranger |
| Posted: Jan 24 2011, 02:41 AM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
Another place is in FilterInstance.cpp
| CODE | void FilterInstance::StopInner() { if (filter->endProc) { VDExternalCodeBracket bracket(mFilterName.c_str(), __FILE__, __LINE__); vdprotected1("stopping filter \"%s\"", const char *, filter->name) {
VDFilterThreadContextSwapper autoSwap(&mThreadContext);
//crash here, access violation filter->endProc(AsVDXFilterActivation(), &g_VDFilterCallbacks); } }
if (mpAccelContext) { mpVDXA = NULL; mpAccelContext->Release(); mpAccelContext = NULL; } } |
and an assert fails in
| CODE | void FilterInstance::EndFrame() { if (!mbRequestFrameCompleted) return;
//assert fails here VDASSERT(mpRequestInProgress);
|
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
|