Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
ycw committed Jan 22, 2025
1 parent 0fb4b68 commit 81b379a
Showing 1 changed file with 22 additions and 2 deletions.
24 changes: 22 additions & 2 deletions examples/webgpu_video_frame.html
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@
const decoder = new VideoDecoder( {
output( frame ) {

// To avoid video decoder stalls, we should close the VideoFrame which is no longer needed. https://w3c.github.io/webcodecs/#dom-videodecoder-decode
if ( videoTexture.image instanceof VideoFrame ) videoTexture.image.close();

videoTexture.setFrame( frame );

},
Expand All @@ -71,9 +74,26 @@
decoder.decode( chunk );

},
setStatus( s ) {
setStatus( kind, status ) {

console.info( 'MP4Demuxer:', kind );

if ( kind === 'fetch' && status === 'Done' ) {

decoder.flush().then( () => {

decoder.close();

// In case our VideoFrameTexture is no longer needed, we should close its backed VideoFrame, see issue #30379:
if ( videoTexture.image instanceof VideoFrame ) videoTexture.image.close();

videoTexture.image = null;

scene.remove( mesh );

} );

console.info( 'MP4Demuxer:', s );
}

}
} );
Expand Down

0 comments on commit 81b379a

Please sign in to comment.