8#ifndef META_OCEAN_MEDIA_MF_UTILITIES_H
9#define META_OCEAN_MEDIA_MF_UTILITIES_H
23namespace MediaFoundation
45 inline bool operator()(
const GUID& object0,
const GUID& object1)
const;
51 using IdMap = std::map<GUID, std::string, GUIDCompare>;
193 template <
typename T>
202 template <
typename T>
246 ocean_assert(
sizeof(object0) ==
sizeof(uint64_t) * 2);
248 const uint64_t* value0 = (
const uint64_t*)(&object0);
249 const uint64_t* value1 = (
const uint64_t*)(&object1);
251 return value0[0] < value1[0] || (value0[0] == value1[0] && value0[1] < value1[1]);
262 if (S_OK == node->GetObject(&
object.resetObject()))
264 object->QueryInterface(IID_PPV_ARGS(&result.
resetObject()));
273 ocean_assert(mediaEvent);
276 PropVariantInit(&variant);
280 if (S_OK == mediaEvent->GetValue(&variant))
282 variant.punkVal->QueryInterface(__uuidof(T), (
void**)(&result.
resetObject()));
285 PropVariantClear(&variant);
PixelFormat
Definition of all pixel formats available in the Ocean framework.
Definition Frame.h:183
This class wraps an unmanaged object (or reference) which needs to be released after usage.
Definition ScopedObject.h:166
T & resetObject(const bool needsRelease=true)
Releases the current wrapped object and returns a new wrapped object.
Definition ScopedObject.h:488
The namespace covering the entire Ocean framework.
Definition Accessor.h:15