Heute mal wieder eine Geschichte aus dem Buch “Wer braucht schon klare Informationen?”.
Wir arbeiten seit geraumer Zeit an einem Langzeitprojekt, welches sicher immer weiter entwickelt hat und nach und nach immer weiter erweitert und aufgebohrt wurde. Neueste Errungenschaft: Ein Amazon S3 mit CloudFront, um die hohe Anzahl an Videodaten vernünftig über den Äther zu bekommen. Und da das unser erster Kontakt mit Amazon in diesem Bereich war bzw. ist, waren wir natürlich gespannt wie das alles so läuft.
Die Vorarbeit schonmal gut 
Einen Eimer angelegt (bei Amazon heissen Unteraccounts “Buckets” ), Videos rein, Streaming-Distribution angelegt, fertig. Dann schnell den Link nehmen und mal stumpf über die FLVPlayback-Komponente in Flash getestet, läuft sehr gut. Jetzt soll das ganze natürlich in unserem Projekt laufen, in dem wir einen eigenen Videplayer gebaut haben, laufen.
Soweit auch kein Problem, im Konstruktor von unserer VideoPlayer-Klasse einfach geschwinde die notwendigen Änderungen gemacht, das ganze in einen Testcase eingebaut, auf F11 gehauen, wow, läuft!
Jetzt soll natürlich der Kunde auch sehen, dass das super läuft, und das selbst ich mit meinem Dorf-DSL (danke Telekom, ich hasse euch) ein HD-Video anständig gestreamt bekomme. Also hochladen, Test-URL aufrufen und…. *BAMM*
SecurityError: Error #2000: Kein aktiver Sicherheitskontext.
Wie? Was? Security Error? Was für ein SecurityError? Nein das doch jetzt nicht war, kann doch nicht sein, dass Amazon da was falsch gemacht hat. Doku´s gewälzt, rumprobiert und und und, schliesslich läuft das ganze ja mit progressivem Video seit geraumer Zeit. Nix gefunden.
Und ich weiss nicht wie es dem Rest da draussen geht, mich treibt sowas in den Wahnsinn. Also was macht man, richtig, alles in möglichst kleinen Schritten nach vorne bringen. Und da setzte dann meine Verwunderung ein.
Denn eigentlich erwartete ich, dass der Fehler aus der Verbindung des Videoplayers mit dem FMS bei Amazon entspringt, alles andere läuft ja schon seit ewigen Zeiten. Klingt logisch oder? FALSCH! Die Fehlermeldung kam auch OHNE die Verbindung zum FMS.
Wo kommt sie her? Relativ banale Sache: Der VideoPlayer erwartet im Konstruktor ein Parameter für ein Vorschaubild das er dann anzeigt, bevor irgendwas gemacht wird. Jetzt hatte ich gerade keines zur Hand und habe deswegen einfach eine “leeres” PNG genommen damit er halt was zu laden hat. Und eben jenes PNG hatte ich vergessen mit auf den Server zu laden. Was ja auch passieren kann.
Aber warum zum Teufel wirft der mir einen SecurityError weil er ein Bild nicht laden kann? Dafür gibt´s den IOErrorEvent bzw. wenn das nicht gehandled wird Error #2044!
Manchmal frage ich mich wirklich, wie solche Dinge bei Adobe zustande kommen…. Also, Jungs und Mädels, merkt euch:
Wenn euch SecurityError: Error #2000: Kein aktiver Sicherheitskontext plagt, schaut nach ob ihr auch überall eure Bilder ladet!
happy Coding