วิธีการโทรวิธีการเครื่องยนต์กระพือจากหัวข้ออื่น
ฉันใช้เดสก์ท็อปกระพือสำหรับลินุกซ์ ฉันกำลังเรียกวิธีที่เรียกMarkTextureFrameAvailableว่าควรจะทำเครื่องหมายพื้นผิวเพื่อให้เครื่องยนต์แสดงผลซ้ำ เนื่องจากฉันกำลังเขียนโปรแกรมเล่นวิดีโอฉันต้องโทรMarkTextureFrameAvailableจากเธรดของผู้เล่น ปัญหาคือเครื่องยนต์บังคับให้ฉันเรียกMarkTextureFrameAvailable(และวิธีการอื่น ๆ ของเครื่องยนต์) จากเธรดที่สร้างเครื่องยนต์ คุณจะเห็นว่าการเรียกไปยังเอ็นจิ้นทั้งหมดสิ้นสุดลงในเชลล์ซึ่งจะทำการตรวจสอบเพื่อดูว่ามีการโทรจากเธรดเดียวกันที่สร้างการโทรหรือไม่: task_runners_.GetPlatformTaskRunner()->RunsTasksOnCurrentThread() ( https://github.com/flutter/engine/blob/master/shell/common/shell.cc#L838 ) นี่คือวิธีที่ฉันสร้างเครื่องมือกระพือ: int main(int argc, char **argv) { //.. flutter::FlutterWindowController flutter_controller(icu_data_path); // Start the engine. if (!flutter_controller.CreateWindow(800, 600, "Flutter WebRTC Demo", assets_path, arguments)) { return EXIT_FAILURE; } // Register any native plugins. FlutterWebRTCPluginRegisterWithRegistrar( flutter_controller.GetRegistrarForPlugin("FlutterWebRTCPlugin")); // Run until the window …