[vlc-devel] Push Model Issue
remi at remlab.net
Wed Jun 12 21:59:34 CEST 2019
Le keskiviikkona 12. kesäkuuta 2019, 17.58.06 EEST Steve Lhomme a écrit :
> I will keep investigate on option #2 but I'm running out of ideas on how
> to solve the performance issue. So I wonder if it makes sense to have
> the decoder depend on the display module in push to be created an
> usable. This is a limitation of D3D9 where everything is tied to a HWND.
> In D3D11 the resources can be shared and are only tied to a GPU.
If your buffers are tied to the display instance, ultimately, you are screwed
regardless of the buffering model.
There is always the scenario where the output format changes mid-stream, such
that the (new) format of allocated buffers does transitionally not match that
(old) of decoded pictures. I am not sure how systematically the packetizer
will destroy and re-create the decoder in this case - but it will not work
smoothly if the pipeline cannot handle buffers with different formats at the
This is not so much about the buffering model, as about the VLC video output+
display abstraction not allowing the input format to change.
I don't know how useful D3D9 is, but if it's needed, I would make the device
context place-holder storage space for the display to store the necessary
HWND-dependent object(s). But first, I would create a throw-away HWND and
device to at least check hardware capabilities ahead of time.
More information about the vlc-devel