11 Months Ago
Initial support for playing video Bind resolve shaders and textures directly instead of going through renderable pass, avoids it being used across frame boundaries Initial support for audio playback Get rid of event wait shit for audio, ExecuteOnMainThread handles this Support seeking Fix streaming from url not working Init, shutdown and run frame for video playback in a service so we don't have to do it manually Give video player the managed object so we can call back to it Tell managed when texture has been created, we don't know until first frame has been decoded Bind all the functions of video player Pass video events down to managed Add Duration and CurrentPlaybackTime Documentation Call OnTextureCreated after new texture has been rendered to Add clear to audio stream interface, clear the resample buffer instead of having to recreate the whole stream Add use_doppler sound op to stack, disable it on attached streams (doppler is no good on streams because it pitches) Start allowing video audio stream to attach to sound events to change how audio is played Allow audio stream to be attached to multiple sound events Add SoundStream.Play (returns a sound handle, can be called multiple times), obsolete Sound.CreateStream (this was all ass backwards) Add VideoPlayer.PlayAudio, called when audio is ready, can be called multiple times for multiple sound sources Add public constructor for SoundStream, this is allowed now it doesn't depend on having a Sound Add more properties to video player Turns out sound stream can't have multiple sound sources, at least for now Add qt video widget example https://files.facepunch.com/layla/1b2911b1/sbox_tueAgFGKr8.mp4