drm/ave/drm.cpp
/**
 * @brief Release all active DRM instances
 */
@brief Release all active DRM instances
@brief Release all active DRM instances
void AveDrmManager::ReleaseAll()
{
	logprintf("[%s]Releasing AveDrmManager of size=%d \n",__FUNCTION__,sAveDrmManager.size());
	std::vector<AveDrmManager*>::iterator iter;
	pthread_mutex_lock(&aveDrmManagerMutex);
	for (iter = sAveDrmManager.begin(); iter != sAveDrmManager.end();)
	{
		AveDrmManager* aveDrmManager = *iter;
		aveDrmManager->mDrm->Release();
		aveDrmManager->Reset();
		delete aveDrmManager;
		iter = sAveDrmManager.erase(iter);
	}
	pthread_mutex_unlock(&aveDrmManagerMutex);
}
void AveDrmManager :: ReleaseAll ( ) { logprintf ( " \n " , __FUNCTION__ , sAveDrmManager . size ( ) ) ; std :: vector < AveDrmManager * > :: iterator iter ; pthread_mutex_lock ( & aveDrmManagerMutex ) ; for ( iter = sAveDrmManager . begin ( ) ; iter != sAveDrmManager . end ( ) ; ) { AveDrmManager * aveDrmManager = * iter ; aveDrmManager -> mDrm -> Release ( ) ; aveDrmManager -> Reset ( ) ; delete aveDrmManager ; iter = sAveDrmManager . erase ( iter ) ; } pthread_mutex_unlock ( & aveDrmManagerMutex ) ; }
@brief Release all active DRM instances
@brief Release all active DRM instances
// Only called from Stop of fragment collector of hls , mutex protection  // added for calling 