Currently I'm developing an application using LibVLC to play analog TV via a USB tuner.
The TV plays flawlessly with only one issue - channel changing delay.
I tried both directly calling libvlc_media_player_new_from_media(), or utilizing a playlist, both resulting around 5-7 seconds delay.
It is understandable because the LibVLC is closing the dshow graph, rebuild it and doing everything again.
Yet I'm wondering if there is anyway to improve this by caching graph and tuner instance, only do a put_channel to the tuner every time you set a channel.
I read quite some access_demux module doc and the dshow.cpp itself, but couldn't figure out a decent way to do this without breaking the normal VLC logic.
Any hint will be appreciated!