Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Institute of Technical Acoustics (ITA)
VACore
Commits
53936af7
Commit
53936af7
authored
Dec 15, 2016
by
Jonas Stienen
Browse files
better handling of unsuccessful freeing of HRIR
parent
e86dd310
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/Data/VAHRIRManager.cpp
View file @
53936af7
...
...
@@ -88,24 +88,26 @@ int CVAHRIRManager::LoadHRIR(const std::string& sFilename, const std::string& sN
return
iHRIRID
;
}
bool
CVAHRIRManager
::
FreeHRIR
(
int
iHRIRID
)
{
VA_VERBOSE
(
"HRIRMan"
,
"FreeHRIR("
<<
iHRIRID
<<
")"
);
bool
CVAHRIRManager
::
FreeHRIR
(
int
iID
)
{
VA_VERBOSE
(
"VAHRIRManager"
,
"Freeing HRIR with ID "
<<
iID
);
// Prfen ob die ID gltig ist
int
iRefCount
=
m_ocHRIR
.
GetRefCount
(
i
HRIR
ID
);
int
iRefCount
=
m_ocHRIR
.
GetRefCount
(
iID
);
if
(
iRefCount
!=
0
)
{
if
(
iRefCount
!=
0
)
{
// Noch Referenzen vorhanden oder ungltige ID (-1)
VA_VERBOSE
(
"
HRIRMan"
,
"FreeHRIR failed, HRIR in use or invalid ID"
<<
i
HRIR
ID
<<
")"
);
VA_VERBOSE
(
"VA
HRIRMan
ager
"
,
"FreeHRIR failed, HRIR
still
in use
by a user
or invalid ID
"
<<
iID
<<
")"
);
return
false
;
}
// HRIR lschen
IVAHRIRDataset
*
pHRIR
=
m_ocHRIR
[
i
HRIR
ID
];
IVAHRIRDataset
*
pHRIR
=
m_ocHRIR
[
iID
];
delete
pHRIR
;
m_ocHRIR
.
Remove
(
i
HRIR
ID
);
m_ocHRIR
.
Remove
(
iID
);
VA_VERBOSE
(
"
HRIRMan"
,
"
Free
HRIR successful
"
);
VA_VERBOSE
(
"VA
HRIRMan
ager
"
,
"HRIR successful
ly cleared"
);
return
true
;
}
...
...
src/Rendering/Monaural/FreeField/VAMonauralFreeFieldAudioRenderer.cpp
View file @
53936af7
...
...
@@ -1184,6 +1184,8 @@ int CVAMonauralFreeFieldAudioRenderer::CallObject( const CVAStruct& oArgs, CVASt
if
(
oDir
.
Exists
()
==
false
)
oDir
.
CreateWithParentDirectories
();
m_sBaseFolder
=
sNewBaseFolder
;
VA_INFO
(
"VAMonauralFreeFieldAudioRenderer"
,
"Setting new base folder to '"
<<
m_sBaseFolder
<<
"'"
);
}
}
...
...
src/VACoreImpl.cpp
View file @
53936af7
...
...
@@ -1053,35 +1053,41 @@ int CVACoreImpl::LoadHRIRDataset(const std::string& sFilename,
}
VA_RETHROW
;
}
bool
CVACoreImpl
::
FreeHRIRDataset
(
int
iHRIRID
)
{
bool
CVACoreImpl
::
FreeHRIRDataset
(
int
iHRIRID
)
{
VA_NO_REENTRANCE
;
VA_CHECK_INITIALIZED
;
VA_TRY
{
bool
bSuccess
=
m_pHRIRMan
->
FreeHRIR
(
iHRIRID
);
assert
(
bSuccess
);
VA_TRY
{
if
(
!
m_pHRIRMan
->
FreeHRIR
(
iHRIRID
)
)
return
false
;
// Ereignis generieren, wenn Operation erfolgreich
CVACoreEvent
ev
;
ev
.
iEventType
=
CVACoreEvent
::
VA_COREEVENT_HRIR_FREED
;
ev
.
pSender
=
this
;
ev
.
iObjectID
=
iHRIRID
;
m_pCoreEventMan
->
BroadcastEvent
(
ev
);
m_pCoreEventMan
->
BroadcastEvent
(
ev
);
VA_INFO
(
"Core"
,
"FreeHRIRDataset successful, freed HRIR dataset "
<<
iHRIRID
);
VA_INFO
(
"Core"
,
"FreeHRIRDataset successful, freed HRIR dataset "
<<
iHRIRID
);
return
bSuccess
;
return
true
;
}
VA_RETHROW
;
}
VA_RETHROW
;
}
CVAHRIRInfo
CVACoreImpl
::
GetHRIRInfo
(
int
iHRIRID
)
const
{
CVAHRIRInfo
CVACoreImpl
::
GetHRIRInfo
(
int
iHRIRID
)
const
{
VA_NO_REENTRANCE
;
VA_CHECK_INITIALIZED
;
VA_TRY
{
return
m_pHRIRMan
->
GetHRIRInfo
(
iHRIRID
);
}
VA_RETHROW
;
VA_TRY
{
return
m_pHRIRMan
->
GetHRIRInfo
(
iHRIRID
);
}
VA_RETHROW
;
}
void
CVACoreImpl
::
GetHRIRInfos
(
std
::
vector
<
CVAHRIRInfo
>&
vhiDest
)
const
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment