Forum

FileStream (EX9.Texture VLC) reporting wrong size "Texture needs to be resized to 2x2"

I’m building a basic video wall and having an issue with FileStream (EX9.Texture VLC).

I’m using FileStream to load a pair of videos, one of which has an alpha channel, that are blended with Blend, as follows:

image

The above screenshot is upon loading the patch. Right away you can see the issue. The Info nodes are reporting the size of the video as 2x2. I believe this is what’s turning Blend and FullscreenQuad red.

What’s odd is if I disconnect and reconnect Blend, or Info, magically the size becomes reported correctly. Sometimes it also magically corrects itself after a few plays. In fact, when I first patched this, it worked great. But then upon reloading, I get this issue.

Here’s what I see in TTY:
tty output.log (19.3 KB)

It actually looks like there’s a fair amount of errors there, but these jump out to me as relevant:

00:00:20     : [MemoryToTextureRenderer A0+] Texture needs to be resized to 2x2
[MemoryToTextureRenderer B0-] Texture needs to be resized to 2x2
[MediaRenderer A0+] STOP Mediaplayer (Nothing Special)
[MediaRenderer A0+] Mediaplayer not stopped yet (NOTHING SPECIAL), so we will wait a little bit before we try to load a new file
CreateTexture(Slice 0, Device 841957472)
[MemoryToTextureRenderer A0+] [CreateDoubleTexture] Created new DoubleTexture (2x2 pitch/4=2) for device 841957472 created (dx9ex shared is OFF)
[MemoryToTextureRenderer B0-] [CreateDoubleTexture] Created new DoubleTexture (2x2 pitch/4=2) for device 841957472 created (dx9ex shared is OFF)
00:00:20     : 
[MediaRenderer A0+] STOP Mediaplayer (Nothing Special)
[MediaRenderer A0+] Mediaplayer not stopped yet (NOTHING SPECIAL), so we will wait a little bit before we try to load a new file
[MemoryToTextureRenderer A0+] Texture needs to be resized to 2x2
[MemoryToTextureRenderer B0-] Texture needs to be resized to 2x2
CreateTexture(Slice 0, Device 841957472)
[MemoryToTextureRenderer A0+] [CreateDoubleTexture] Created new DoubleTexture (2x2 pitch/4=2) for device 841957472 created (dx9ex shared is OFF)
[MemoryToTextureRenderer B0-] [CreateDoubleTexture] Created new DoubleTexture (2x2 pitch/4=2) for device 841957472 created (dx9ex shared is OFF)

00:00:20     : 
[MediaRenderer B0-] STOP Mediaplayer (Nothing Special)
[MediaRenderer B0-] Mediaplayer not stopped yet (NOTHING SPECIAL), so we will wait a little bit before we try to load a new file
[MediaRenderer A0+] Trying to load VIDEO 'C:\Development\R\.\video\Pillar - SQUARE - Activation 03.mov'
CreateTexture(Slice 0, Device 841957472)
[MemoryToTextureRenderer A0+] [CreateDoubleTexture] Created new DoubleTexture (2x2 pitch/4=2) for device 841957472 created (dx9ex shared is OFF)
[MemoryToTextureRenderer B0-] [CreateDoubleTexture] Created new DoubleTexture (2x2 pitch/4=2) for device 841957472 created (dx9ex shared is OFF)
[MediaRenderer A0+] streams 1 trackInfo size = 28
[MediaRenderer A0+] Detected tracks: VIDEO(1080x1920)  for file C:\Development\R\.\video\Pillar - SQUARE - Activation 03.mov
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?
[MemoryToTextureRenderer A0+] [FillTextureUsingLockRectangle WARNING] TEXTURE size wrong !
ERR [MemoryToTextureRenderer A0+] [UpdateTexture_ThreadProc] UpdateTexture FAILED, should we try again ?

I’ve tried this with different videos, same issue.

I’ve got the latest Beta + VLC installed (3.0.8), all 64-bit.

Thanks much for any help you can provide on this!

In looking a bit more at that log I noticed a few other interesting errors being reported about the Blend node… including the Mode enum being nul, and internally these pins being disconnected, as reported below:

00:00:15     : adding C:\vvvv\vvvv_beta_39_x64\addonpack\lib\nodes\modules\TextureFX\Mixer\Blend\ to VVVV.VL.Factories.NodeFactory
00:00:15  *  : patch C:\vvvv\vvvv_beta_39_x64\addonpack\lib\nodes\modules\TextureFX\Mixer\Blend\Blend (EX9.Texture Mixer).v4p has been converted from http://vvvv.org/versions/vvvv45beta26.dtd to beta 39.
00:00:15  -  : AsDesktop: 1080 x 1920
00:00:15  -  : \\.\DISPLAY1
00:00:16  *  : couldn't connect pins of nodes TogEdge (Animation) and Delay (Animation). 
00:00:16  *  : Enum Set Technique is Locked.
00:00:16  *  : [event.call: error occured in TMEnumPin]: Access violation at address 000000000075267B in module 'vvvv.exe'. Read of address 0000000000000000
00:00:16  -  : To help us track this error down, enable the ExceptionDialog via the menu or starting vvvv with /showexceptions.
00:00:16  *  : Enum Set Technique is Locked.
00:00:16  *  : Enum Set Technique is Locked.
00:00:16  *  : Enum Set Technique is Locked.
00:00:16  *  : [event.call: error occured in TMEnumPin]: Access violation at address 000000000075267B in module 'vvvv.exe'. Read of address 0000000000000000
00:00:16  -  : To help us track this error down, enable the ExceptionDialog via the menu or starting vvvv with /showexceptions.

Is this a bug? I did as it said, and the log files are here: vvvv.exe-exception-2019-12-10.log (43.0 KB) vvvv.exe-exception-2019-12-10b.log (43.8 KB)

you can try the dx11 pack, it also has a vlc player…

Thanks @tonfilm. I did just that, and DX11 works flawlessly.

I also did find a workaround to the EX9 version (apologies for the rats nest, this is WIP):

image

The two nodes presenting the issue seemed to be Blend and FullscreenQuad, because they both internally rely on values from Info. Being I wasn’t really using Blend (the videos themselves have alpha channels), I just moved everything to layers and then used Group. Plus, being my output size is always going to be fixed, I just replaced the FullscreenQuads with regular Quads and sized them appropriately with AspectRatio.

That said, the DX11 version is more than twice as fast according to PerfMeter, and doesn’t hiccup the way EX9 does onload and when going in/out of fullscreen. Plus, DX11’s VLC player reports video duration correctly, important when needing a signal that a video ended.

This just makes me wonder- why isn’t DX11 installed as part of core, or at least the addonpack?

Having DX11 inside core release would indeed be nice. What codec and container are you using?

I needed video with an alpha channel, so at first I was using ProRes 4444, and later switched to Quicktime RLE (“Animation”) because I started experiencing some issues with looping ProRes. RLE was noticeably smoother.

The container was .mov, though I tried other containers and that did not seem to affect anything.