MCPcopy Create free account
hub / github.com/Snapchat/Valdi / addAssetLoadObserver

Method addAssetLoadObserver

valdi/src/valdi/runtime/Resources/AssetsManager.cpp:196–221  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194}
195
196void AssetsManager::addAssetLoadObserver(const AssetKey& assetKey,
197 const Shared<snap::valdi_core::AssetLoadObserver>& observer,
198 const Ref<Context>& context,
199 snap::valdi_core::AssetOutputType outputType,
200 int32_t preferredWidth,
201 int32_t preferredHeight,
202 const Value& attachedData) {
203 auto guard = lock();
204
205 auto managedAsset = getOrCreateManagedAsset(assetKey);
206
207 auto consumer = managedAsset->addConsumer();
208 consumer->setContext(context);
209 consumer->setObserver(observer);
210 consumer->setOutputType(outputType);
211 consumer->setPreferredWidth(preferredWidth);
212 consumer->setPreferredHeight(preferredHeight);
213 consumer->setAttachedData(attachedData);
214
215 if (managedAsset->getState() == AssetStateFailedRetryable) {
216 // Retry the resolving now that we have a new consumer
217 managedAsset->setState(AssetStateInitial);
218 }
219
220 scheduleAssetUpdate(std::move(guard), assetKey);
221}
222
223void AssetsManager::removeAssetLoadObserver(const AssetKey& assetKey,
224 const std::shared_ptr<snap::valdi_core::AssetLoadObserver>& observer) {

Callers

nothing calls this directly

Calls 9

addConsumerMethod · 0.80
setObserverMethod · 0.80
setOutputTypeMethod · 0.80
setPreferredWidthMethod · 0.80
setPreferredHeightMethod · 0.80
getStateMethod · 0.65
setContextMethod · 0.45
setAttachedDataMethod · 0.45
setStateMethod · 0.45

Tested by

no test coverage detected