}
}
- media::MediaAccessId MediaSet::getMediaAccessId (media::MediaNr medianr)
+ media::MediaAccessId MediaSet::getMediaAccessId (media::MediaNr medianr, bool noattach)
{
media::MediaManager media_mgr;
if (medias.find(medianr) != medias.end())
{
media::MediaAccessId id = medias[medianr];
- if (! media_mgr.isAttached(id))
+ if (! noattach && ! media_mgr.isAttached(id))
media_mgr.attach(id);
return id;
}
WAR << "Verifier not found" << endl;
}
medias[medianr] = id;
- media_mgr.attach(id);
+
+ if (! noattach)
+ media_mgr.attach(id);
+
return id;
}
MediaSet(const Source_Ref & source_r);
/** Get the media access ID to specified media */
- media::MediaAccessId getMediaAccessId (media::MediaNr medianr);
+ media::MediaAccessId getMediaAccessId (media::MediaNr medianr, bool no_attach = false);
/** Redirect specified media to a new MediaId */
void redirect (media::MediaNr medianr, media::MediaAccessId media_id);
/** Reset the handles to the medias */
MIL << "Vendor: " << _vendor << endl;
MIL << "Media ID: " << _media_id << endl;
- media::MediaAccessId _media = _media_set->getMediaAccessId(1);
+ // get media ID, but not attaching
+ media::MediaAccessId _media = _media_set->getMediaAccessId(1, true);
media_mgr.delVerifier(_media);
media_mgr.addVerifier(_media, media::MediaVerifierRef(
new SourceImpl::Verifier (_vendor, _media_id) ));