I switch to Software Rendering instead of VDPAU and it plays fine.
Now let me preface this by saying I am not a python developer and certainly not a XBMC Plugin/Script developer but I think I have a working solution, or at least one that works for me.
I thought the plugin could switch the setting from "VDPAU" to "Software" and back automatically. So I edited the ted_talks.py file to do exactly that using xbmc.executehttpapi calls.
In the file you will find the following line in the checkMode function of the Main class:
I replaced it with:
# Get current RendorMethod
iCurrentRenderMethod = int(xbmc.executehttpapi("GetGUISetting(0;VideoPlayer.RenderMethod)").replace("<li>",""))
# If RenderMethod is is 4 (RENDER_METHOD_VDPAU) set it to 3 (RENDER_METHOD_SOFTWARE). See http://trac.xbmc.org/browser/trunk/xbmc/GUISettings.h for other values.
if iCurrentRenderMethod == 4:
#Pause long enough for mplayer to start
# Set back to the current RendorMethod
xbmc.executehttpapi("SetGUISetting(0;VideoPlayer.RenderMethod,%d)" % ( iCurrentRenderMethod, ))
Not a perfect solution and I'm sure someone could write the code more efficiently or even a more elegant solution, but this worked for me.
Comments and suggestions welcome.