Is there a way to make a VideoElement not seekable. The viewer shouldn't be abled to skip the ad videos. Do I have to write my own MediaElement?
This can be done using the framework's ProxyElement class:
You could create your own subclass of ProxyElement (name it SeekableBlockingProxy, for example) that would override the ProxyElement.blocksTrait method, having its implementation return true when it is being passed type MediaTraitType.SEEKABLE for its argument.
Next, before passing your ad to either a player or putting in a composition, you'd wrap it in the created proxy, like so:
var ad:MediaElement = new SeekableBlockingProxy(adVideoElement);
I've added an example to the ExamplePlayer, using Edwin's approach.
Here's the source code for the proxy that wraps your VideoElement in order to prevent seeking: