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

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

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

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

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

示例1: AssertOwnerThread

voidVideoSink::RenderVideoFrames(int32_t aMaxFrames,                             int64_t aClockTime,                             const TimeStamp& aClockTimeStamp){  AssertOwnerThread();  AutoTArray<RefPtr<MediaData>,16> frames;  VideoQueue().GetFirstElements(aMaxFrames, &frames);  if (frames.IsEmpty() || !mContainer) {    return;  }  AutoTArray<ImageContainer::NonOwningImage,16> images;  TimeStamp lastFrameTime;  MediaSink::PlaybackParams params = mAudioSink->GetPlaybackParams();  for (uint32_t i = 0; i < frames.Length(); ++i) {    VideoData* frame = frames[i]->As<VideoData>();    frame->mSentToCompositor = true;    if (!frame->mImage || !frame->mImage->IsValid()) {      continue;    }    int64_t frameTime = frame->mTime;    if (frameTime < 0) {      // Frame times before the start time are invalid; drop such frames      continue;    }    TimeStamp t;    if (aMaxFrames > 1) {      MOZ_ASSERT(!aClockTimeStamp.IsNull());      int64_t delta = frame->mTime - aClockTime;      t = aClockTimeStamp +          TimeDuration::FromMicroseconds(delta / params.mPlaybackRate);      if (!lastFrameTime.IsNull() && t <= lastFrameTime) {        // Timestamps out of order; drop the new frame. In theory we should        // probably replace the previous frame with the new frame if the        // timestamps are equal, but this is a corrupt video file already so        // never mind.        continue;      }      lastFrameTime = t;    }    ImageContainer::NonOwningImage* img = images.AppendElement();    img->mTimeStamp = t;    img->mImage = frame->mImage;    img->mFrameID = frame->mFrameID;    img->mProducerID = mProducerID;    VSINK_LOG_V("playing video frame %lld (id=%x) (vq-queued=%i)",                frame->mTime, frame->mFrameID, VideoQueue().GetSize());  }  mContainer->SetCurrentFrames(frames[0]->As<VideoData>()->mDisplay, images);}
开发者ID:TheGuy82,项目名称:gecko-dev,代码行数:58,


示例2: AssertOwnerThread

voidAccurateSeekTask::CancelCallbacks(){  AssertOwnerThread();  mAudioCallback.DisconnectIfExists();  mVideoCallback.DisconnectIfExists();  mAudioWaitCallback.DisconnectIfExists();  mVideoWaitCallback.DisconnectIfExists();}
开发者ID:brendandahl,项目名称:positron,代码行数:9,


示例3: AssertOwnerThread

voidVideoSink::UpdateRenderedVideoFrames(){  AssertOwnerThread();  MOZ_ASSERT(mAudioSink->IsPlaying(), "should be called while playing.");  // Get the current playback position.  TimeStamp nowTime;  const int64_t clockTime = mAudioSink->GetPosition(&nowTime);  NS_ASSERTION(clockTime >= 0, "Should have positive clock time.");  // Skip frames up to the playback position.  int64_t lastDisplayedFrameEndTime = 0;  while (VideoQueue().GetSize() > mMinVideoQueueSize &&         clockTime >= VideoQueue().PeekFront()->GetEndTime()) {    RefPtr<MediaData> frame = VideoQueue().PopFront();    if (frame->As<VideoData>()->mSentToCompositor) {      lastDisplayedFrameEndTime = frame->GetEndTime();      mFrameStats.NotifyPresentedFrame();    } else {      mFrameStats.NotifyDecodedFrames({ 0, 0, 1 });      VSINK_LOG_V("discarding video frame mTime=%lld clock_time=%lld",                  frame->mTime, clockTime);    }  }  // The presentation end time of the last video frame displayed is either  // the end time of the current frame, or if we dropped all frames in the  // queue, the end time of the last frame we removed from the queue.  RefPtr<MediaData> currentFrame = VideoQueue().PeekFront();  mVideoFrameEndTime = std::max(mVideoFrameEndTime,    currentFrame ? currentFrame->GetEndTime() : lastDisplayedFrameEndTime);  MaybeResolveEndPromise();  RenderVideoFrames(mVideoQueueSendToCompositorSize, clockTime, nowTime);  // Get the timestamp of the next frame. Schedule the next update at  // the start time of the next frame. If we don't have a next frame,  // we will run render loops again upon incoming frames.  nsTArray<RefPtr<MediaData>> frames;  VideoQueue().GetFirstElements(2, &frames);  if (frames.Length() < 2) {    return;  }  int64_t nextFrameTime = frames[1]->mTime;  TimeStamp target = nowTime + TimeDuration::FromMicroseconds(    (nextFrameTime - clockTime) / mAudioSink->GetPlaybackParams().mPlaybackRate);  RefPtr<VideoSink> self = this;  mUpdateScheduler.Ensure(target, [self] () {    self->UpdateRenderedVideoFramesByTimer();  }, [self] () {    self->UpdateRenderedVideoFramesByTimer();  });}
开发者ID:subsevenx2001,项目名称:gecko-dev,代码行数:57,


示例4: AssertOwnerThread

voidAudioSinkWrapper::SetPlaybackRate(double aPlaybackRate){  AssertOwnerThread();  mParams.playbackRate = aPlaybackRate;  if (mAudioSink) {    mAudioSink->SetPlaybackRate(aPlaybackRate);  }}
开发者ID:sumitbh250,项目名称:gecko-dev,代码行数:9,


示例5: AssertOwnerThread

voidAudioSinkWrapper::SetVolume(double aVolume){  AssertOwnerThread();  mParams.mVolume = aVolume;  if (mAudioSink) {    mAudioSink->SetVolume(aVolume);  }}
开发者ID:MichaelKohler,项目名称:gecko-dev,代码行数:9,


示例6: AssertOwnerThread

voidSeekTask::RequestAudioData(){  AssertOwnerThread();  SAMPLE_LOG("Queueing audio task - queued=%i, decoder-queued=%o",             !!mSeekedAudioData, mReader->SizeOfAudioQueueInFrames());  mReader->RequestAudioData();}
开发者ID:ashie,项目名称:gecko-dev,代码行数:10,


示例7: AssertOwnerThread

voidSeekTask::RejectIfExist(const char* aCallSite){  AssertOwnerThread();  SeekTaskRejectValue val;  val.mIsAudioQueueFinished = mIsAudioQueueFinished;  val.mIsVideoQueueFinished = mIsVideoQueueFinished;  mSeekTaskPromise.RejectIfExists(val, aCallSite);}
开发者ID:brendandahl,项目名称:positron,代码行数:11,



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


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