{
try
{
- media::MediaManager manager;
- for ( const auto & mm : _medias )
- manager.close( mm.second );
+ release();
}
catch(...) {} // don't let exception escape a dtor.
}
struct ProvideFileOperation
{
Pathname result;
- ByteCount expectedFileSize;
void operator()( media::MediaAccessId media, const Pathname &file )
{
media::MediaManager media_mgr;
- media_mgr.provideFile(media, file, expectedFileSize);
+ media_mgr.provideFile(media, file);
result = media_mgr.localPath(media, file);
}
};
Pathname MediaSetAccess::provideFile( const OnMediaLocation & resource, ProvideFileOptions options, const Pathname &deltafile )
{
ProvideFileOperation op;
- op.expectedFileSize = resource.downloadSize();
provide( boost::ref(op), resource, options, deltafile );
return op.result;
}
media_nr,
_label,
reason,
- excp.asUserString(),
+ excp.asUserHistory(),
devices,
devindex
);
media::MediaAccessId MediaSetAccess::getMediaAccessId (media::MediaNr medianr)
{
- media::MediaManager media_mgr;
-
- if (_medias.find(medianr) != _medias.end())
+ if ( _medias.find( medianr ) != _medias.end() )
{
- media::MediaAccessId id = _medias[medianr];
- return id;
+ return _medias[medianr];
}
- Url url;
- url = rewriteUrl (_url, medianr);
- media::MediaAccessId id = media_mgr.open(url, _prefAttachPoint);
+
+ Url url( medianr > 1 ? rewriteUrl( _url, medianr ) : _url );
+ media::MediaManager media_mgr;
+ media::MediaAccessId id = media_mgr.open( url, _prefAttachPoint );
_medias[medianr] = id;
try
{
- if (_verifiers.find(medianr) != _verifiers.end())
+ if ( _verifiers.find(medianr) != _verifiers.end() )
{
// a verifier is set for this media
// FIXME check the case where the verifier exists
// but we have no access id for the media
- media::MediaAccessId id = _medias[medianr];
- media::MediaManager media_mgr;
- media_mgr.delVerifier(id);
+ media_mgr.delVerifier( id );
media_mgr.addVerifier( id, _verifiers[medianr] );
// remove any saved verifier for this media
- _verifiers.erase(medianr);
+ _verifiers.erase( medianr );
}
}
catch ( const Exception &e )