I´ll add my two cents to this thread.
Instead of focus in vlc, gstreamer etc.
Why not look at libplayer.
It´s a generic player library that abstracts the inner working of xine, mplayer, vlc and gstreamer into one api.
Having such a solution will make it very easy to use another player engine if one wants.
Or have several libplayer devices running with different audio/video render engines.