本文整理汇总了C++中MetaData::copy方法的典型用法代码示例。如果您正苦于以下问题:C++ MetaData::copy方法的具体用法?C++ MetaData::copy怎么用?C++ MetaData::copy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MetaData
的用法示例。
在下文中一共展示了MetaData::copy方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runtime_error
int32_t
Property :: setProperty(void *aContext, IMetaData* aValuesToSet, IMetaData* aValuesNotFound)
{
int32_t retval =-1;
AVDictionary *tmp = 0;
MetaData* valuesToSet = dynamic_cast<MetaData*>(aValuesToSet);
MetaData* valuesNotFound = dynamic_cast<MetaData*>(aValuesNotFound);
AVDictionary *orig = valuesToSet ? valuesToSet->getDictionary() : 0;
try {
if (!aContext)
throw std::runtime_error("no context passed in");
if (orig)
av_dict_copy(&tmp, orig, 0);
// try setting the values.
retval = av_opt_set_dict(aContext, &tmp);
if (retval < 0)
throw std::runtime_error("failed to set options on context");
if (valuesNotFound)
retval = valuesNotFound->copy(tmp);
av_dict_free(&tmp);
retval = 0;
} catch (std::exception &e) {
av_dict_free(&tmp);
retval = -1;
}
return retval;
}
示例2: setMetaData
void
Stream :: setMetaData(IMetaData * copy)
{
MetaData* data = dynamic_cast<MetaData*>(getMetaData());
if (data) {
data->copy(copy);
// release for the get above
data->release();
}
return;
}