您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ IsOnGMPThread函数代码示例

51自学网 2021-06-01 21:42:06
  C++
这篇教程C++ IsOnGMPThread函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中IsOnGMPThread函数的典型用法代码示例。如果您正苦于以下问题:C++ IsOnGMPThread函数的具体用法?C++ IsOnGMPThread怎么用?C++ IsOnGMPThread使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了IsOnGMPThread函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: MOZ_ASSERT

voidGMPVideoDecoder::DrainComplete(){  MOZ_ASSERT(IsOnGMPThread());  mDrainPromise.ResolveIfExists(mDecodedData, __func__);  mDecodedData.Clear();}
开发者ID:fitzgen,项目名称:gecko-dev,代码行数:7,


示例2: MOZ_ASSERT

voidGMPAudioDecoder::GMPInitDone(GMPAudioDecoderProxy* aGMP){  MOZ_ASSERT(IsOnGMPThread());  if (!aGMP) {    mInitPromise.RejectIfExists(MediaDataDecoder::DecoderFailureReason::INIT_ERROR, __func__);    return;  }  if (mInitPromise.IsEmpty()) {    // GMP must have been shutdown while we were waiting for Init operation    // to complete.    aGMP->Close();    return;  }  nsTArray<uint8_t> codecSpecific;  codecSpecific.AppendElements(mConfig.mCodecSpecificConfig->Elements(),                               mConfig.mCodecSpecificConfig->Length());  nsresult rv = aGMP->InitDecode(kGMPAudioCodecAAC,                                 mConfig.mChannels,                                 mConfig.mBitDepth,                                 mConfig.mRate,                                 codecSpecific,                                 mAdapter);  if (NS_FAILED(rv)) {    aGMP->Close();    mInitPromise.Reject(MediaDataDecoder::DecoderFailureReason::INIT_ERROR, __func__);    return;  }  mGMP = aGMP;  mInitPromise.Resolve(TrackInfo::kAudioTrack, __func__);}
开发者ID:MekliCZ,项目名称:positron,代码行数:34,


示例3: MOZ_ASSERT

voidAudioCallbackAdapter::ResetComplete(){  MOZ_ASSERT(IsOnGMPThread());  mMustRecaptureAudioPosition = true;  mCallback->FlushComplete();}
开发者ID:rgaiacs,项目名称:gecko-dev,代码行数:7,


示例4: MOZ_ASSERT

voidCDMProxy::gmp_Init(nsAutoPtr<InitData>&& aData){  MOZ_ASSERT(IsOnGMPThread());  nsCOMPtr<mozIGeckoMediaPluginService> mps =    do_GetService("@mozilla.org/gecko-media-plugin-service;1");  if (!mps) {    RejectPromise(aData->mPromiseId, NS_ERROR_DOM_INVALID_STATE_ERR,                  NS_LITERAL_CSTRING("Couldn't get MediaPluginService in CDMProxy::gmp_Init"));    return;  }  // Make a copy before we transfer ownership of aData to the  // gmp_InitGetGMPDecryptorCallback.  InitData data(*aData);  UniquePtr<GetNodeIdCallback> callback(    new gmp_InitGetGMPDecryptorCallback(this, Move(aData)));  nsresult rv = mps->GetNodeId(data.mOrigin,                               data.mTopLevelOrigin,                               data.mGMPName,                               data.mInPrivateBrowsing,                               Move(callback));  if (NS_FAILED(rv)) {    RejectPromise(data.mPromiseId, NS_ERROR_DOM_INVALID_STATE_ERR,                  NS_LITERAL_CSTRING("Call to GetNodeId() failed early"));  }}
开发者ID:NAndreasson,项目名称:cowl-patches,代码行数:28,


示例5: MOZ_ASSERT

nsresultEMEAudioDecoder::GmpInit(){  MOZ_ASSERT(IsOnGMPThread());  nsTArray<nsCString> tags;  tags.AppendElement(NS_LITERAL_CSTRING("aac"));  tags.AppendElement(NS_ConvertUTF16toUTF8(mProxy->KeySystem()));  nsresult rv = mMPS->GetGMPAudioDecoder(&tags,                                         mProxy->GetNodeId(),                                         &mGMP);  NS_ENSURE_SUCCESS(rv, rv);  MOZ_ASSERT(mGMP);  mAudioRate = mConfig.samples_per_second;  mAudioBytesPerSample = mConfig.bits_per_sample / 8;  mAudioChannels = mConfig.channel_count;  nsTArray<uint8_t> extraData;  extraData.AppendElements(&mConfig.audio_specific_config[0],                           mConfig.audio_specific_config.length());  mGMP->InitDecode(kGMPAudioCodecAAC,                   mAudioChannels,                   mConfig.bits_per_sample,                   mAudioRate,                   extraData,                   this);  return NS_OK;}
开发者ID:dirkschulze,项目名称:gecko-dev,代码行数:31,


示例6: MOZ_ASSERT

voidGMPVideoDecoder::Input(MediaRawData* aSample){  MOZ_ASSERT(IsOnGMPThread());  RefPtr<MediaRawData> sample(aSample);  if (!mGMP) {    mCallback->Error(MediaResult(NS_ERROR_DOM_MEDIA_FATAL_ERR,                                 RESULT_DETAIL("mGMP not initialized")));    return;  }  mAdapter->SetLastStreamOffset(sample->mOffset);  GMPUniquePtr<GMPVideoEncodedFrame> frame = CreateFrame(sample);  if (!frame) {    mCallback->Error(MediaResult(NS_ERROR_OUT_OF_MEMORY,                                 RESULT_DETAIL("CreateFrame returned null")));    return;  }  nsTArray<uint8_t> info; // No codec specific per-frame info to pass.  nsresult rv = mGMP->Decode(Move(frame), false, info, 0);  if (NS_FAILED(rv)) {    mCallback->Error(MediaResult(NS_ERROR_DOM_MEDIA_DECODE_ERR,                                 RESULT_DETAIL("mGMP->Decode:%x", rv)));  }}
开发者ID:philbooth,项目名称:gecko-dev,代码行数:27,


示例7: MOZ_ASSERT

nsresultGMPAudioDecoder::Init(){  MOZ_ASSERT(IsOnGMPThread());  mMPS = do_GetService("@mozilla.org/goanna-media-plugin-service;1");  MOZ_ASSERT(mMPS);  nsTArray<nsCString> tags;  InitTags(tags);  nsresult rv = mMPS->GetGMPAudioDecoder(&tags, GetNodeId(), &mGMP);  NS_ENSURE_SUCCESS(rv, rv);  MOZ_ASSERT(mGMP);  nsTArray<uint8_t> codecSpecific;  codecSpecific.AppendElements(mConfig.audio_specific_config->Elements(),                               mConfig.audio_specific_config->Length());  rv = mGMP->InitDecode(kGMPAudioCodecAAC,                        mConfig.channel_count,                        mConfig.bits_per_sample,                        mConfig.samples_per_second,                        codecSpecific,                        mAdapter);  NS_ENSURE_SUCCESS(rv, rv);  return NS_OK;}
开发者ID:Antonius32,项目名称:Pale-Moon,代码行数:28,


示例8: MOZ_ASSERT

nsresultEMEH264Decoder::Flush(){  MOZ_ASSERT(!IsOnGMPThread()); // Runs on the decode task queue.  MOZ_ASSERT(!mIsShutdown);  {    MonitorAutoLock mon(mMonitor);    mFlushComplete = false;  }  nsRefPtr<nsIRunnable> task;  task = NS_NewRunnableMethod(this, &EMEH264Decoder::GmpFlush);  nsresult rv = mGMPThread->Dispatch(task, NS_DISPATCH_NORMAL);  NS_ENSURE_SUCCESS(rv, rv);  {    MonitorAutoLock mon(mMonitor);    while (!mFlushComplete) {      mon.Wait();    }  }  return NS_OK;}
开发者ID:Standard8,项目名称:gecko-dev,代码行数:25,


示例9: MOZ_ASSERT

voidCDMProxy::gmp_Decrypted(uint32_t aId,                        GMPErr aResult,                        const nsTArray<uint8_t>& aDecryptedData){  MOZ_ASSERT(IsOnGMPThread());  for (size_t i = 0; i < mDecryptionJobs.Length(); i++) {    DecryptJob* job = mDecryptionJobs[i];    if (job->mId == aId) {      if (aDecryptedData.Length() != job->mSample->size) {        NS_WARNING("CDM returned incorrect number of decrypted bytes");      }      if (GMP_SUCCEEDED(aResult)) {        PodCopy(job->mSample->data,                aDecryptedData.Elements(),                std::min<size_t>(aDecryptedData.Length(), job->mSample->size));        job->mClient->Decrypted(GMPNoErr, job->mSample.forget());      } else if (aResult == GMPNoKeyErr) {        NS_WARNING("CDM returned GMPNoKeyErr");        // We still have the encrypted sample, so we can re-enqueue it to be        // decrypted again once the key is usable again.        job->mClient->Decrypted(GMPNoKeyErr, job->mSample.forget());      } else {        nsAutoCString str("CDM returned decode failure GMPErr=");        str.AppendInt(aResult);        NS_WARNING(str.get());        job->mClient->Decrypted(aResult, nullptr);      }      mDecryptionJobs.RemoveElementAt(i);      return;    }  }  NS_WARNING("GMPDecryptorChild returned incorrect job ID");}
开发者ID:rgaiacs,项目名称:gecko-dev,代码行数:34,


示例10: MOZ_ASSERT

voidEMEH264Decoder::Terminated(){  MOZ_ASSERT(IsOnGMPThread());  NS_WARNING("H.264 GMP decoder terminated.");  GmpShutdown();}
开发者ID:andrenatal,项目名称:gecko-dev,代码行数:8,


示例11: MOZ_ASSERT

voidCDMProxy::gmp_Terminated(){  MOZ_ASSERT(IsOnGMPThread());  EME_LOG("CDM terminated");  if (mCDM) {    mCDM->Close();    mCDM = nullptr;  }}
开发者ID:chenhequn,项目名称:gecko,代码行数:10,



注:本文中的IsOnGMPThread函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ IsOne函数代码示例
C++ IsOnFire函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。