Claudius Coenen created CB-6051:
-----------------------------------

             Summary: video / audio won't play from cdvfile:// urls
                 Key: CB-6051
                 URL: https://issues.apache.org/jira/browse/CB-6051
             Project: Apache Cordova
          Issue Type: Bug
          Components: Plugin File
    Affects Versions: 3.3.0
         Environment: iOS
            Reporter: Claudius Coenen


We have an application that used to work in Cordova 2.9, we think we have 
traced down the error to cdvfile://. Here's what's happening:

*The Application*

We're loading a few videos and a HTML-File referencing those videos into the 
app, using `FileTransfer`. This transfer is fine now, and we _can_ access and 
display the HTML-File and other assets like images. The videos on this page 
however won't play. They display as "broken" (strike-through play symbol on 
iOS). We know the videos to run, it's not the video's encoding, we also 
triple-checked all the filenames as well. If we pre-package the video into the 
app, the same setup _does_ play just fine.

*Behaviour Cordova 2.9*

We're getting the just-downloaded html file from the filesystem and call 
`toURL()` on that entry. In 2.9 this will return a lengthy (but working) 
`file:///`-url. We're basically setting

`window.location = entry.toURL(); // returns file:///...`

*Behaviour Cordova 3.3*

When calling `toURL`, we're now getting a `cdvfile://` URL, and (since the 
video file is referenced relatively) the video is also loaded from a 
`cdvfile://` URL.

*Why i believe the cdvfile:// to be at fault*

Basically "it used to work". We're suspecting that the file-protocol emulates a 
lot of the iOS-y stuff when it comes to video. Possibly the Content-Type-Header 
and the Range-Header that iOS uses extensively for streaming the video from a 
webserver.

For an audio file, we're getting log-lines reading "_itemFailedToPlayToEnd: 
{kind = 1; new = 2; old = 0;}"

I did not find any way to get a `file:///`-URL out of cordova 3.3, but i am 
pretty sure that this would cure my immediate problem.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to