mrvux / dx11-vvvv

DirectX11 Rendering within vvvv
Other
71 stars 71 forks source link

FileStream (Dx11.texture vlc) won't play .mts files, hangs/crashes #267

Open mediadog opened 8 years ago

mediadog commented 8 years ago

On x64, loading a .mts file with h264 video and Dolby AC3 sound gives a black texture, and the size output pin shows 0,0. The valid output pin is true, duration is correctly reported, and the position output pin shows progress. Trying to exit vvvv at this point hangs; it must be killed.

If I try to change the video file to something else before exiting, vvvv crashes.

On x86, the sound usually plays for a bit but still black video.

Standalone vlc plays the .mts files fine, as does the DX9 vlc FileStream.

I could upload a small example file if needed; the files in question are from Canon HD camcorders. Haven't tried .mts files from other sources.

I tried updating the VLC libs and plugins in the dx1 pack to 2.2.2 and 2.2.4, as the vlc libs with the pack are very outdated, but same results.

mrvux commented 8 years ago

If you can upload small example would be nice (even 4 seconds is good enough), and indeed the vlc libs are a bit outdated but worked pretty well, so always been a bit reluctant to change those.

mediadog commented 7 years ago

Here is a "small" .MTS file that shows the problem. In addition to what's mentioned above, this does not play (no progress), and shows a framerate of zero.

HFM41_20160824-134552.zip

mrvux commented 7 years ago

From what I checked, seems mts starts to report frame size very late in the process even after it's already in a play status I can still have zero frame size reports.

So for now I mark content that reports a zero size frame as invalid, which at least prevents the crash.

mediadog commented 7 years ago

I can confirm that 1.0.1 does in fact not crash on .MTS files now, thanks. I poked around on this a bit more, and while the DX9 version does play the files, there are hiccups at the start of playback and later vvvv (x64) will hang on exit. So something amiss there too.

This is not just a camcorder issue, many DSLRs write MTS files as well, and it would be nice to not have to transcode with the resulting generational loss - but at least now things don't crash when I absently mindedly open one of these!