I believe you are not directly writing over the _getVideoURL function like you are thinking. I believe the code should look like the below with the call to the function definition changed.
CODE
createView: function()
{
this.controls.overlay = new KONtx.control.VideoTransportOverlay().appendTo(this);
this.controls.videoplayer = new KONtx.videoplayer();
this.controls.videoplayer.attachAccessory(this.controls.overlay);
/* Must overload the _getVideoURL function as our CDN URLs expire too quickly */
this._getVideoURL = function()
{
var url = new URL();
var result = url.fetch(this._playlist[this._currentVideoPos].urls.base);
var doc = XMLDOM.parse(result);
return doc.evaluate("string(sctp/response/url)");
}
}
Nope, that doesn't do what I'm looking for, and does not work on the simulator. _getVideoURL is a method on KONtx.videoplayer(), not the SideBarView, and it's used for traversing the playlist array stored inside KONtx.videoplayer(). What I want to do is store a slew of intermediate URLs inside the videoplayer class, and when it attempts to load the next one, pull the intermediate URL to get the real URL. This is useful as it lets us have time expiring URLs, as well as lets us track actual play calls when using a third party CDN. On the simulator I am able to override the videoplayer._getVideoURL just fine, but some part of my video player is not working correctly on the actual TV, with no logging facilities I can't be certain what's failing.
What I can garner from watching server logs while running the TV is that updateView is running as it pulls the list of intermediate URLs. After that, I never see another call to the server and the TV leaves me at a blank screen. I would at least expect to see a call to the intermediate URL, which would happen even if _getVideoURL weren't properly overridden, but I get nothing. It's almost as if the KONtx.videoplayer doesn't behave at all similar to the version found in the simulator, but I'm grasping at straws here myself.
I don't suppose there's any way I could get some sort of logging facility on the TV to try to figure out where exactly it's failing? Most things have been good enough between the simulator and the hardware, but this doesn't behave at all like what I was expecting.