You're completely wrong. The HTML5 API does all this with zero effort. You're just another MS apologist with no understanding of the technical issues here.
Completely wrong. Doubt it. Technically I could explain in detail, right down the the HTTP 1.1 or 2.0 transport protocol but it's inconsequential.
Fact - the HTML 5 video standard does not include considerations for client side control of advertisements.
Fact - advertisements can be made to work in HTML from the server side.
Fact - advertisements can be handled by an app - native or HTML 5 - on the client side
IF an API is provided to pull the ad videos. The client can then run the ads first.
I am not familiar with the YouTube public API. However, my point is this:
If a public API is available to get advertisements for video requests then why did Microsoft raise a stink about not having access to it? There are only these options for this situation:
1.) The public API does NOT include a means to access content aware advertisements. If this is the case, Google would have to provide Private API access. If Google has provided this private API access for others and not for MS then Google is unnecessarily making this out to be a big deal. They have every right to withhold the private API access, but they shouldn't be whining if they are.
2.) The public API does include a means to access content aware advertisements. If this is the case, Microsoft is incompetent and/or deliberately causing drama at the expense of their customers.
I seriously doubt it's number 2.
EDIT: I took the liberty of reading the Javascript and IFrame players APIs Google provides for YouTube. The Javascript API is specific to embedded Flash so the IFrame API is what we are looking for.
Nowhere in the IFrame API documentation does it specify anything about advertisements, nor does it bother to include any sort of code reference on how to include or call up advertisements. The documentation shows that you are using the API to call up the video feed. That's it. This exactly supports what I previously stated.
However, I know that won't be enough for you. So I dug some more. I know from experience in client server systems that, if the video stream is not made to include the add in the same stream from the server side, then the API must provide a way to respond to asynchronously posted information from the server. If it does, I can imagine a way in might allow the user to respond and display the appropriate advertisement prior to playing the requested video stream.
I found something that the API uses that is close to that, but not the same. From the documentation:
"The end user must be using a browser that supports the HTML5 postMessage feature. Most modern browsers support postMessage, though Internet Explorer 7 does not support it."
HTML5 postMessage allows cross domain posts from IFrames. Cool. I can see how they might use that, but there is no end user code for them to use this it seems. It appears to be simply required by the embedded player for the browser. Unrelated to the ads it seems.
So onward to addEventListener. If a message comes from the server to display an add there must be an event listener for it.
https://developers.google.com/youtube/iframe_api_reference#Events
None of those are related to advertisements. So we find ourselves back where I said we were in the first place. There is no client side control for advertisements in the public API. If I missed something, please feel free to check it yourself.
Also, try to know what you are talking about before attempting to insult me.