using Godot; using System; using System.IO; using System.Collections.Generic; using VideoOrchestra.Utils; namespace VideoOrchestra { /// /// Test controller for VP9 video loading and playback /// Demonstrates usage of VideoOrchestraManager with sample VP9 streams /// public partial class VP9TestController : Control { private VideoOrchestraManager _orchestraManager; private TextureRect[] _textureRects; private Label _statusLabel; private Button _loadButton; private Button _playButton; private Button _stopButton; // VP9 WebM video files private string[] _webmFilePaths = new string[] { "res://assets/haewon-oo-00-vp9.webm", "res://assets/haewon-oo-01-vp9.webm", "res://assets/haewon-oo-02-vp9.webm" }; private byte[][] _webmFileData; private List[] _extractedFrames; // VP9 frames per stream private bool _isPlaying = false; private int _currentFrame = 0; private Timer _playbackTimer; public override void _Ready() { SetupUI(); InitializeOrchestra(); SetupPlaybackTimer(); } private void SetupUI() { // Get UI references _textureRects = new TextureRect[3]; _textureRects[0] = GetNode("UI/StreamContainer/Stream0/TextureRect0"); _textureRects[1] = GetNode("UI/StreamContainer/Stream1/TextureRect1"); _textureRects[2] = GetNode("UI/StreamContainer/Stream2/TextureRect2"); _statusLabel = GetNode