美文网首页
webrtc taskqueue 应用1

webrtc taskqueue 应用1

作者: Ed_Lannister | 来源:发表于2022-07-14 09:18 被阅读0次

申明queue和工厂成员

    static std::unique_ptr<rtc::TaskQueue> task_queue1_;
    static std::unique_ptr<rtc::TaskQueue> task_queue2_;
    static webrtc::TaskQueueFactory * task_queue_factory_;

初始化工厂和队列

        //get default queue factory
        std::unique_ptr<webrtc::TaskQueueFactory> task_queue_factory_default_ = webrtc::CreateDefaultTaskQueueFactory();
        task_queue_factory_ = task_queue_factory_default_.get();
        //set up task queue
        RTC_CHECK(task_queue_factory_);
        if (!task_queue1_) {
            RTC_LOG(LS_INFO) << "Webrtc CreateTaskQueue";
            task_queue1_ =
                    std::make_unique<rtc::TaskQueue>(task_queue_factory_->CreateTaskQueue(
                            "convert1_thread", webrtc::TaskQueueFactory::Priority::HIGH));
        }

posttask

        if (task_queue1_ && task_queue2_) {
            RTC_LOG(LS_INFO) << "Webrtcoom task_queue1_ and task_queue2_ !=null";
            ((frameCount%2 ==0) ? task_queue1_:task_queue2_)->PostDelayedTask(webrtc::ToQueuedTask([outBuffer]() {
                NativeScreenShare::onFrameCallback(outBuffer, outBuffer->getWidth(),
                                                   outBuffer->getHeight(), outBuffer->getStride());
            }), 0);

析构的时候重置队列

task_queue1_.reset();

相关文章

网友评论

      本文标题:webrtc taskqueue 应用1

      本文链接:https://www.haomeiwen.com/subject/anyxirtx.html