cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ian Clelland (JIRA)" <>
Subject [jira] [Resolved] (CB-6051) video / audio won't play from cdvfile:// urls
Date Fri, 21 Feb 2014 18:45:26 GMT


Ian Clelland resolved CB-6051.

    Resolution: Fixed

I've fixed this now in the dev branch of the Media plugin (also requires the dev version of

The problem affected both recording and playback, on both Android and iOS. All four locations
have been fixed now.

> video / audio won't play from cdvfile:// urls
> ---------------------------------------------
>                 Key: CB-6051
>                 URL:
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin File, Plugin Media
>    Affects Versions: 3.3.0
>         Environment: iOS
>            Reporter: Claudius Coenen
>            Assignee: Ian Clelland
> 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
> {{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

View raw message