07-15-2009 10:29 AM
Hi there. I'm creating custom component for BC player.
Here's my BEML:
<Runtime> <Theme name="Deluxe" style="Light"/> <Layout boxType="vbox" padding="3"> <Canvas> <VideoDisplay id="videoPlayer" showBack="true" includeFullscreenControls="true" depth="1"/> <SWFLoader source="http://stage.qik.com/swfs/qikLiveModule.sw
f?4" depth="2"/> </Canvas> <MediaControls id="mediaControls" height="46"> <HBox width="460" height="12" x="10" y="5" gutter="21"> <Label width="31" height="11" vAlign="middle" hAlign="right" text="{format(videoPlayer.mediaPosition, SecondsTimecodeFormatter)}"/> <VBox> <Spacer height="1"/> <Playhead id="playhead" mediaController="{videoPlayer}"/> </VBox> <Label width="31" height="11" vAlign="middle" hAlign="left" text="{format(videoPlayer.mediaDuration, SecondsTimecodeFormatter)}"/> </HBox> <HBox width="465" height="19" x="5" y="25" gutter="10"> <ToggleButton id="playButton" showBack="false" iconName="play" toggledIconName="pause" label="controls play" toggledLabel="controls pause" tooltip="controls play tooltip" toggledTooltip="controls pause tooltip" height="19" autoSize="true" lockHeight="true" iconAlignmentH="left" labelAlignmentH="left" labelOffsetX="20" click="{videoPlayer.play()}" toggledClick="{videoPlayer.pause()}" toggled="{videoPlayer.playing}"/> <Spacer/> <Button id="shareButton" showBack="false" iconName="share" label="community share" tooltip="community share tooltip" height="19" autoSize="true" lockHeight="true" iconAlignmentH="left" labelAlignmentH="left" labelOffsetX="21" data="{videoPlayer.video}" click="{videoPlayer.toggleMenuPage('Email', data)}"/> <Button id="linkButton" showBack="false" iconName="link" label="community link" tooltip="community link tooltip" height="19" autoSize="true" lockHeight="true" iconAlignmentH="left" labelAlignmentH="left" labelOffsetX="21" data="{videoPlayer.video}" click="{videoPlayer.toggleMenuPage('Link', data)}"/> <Button id="codeButton" showBack="false" iconName="code" label="community code" tooltip="community code tooltip" height="19" autoSize="true" lockHeight="true" iconAlignmentH="left" labelAlignmentH="left" labelOffsetX="21" data="{videoPlayer.video}" click="{videoPlayer.toggleMenuPage('Embed', data)}"/> <Spacer/> <Button id="maximizeButton" showBack="false" iconName="maximize" tooltip="controls maximize tooltip" width="19" height="17" click="{videoPlayer.goFullScreen()}"/> <Button id="volumeButton" showBack="false" iconName="volume" tooltip="controls volume tooltip" width="19" height="17" click="{videoPlayer.toggleVolumeControls()}"/> <Button id="menuButton" showBack="false" iconName="menu" label="controls menu" height="19" autoSize="true" lockHeight="true" iconAlignmentH="left" labelAlignmentH="left" labelOffsetX="19" data="{videoPlayer.video}" click="{videoPlayer.toggleMenuPage('Info', data)}"/> </HBox> </MediaControls> </Layout> </Runtime>
Actually, qikLiveModule.swf is not existing. It has another name, but even with correct name its not working, because...
It seems BC player is not loading crossdomain.xml according to Adobe specification. With FireBug, you can see that player is requesting http://stage.qik.com/swfs/crossdomain.xml, as according to Adobe, it should be requesting http://stage.qik.com/crossdomain.xml as default location of policy file.
Our server instead of 404 just redirects to the main page, so when trying to load policy file from http://stage.qik.com/swfs/crossdomain.xml, BC player gets HTML, and then ignoring it, because its not valid policy file.
Solved! Go to Solution.
07-15-2009 12:14 PM
The player does attempt the load the policy file from the same directory as the location of the SWF. This is due to how our CDN partners have their policy files distributed and their architecture constructed. If the player gets a 404, it looks to the root directory. This is the first instance we've heard where a redirect was in the mix.
I can file an enhancement for SWFLoader to allow you specify a policy directory.
07-16-2009 03:17 AM
Thanks for the quick reply, Todd.
I'm pretty sure we can resolve it on our side without any problem. I was just a little bit concerned of non-canonical way to load policy file and the fact its not mentioned anywhere.
Having some parameter for SWFLoader (and Module, I guess) to specify policy loading behaviour would be nice though.
Thank you again.
Brightcove Inc., a leading global provider of cloud content services, provides a family of products used to publish and distribute the world's professional digital media. The company's products include Brightcove Video Cloud, the market-leading online video platform, and Brightcove App Cloud, the pioneering content app platform. Together, more than 4,200 customers in 50 countries rely on Brightcove's cloud content services to build and operate exceptional media experiences across PCs, smartphones, tablets and connected TVs.
Brightcove Inc.
© 2012 Brightcove Inc.
