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

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

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

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

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

示例1: mon

boolAudioCallbackDriver::OSXDeviceSwitchingWorkaround(){    MonitorAutoLock mon(GraphImpl()->GetMonitor());    if (mSelfReference) {        // Apparently, depending on the osx version, on device switch, the        // callback is called "some" number of times, and then stops being called,        // and then gets called again. 10 is to be safe, it's a low-enough number        // of milliseconds anyways (< 100ms)        //STREAM_LOG(LogLevel::Debug, ("Callbacks during switch: %d", mCallbackReceivedWhileSwitching+1));        if (mCallbackReceivedWhileSwitching++ >= 10) {            STREAM_LOG(LogLevel::Debug, ("Got %d callbacks, switching back to CallbackDriver", mCallbackReceivedWhileSwitching));            // If we have a self reference, we have fallen back temporarily on a            // system clock driver, but we just got called back, that means the osx            // audio backend has switched to the new device.            // Ask the graph to switch back to the previous AudioCallbackDriver            // (`this`), and when the graph has effectively switched, we can drop            // the self reference and unref the SystemClockDriver we fallen back on.            if (GraphImpl()->CurrentDriver() == this) {                mSelfReference.Drop(this);                mNextDriver = nullptr;            } else {                GraphImpl()->CurrentDriver()->SwitchAtNextIteration(this);            }        }        return true;    }    return false;}
开发者ID:bitwiseworks,项目名称:mozilla-os2,代码行数:31,


示例2: Message

voidAudioNodeStream::SetChannelMixingParameters(uint32_t aNumberOfChannels,                                            ChannelCountMode aChannelCountMode,                                            ChannelInterpretation aChannelInterpretation){  class Message final : public ControlMessage  {  public:    Message(AudioNodeStream* aStream,            uint32_t aNumberOfChannels,            ChannelCountMode aChannelCountMode,            ChannelInterpretation aChannelInterpretation)      : ControlMessage(aStream),        mNumberOfChannels(aNumberOfChannels),        mChannelCountMode(aChannelCountMode),        mChannelInterpretation(aChannelInterpretation)    {}    void Run() override    {      static_cast<AudioNodeStream*>(mStream)->        SetChannelMixingParametersImpl(mNumberOfChannels, mChannelCountMode,                                       mChannelInterpretation);    }    uint32_t mNumberOfChannels;    ChannelCountMode mChannelCountMode;    ChannelInterpretation mChannelInterpretation;  };  GraphImpl()->AppendMessage(MakeUnique<Message>(this, aNumberOfChannels,                                                 aChannelCountMode,                                                 aChannelInterpretation));}
开发者ID:Wafflespeanut,项目名称:gecko-dev,代码行数:32,


示例3: Message

voidAudioNodeStream::SetStreamTimeParameter(uint32_t aIndex, AudioContext* aContext,                                        double aStreamTime){  class Message : public ControlMessage {  public:    Message(AudioNodeStream* aStream, uint32_t aIndex, MediaStream* aRelativeToStream,            double aStreamTime)      : ControlMessage(aStream), mStreamTime(aStreamTime),        mRelativeToStream(aRelativeToStream), mIndex(aIndex) {}    virtual void Run()    {      static_cast<AudioNodeStream*>(mStream)->          SetStreamTimeParameterImpl(mIndex, mRelativeToStream, mStreamTime);    }    double mStreamTime;    MediaStream* mRelativeToStream;    uint32_t mIndex;  };  MOZ_ASSERT(this);  GraphImpl()->AppendMessage(new Message(this, aIndex,      aContext->DestinationStream(),      aContext->DOMTimeToStreamTime(aStreamTime)));}
开发者ID:JuannyWang,项目名称:gecko-dev,代码行数:25,


示例4: Message

voidAudioNodeStream::SendTimelineEvent(uint32_t aIndex,                                   const AudioTimelineEvent& aEvent){  class Message final : public ControlMessage  {  public:    Message(AudioNodeStream* aStream, uint32_t aIndex,            const AudioTimelineEvent& aEvent)      : ControlMessage(aStream),        mEvent(aEvent),        mSampleRate(aStream->SampleRate()),        mIndex(aIndex)    {}    virtual void Run() override    {      static_cast<AudioNodeStream*>(mStream)->Engine()->          RecvTimelineEvent(mIndex, mEvent);    }    AudioTimelineEvent mEvent;    TrackRate mSampleRate;    uint32_t mIndex;  };  GraphImpl()->AppendMessage(new Message(this, aIndex, aEvent));}
开发者ID:Nazi-Nigger,项目名称:gecko-dev,代码行数:25,


示例5: Message

voidAudioNodeStream::SetTimelineParameter(uint32_t aIndex,                                      const AudioParamTimeline& aValue){  class Message final : public ControlMessage  {  public:    Message(AudioNodeStream* aStream, uint32_t aIndex,            const AudioParamTimeline& aValue)      : ControlMessage(aStream),        mValue(aValue),        mSampleRate(aStream->SampleRate()),        mIndex(aIndex)    {}    virtual void Run() override    {      static_cast<AudioNodeStream*>(mStream)->Engine()->          SetTimelineParameter(mIndex, mValue, mSampleRate);    }    AudioParamTimeline mValue;    TrackRate mSampleRate;    uint32_t mIndex;  };  GraphImpl()->AppendMessage(new Message(this, aIndex, aValue));}
开发者ID:paulmadore,项目名称:luckyde,代码行数:25,


示例6: GraphImpl

voidAudioNodeStream::CheckForInactive(){  if (((mActiveInputCount > 0 || mEngine->IsActive()) &&       !mMarkAsFinishedAfterThisBlock) ||      !mIsActive) {    return;  }  mIsActive = false;  mInputChunks.Clear(); // not required for foreseeable future  for (auto& chunk : mLastChunks) {    chunk.SetNull(WEBAUDIO_BLOCK_SIZE);  }  if (!(mFlags & EXTERNAL_OUTPUT)) {    GraphImpl()->IncrementSuspendCount(this);  }  if (IsAudioParamStream()) {    return;  }  for (const auto& consumer : mConsumers) {    AudioNodeStream* ns = consumer->GetDestination()->AsAudioNodeStream();    if (ns) {      ns->DecrementActiveInputCount();    }  }}
开发者ID:Nazi-Nigger,项目名称:gecko-dev,代码行数:28,


示例7: message

voidAudioNodeStream::ScheduleCheckForInactive(){  if (mActiveInputCount > 0 && !mMarkAsFinishedAfterThisBlock) {    return;  }  nsAutoPtr<CheckForInactiveMessage> message(new CheckForInactiveMessage(this));  GraphImpl()->RunMessageAfterProcessing(Move(message));}
开发者ID:Nazi-Nigger,项目名称:gecko-dev,代码行数:10,


示例8: GraphImpl

voidAudioNodeStream::ScheduleCheckForInactive(){  if (mActiveInputCount > 0 && !mMarkAsFinishedAfterThisBlock) {    return;  }  auto message = MakeUnique<CheckForInactiveMessage>(this);  GraphImpl()->RunMessageAfterProcessing(Move(message));}
开发者ID:Wafflespeanut,项目名称:gecko-dev,代码行数:10,


示例9: Run

  virtual void Run() override  {    auto ns = static_cast<AudioNodeStream*>(mStream);    ns->mBufferStartTime -= mAdvance;    StreamBuffer::Track* track = ns->EnsureTrack(AUDIO_TRACK);    track->Get<AudioSegment>()->AppendNullData(mAdvance);    ns->GraphImpl()->DecrementSuspendCount(mStream);  }
开发者ID:Nazi-Nigger,项目名称:gecko-dev,代码行数:10,


示例10: Message

voidAudioCaptureStream::Start(){    class Message : public ControlMessage {    public:        explicit Message(AudioCaptureStream* aStream)            : ControlMessage(aStream), mStream(aStream) {}        virtual void Run()        {            mStream->mStarted = true;        }    protected:        AudioCaptureStream* mStream;    };    GraphImpl()->AppendMessage(MakeUnique<Message>(this));}
开发者ID:frap129,项目名称:hyperfox,代码行数:18,


示例11: Message

voidAudioNodeStream::SetTimelineParameter(uint32_t aIndex,                                      const AudioEventTimeline<ErrorResult>& aValue){  class Message : public ControlMessage {  public:    Message(AudioNodeStream* aStream, uint32_t aIndex,            const AudioEventTimeline<ErrorResult>& aValue)      : ControlMessage(aStream), mValue(aValue), mIndex(aIndex) {}    virtual void Run()    {      static_cast<AudioNodeStream*>(mStream)->Engine()->          SetTimelineParameter(mIndex, mValue);    }    AudioEventTimeline<ErrorResult> mValue;    uint32_t mIndex;  };  GraphImpl()->AppendMessage(new Message(this, aIndex, aValue));}
开发者ID:TelefonicaPushServer,项目名称:mozilla-central,代码行数:19,


示例12: MOZ_ASSERT

  void TrackUnionStream::CopyTrackData(StreamBuffer::Track* aInputTrack,                     uint32_t aMapIndex, GraphTime aFrom, GraphTime aTo,                     bool* aOutputTrackFinished)  {    TrackMapEntry* map = &mTrackMap[aMapIndex];    StreamBuffer::Track* outputTrack = mBuffer.FindTrack(map->mOutputTrackID);    MOZ_ASSERT(outputTrack && !outputTrack->IsEnded(), "Can't copy to ended track");    MediaSegment* segment = map->mSegment;    MediaStream* source = map->mInputPort->GetSource();    GraphTime next;    *aOutputTrackFinished = false;    for (GraphTime t = aFrom; t < aTo; t = next) {      MediaInputPort::InputInterval interval = map->mInputPort->GetNextInputInterval(t);      interval.mEnd = std::min(interval.mEnd, aTo);      StreamTime inputEnd = source->GraphTimeToStreamTime(interval.mEnd);      StreamTime inputTrackEndPoint = STREAM_TIME_MAX;      if (aInputTrack->IsEnded() &&          aInputTrack->GetEnd() <= inputEnd) {        inputTrackEndPoint = aInputTrack->GetEnd();        *aOutputTrackFinished = true;      }      if (interval.mStart >= interval.mEnd) {        break;      }      StreamTime ticks = interval.mEnd - interval.mStart;      next = interval.mEnd;      StreamTime outputStart = outputTrack->GetEnd();      if (interval.mInputIsBlocked) {        // Maybe the input track ended?        segment->AppendNullData(ticks);        STREAM_LOG(LogLevel::Verbose, ("TrackUnionStream %p appending %lld ticks of null data to track %d",                   this, (long long)ticks, outputTrack->GetID()));      } else if (InMutedCycle()) {        segment->AppendNullData(ticks);      } else {        if (GraphImpl()->StreamSuspended(source)) {          segment->AppendNullData(aTo - aFrom);        } else {          MOZ_ASSERT(outputTrack->GetEnd() == GraphTimeToStreamTime(interval.mStart),                     "Samples missing");          StreamTime inputStart = source->GraphTimeToStreamTime(interval.mStart);          segment->AppendSlice(*aInputTrack->GetSegment(),                               std::min(inputTrackEndPoint, inputStart),                               std::min(inputTrackEndPoint, inputEnd));        }      }      ApplyTrackDisabling(outputTrack->GetID(), segment);      for (uint32_t j = 0; j < mListeners.Length(); ++j) {        MediaStreamListener* l = mListeners[j];        l->NotifyQueuedTrackChanges(Graph(), outputTrack->GetID(),                                    outputStart, 0, *segment);      }      outputTrack->GetSegment()->AppendFrom(segment);    }  }
开发者ID:ShakoHo,项目名称:gecko-dev,代码行数:61,


示例13: MOZ_ASSERT

voidAudioCallbackDriver::Init(){    cubeb_stream_params params;    uint32_t latency;    MOZ_ASSERT(!NS_IsMainThread(),               "This is blocking and should never run on the main thread.");    mSampleRate = params.rate = CubebUtils::PreferredSampleRate();#if defined(__ANDROID__)#if defined(MOZ_B2G)    params.stream_type = CubebUtils::ConvertChannelToCubebType(mAudioChannel);#else    params.stream_type = CUBEB_STREAM_TYPE_MUSIC;#endif    if (params.stream_type == CUBEB_STREAM_TYPE_MAX) {        NS_WARNING("Bad stream type");        return;    }#else    (void)mAudioChannel;#endif    params.channels = mGraphImpl->AudioChannelCount();    if (AUDIO_OUTPUT_FORMAT == AUDIO_FORMAT_S16) {        params.format = CUBEB_SAMPLE_S16NE;    } else {        params.format = CUBEB_SAMPLE_FLOAT32NE;    }    if (cubeb_get_min_latency(CubebUtils::GetCubebContext(), params, &latency) != CUBEB_OK) {        NS_WARNING("Could not get minimal latency from cubeb.");        return;    }    cubeb_stream* stream;    if (cubeb_stream_init(CubebUtils::GetCubebContext(), &stream,                          "AudioCallbackDriver", params, latency,                          DataCallback_s, StateCallback_s, this) == CUBEB_OK) {        mAudioStream.own(stream);    } else {        NS_WARNING("Could not create a cubeb stream for MediaStreamGraph, falling back to a SystemClockDriver");        // Fall back to a driver using a normal thread.        mNextDriver = new SystemClockDriver(GraphImpl());        mNextDriver->SetGraphTime(this, mIterationStart, mIterationEnd);        mGraphImpl->SetCurrentDriver(mNextDriver);        DebugOnly<bool> found = mGraphImpl->RemoveMixerCallback(this);        NS_WARN_IF_FALSE(!found, "Mixer callback not added when switching?");        mNextDriver->Start();        return;    }    cubeb_stream_register_device_changed_callback(mAudioStream,            AudioCallbackDriver::DeviceChangedCallback_s);    StartStream();    STREAM_LOG(LogLevel::Debug, ("AudioCallbackDriver started."));}
开发者ID:bitwiseworks,项目名称:mozilla-os2,代码行数:61,



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


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