Failure: Much Simplified VPlayer.swf from the media9 LaTeX package is not supported
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Lightspark |
Confirmed
|
Medium
|
Unassigned |
Bug Description
This bug is a prerequisite to #1246050 and #1246682. It is probably easier to fix this than #1246050 and #1246682. That is why I report it as a separate bug.
The original problem, #1246050, is roughly:
"The media9 LaTeX package contains a little flash program VPlayer.swf implementing a video player. This flash program will be embedded by LaTeX in the output pdf file. As a result, the pdf can contain movies, played by VPlayer.swf, if the pdf document viewer supports flash.
(see http://
Unfortunately, this cannot currently be implemented in open source pdf viewers, because lightspark does not play the VPlayer.swf file. "
Now, the author of VPlayer.swf has been so kind as to backport the program to "Flashplayer 9" using flex-3. He has also commented out the callbacks that lead to the error messages in #1246682. The result is a very simple video playing application, which should be easier to support than the original file. Also, the source code is available. However, even this very simple player cannot be played by lightspark. Starting from the console with
sander@
source
cube.mp4
sander@
a blue window opens with the text "LOADING 0%" at the bottom. On the console I get the message
INFO: Lightspark version 0.7.2 Copyright 2009-2013 Alessandro Pignotti and others
INFO: A plugin was found. Adding it to the list.
INFO: The plugin SDL plugin was added with backend: sdl
INFO: A plugin was found. Adding it to the list.
INFO: The plugin Pulse plugin output only was added with backend: pulseaudio
INFO: the selected backend is: pulseaudio
INFO: get_plugin: pulseaudio
INFO: RenderThread this=0x12d51a0
INFO: Creating input thread
INFO: Running in remote sandbox
INFO: zlib compressed SWF file: Version 9
INFO: FrameRate 24
INFO: Creating VM
INFO: SWF Metadata:
format: application/
title: Adobe Flex 3 Application
publisher: unknown
creator: unknown
language: EN
date: 30.10.2013
INFO: MaxRecursionDepth: 1000, ScriptTimeoutSe
INFO: SWF Info:
ProductId: 3
Edition: 6
Version: 3.5.0.12683
INFO: Chosen config 0x7fdaec020ac0
INFO: Fragment shader compilation
INFO: Vertex shader compilation
INFO: Window resized to 500x375
INFO: NET: STANDALONE: DownloadManager
INFO: NET: STANDALONE: DownloadManager: remote file
INFO: NET: CurlDownloader:
INFO: SECURITY: Evaluating URL for cross domain policies:
INFO: SECURITY: --> URL: loader.
INFO: SECURITY: --> Origin: loader.
INFO: SECURITY: Same hostname as origin, allowing
ERROR: Not sufficient data is available from the stream
INFO: FPS: 22
When I click on the window, lightspark gives its characteristic black "yet unsupported flash file" window. On the console, it prints
ERROR: Unhandled ActionScript exception in VM Error: Cannot call reconnect on an http connection.
Any help would be appreciated.
Thanks for the detailed bug report.
The error message shows that lightspark tries to load the video file from invalid path "loader. url/file. swf://ader. url/cube. mp4". You need give a valid --url and allow access to local files with -s argument (as a security measure, an SWF can access either local or remote files but not both). The following should work:
lightspark --url file://VDisplay.swf VDisplay.swf -p parameters -s local-with- filesystem
But it fails with
ERROR: Unhandled ActionScript exception in VM SecurityError: SecurityError: NetStream::play: connect to local file
It looks like something is wrong in the security permission evaluation in NetStream::play method. The source code is in src/scripting/ flash/net/ flashnet. cpp if you like to take a look.