<pre class="bz_comment_text" id="comment_text_0">I'm experimenting with gstreamer and I find this as working:

gst-launch-0.10 -v filesrc location=/path/to/file.mp4 ! qtdemux ! vaapidecode !
vaapisink

I want to be able to output video to my window, I've tried this but without any
success

gst-launch-0.10 -v filesrc location=/path/to/file.mp4 ! qtdemux ! vaapidecode !
vaapidownload | appsink (or autovideosink)

Basically, vaapidecode source is same as sink of vaapidownload
(x-vaapi-surface) and vaapidownload source is raw yuv.

gst-inspect output of:
vaapidecode : <a href="http://pastebin.com/8TSJF7jN">http://pastebin.com/8TSJF7jN</a>
vaapidownload : <a href="http://pastebin.com/JzV17v33">http://pastebin.com/JzV17v33</a>
vaapisink : <a href="http://pastebin.com/ZkMBVh8v">http://pastebin.com/ZkMBVh8v</a>
appsink : <a href="http://pastebin.com/ehkQsraM">http://pastebin.com/ehkQsraM</a>

This is output from second pipeline: <a href="http://pastebin.com/9mqjsLUq">http://pastebin.com/9mqjsLUq</a>

Platform is Linux, gstreamer is last stable version and vaapi plugin is from
git.</pre>