Closed Bug 1251184 Opened 4 years ago Closed 4 years ago

Quicktime plugin no longer loaded for unsupported video.

Categories

(Core :: Audio/Video: Playback, defect, P2)

defect

Tracking

()

VERIFIED FIXED
mozilla48
Tracking Status
firefox44 --- unaffected
firefox45 --- wontfix
firefox46 --- wontfix
firefox47 + verified
firefox48 --- verified
firefox-esr45 50+ verified
relnote-firefox --- -

People

(Reporter: pauly, Assigned: jya)

References

Details

(Keywords: regression)

Attachments

(3 files)

[Affected versions]:
- 47.0a1 (2016-02-24), 46.0a2 (2016-02-24), 45b9

[Affected platforms]:
- Win 7, Ubuntu 14.04, OS X 10.9.5

[Steps to reproduce]:
1. Have Quicktime plugin installed
2. Try to play in Firefox the following videos:
http://download.wavetlan.com/SVV/Media/HTTP/BlackBerry.mov
http://download.wavetlan.com/SVV/Media/HTTP/MPEG4_AMR_3_(272%20KB).mov

[Expected result]:
- The videos should play fine

[Actual result]:
- "Video can't be played because the file is corrupt".
Browser console log: "Media resource http://download.wavetlan.com/SVV/Media/HTTP/MPEG4_AMR_3_(272%20KB).mov could not be decoded. MPEG4_AMR_3_(272%20KB).mov
TypeError: this.controlListeners is undefined"

[Regression range]:
- regressed by bug 1244523
Keywords: regression
Summary: Some Quicktime videos no longer work in Firefox → Quicktime plugin no longer loaded for unsupported video.
Can you check if a quicktime plugin is active in the firefox install? I wonder if it's blocked by the signing changes.
Flags: needinfo?(paul.silaghi)
We could just download the video in this instance or at the very least show a useful error message saying that we don't support MPEG4 part 2.
problem is that our decision to report if we support a file or not is based on the container mimetype. And we won't know what codec it uses until we start playing it.

so at best we can avoid attempting to play it if a quicktime plugin exists.
(In reply to Ralph Giles (:rillian) from comment #1)
> Can you check if a quicktime plugin is active in the firefox install? I
> wonder if it's blocked by the signing changes.
I'm not sure what do you mean exactly.
In Addons Manager, Quicktime is set to "Ask to activate" by default.
Flags: needinfo?(paul.silaghi)
Ok, thanks for confirming. Anthony's suggestion in #2 seems like a good way to resolve this.
Assignee: nobody → cpearce
Priority: -- → P2
Assignee: cpearce → jyavenard
While almost identical to video/mp4, quicktime files often use codecs that we don't support: in particular MPEG4 part 2 and amr audio.
If a plugin exists and is enabled, prefer it to handle those files.

We only do so when opening the file directly. Media in <video> element will always play natively.

Review commit: https://reviewboard.mozilla.org/r/39471/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/39471/
Attachment #8729490 - Flags: review?(cpearce)
Attachment #8729489 - Flags: review?(cpearce) → review+
Comment on attachment 8729489 [details]
MozReview Request: Bug 1251184: [quicktime] P1. Report video/quicktime mimetype when sniffing. r?cpearce

https://reviewboard.mozilla.org/r/39469/#review36485
Comment on attachment 8729490 [details]
MozReview Request: Bug 1251184: [quicktime] P2. Use external plugin if available over native playback. r?cpearce

https://reviewboard.mozilla.org/r/39471/#review36487
Attachment #8729490 - Flags: review?(cpearce) → review+
https://hg.mozilla.org/mozilla-central/rev/556446426ca2
https://hg.mozilla.org/mozilla-central/rev/523aa849f21f
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Paul, could you please verify this bug fixed it for you?
Flags: needinfo?(paul.silaghi)
Verified fixed FX 48.0a1 (2016-03-16) Win 7, OS X 10.9.5
Status: RESOLVED → VERIFIED
Flags: needinfo?(paul.silaghi)
Note that if the Quicktime plugin is not installed, the error message still says: "Video can't be played because the file is corrupt", which is not exactly correct, because nothing is corrupt.
jya, cpearce -- Do you want to uplift this or just let it ride the trains?  relman is asking for all teams to mark their bugs affecting Fx46 as "wontfix" or ask for uplift ASAP since Fx46 is going out next week.  Thanks.
Flags: needinfo?(jyavenard)
Flags: needinfo?(cpearce)
I'll request uplift. Thanks Maire.
Flags: needinfo?(cpearce)
Comment on attachment 8729489 [details]
MozReview Request: Bug 1251184: [quicktime] P1. Report video/quicktime mimetype when sniffing. r?cpearce

Approval Request Comment
[Feature/regressing bug #]: bug 1244523, adding Quicktime support video playback support to Linux.
[User impact if declined]: Users who previously were using the Quicktime plugin to play videos which we couldn't play will instead see us try and fail to play them.
[Describe test coverage new/current, TreeHerder]: We have lots of video mochitests, and some gtests that cover Quicktime support.
[Risks and why]: Lowish; basically it makes sure we take the path we previously took.
[String/UUID change made/needed]: None.
Flags: needinfo?(jyavenard)
Attachment #8729489 - Flags: approval-mozilla-aurora?
Comment on attachment 8729489 [details]
MozReview Request: Bug 1251184: [quicktime] P1. Report video/quicktime mimetype when sniffing. r?cpearce

Approval Request Comment
[Feature/regressing bug #]: bug 1244523, adding Quicktime support video playback support to Linux.
[User impact if declined]: Users who previously were using the Quicktime plugin to play videos which we couldn't play will instead see us try and fail to play them.
[Describe test coverage new/current, TreeHerder]: We have lots of video mochitests.
[Risks and why]: Lowish; basically it makes sure we take the path we previously took.
[String/UUID change made/needed]: None.
Attachment #8729489 - Flags: approval-mozilla-beta?
Comment on attachment 8729490 [details]
MozReview Request: Bug 1251184: [quicktime] P2. Use external plugin if available over native playback. r?cpearce

Approval Request Comment
[Feature/regressing bug #]: bug 1244523, adding Quicktime support video playback support to Linux.
[User impact if declined]: Users who previously were using the Quicktime plugin to play videos which we couldn't play will instead see us try and fail to play them.
[Describe test coverage new/current, TreeHerder]: We have lots of video mochitests.
[Risks and why]: Lowish; basically it makes sure we take the path we previously took.
[String/UUID change made/needed]: None.
Attachment #8729490 - Flags: approval-mozilla-beta?
Attachment #8729490 - Flags: approval-mozilla-aurora?
[Tracking Requested - why for this release]:

This is too late in beta to uplift if it isn't crucial, though it would be nice to have. It should have been uplifted in early beta 46 if that was our goal. We are building the release candidate today. This should also have QE on beta before it hits release.
Attachment #8729489 - Flags: approval-mozilla-beta? → approval-mozilla-beta-
Attachment #8729490 - Flags: approval-mozilla-beta? → approval-mozilla-beta-
Hi Chris, there was an email thread on r-d ML recently about blocking QuickTime on windows (Bug 1264874). In the light of that block, I am wondering if enabling this on Linux is still a good idea. This makes sense if those vulnerabilities are windows only. Thoughts?
Flags: needinfo?(cpearce)
A bit of sensationalising by the media. Apple has dropped support. Doesn't mean here are current security issue that prevents it's use *right* now
https://www.us-cert.gov/ncas/alerts/TA16-105A lists two unpatched vulnerabilities for QuickTime for Windows right now. I don't know if they would also apply to Linux.
Comment on attachment 8729490 [details]
MozReview Request: Bug 1251184: [quicktime] P2. Use external plugin if available over native playback. r?cpearce

Fixes a regression in video playback on linux, I also checked with CPeterson who said he thinks this is a safe fix to uplift, Aurora47+
Attachment #8729490 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Attachment #8729489 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Flags: needinfo?(cpearce)
Verified fixed FX 47.0 Win 7
[Tracking Requested - why for this release]:

We have recently upgraded to Firefox ESR 45 (from ESR 38) on Macintosh and have exactly the same problem playing Quicktime videos - we get the error: "Video can't be played because the file is corrupt"

However, we can play (the same) Quicktime videos if media.mp4.enabled is set to false - but this then prevents other mp4 videos from playing ... so not a solution

Can this fix be be applied to Firefox ESR 45 as well please?

We can't really wait until Firefox ESR 52 to get have Quicktime video playback!
Comment on attachment 8729490 [details]
MozReview Request: Bug 1251184: [quicktime] P2. Use external plugin if available over native playback. r?cpearce

[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration: Broken quicktime playback on ESR (regression)
User impact if declined: Broken ESR playback
Fix Landed on Version: Firefox 47
Risk to taking this patch (and alternatives if risky): Low
String or UUID changes made by this patch: None

See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.


I realize there are only a few ESRs left, but this is a pretty serious regression especially in education.
Attachment #8729490 - Flags: approval-mozilla-esr45?
Comment on attachment 8729489 [details]
MozReview Request: Bug 1251184: [quicktime] P1. Report video/quicktime mimetype when sniffing. r?cpearce

[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration: Broken quicktime playback on ESR (regression)
User impact if declined: Broken ESR playback
Fix Landed on Version: Firefox 47
Risk to taking this patch (and alternatives if risky): Low
String or UUID changes made by this patch: None

See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.


I realize there are only a few Firefox 45 ESRs left, but this is a pretty serious regression especially in education.
Attachment #8729489 - Flags: approval-mozilla-esr45?
If you have a video that doesn't play in 45 but plays in current Firefox, I'd be interested with a link. I'm fairly certain on which change made those videos play. It's a trivial change to and could be easily backported to 45.
(In reply to Jean-Yves Avenard [:jya] from comment #30)
> If you have a video that doesn't play in 45 but plays in current Firefox,
> I'd be interested with a link. I'm fairly certain on which change made those
> videos play. It's a trivial change to and could be easily backported to 45.

The following Quicktime video fails with ESR 45 and plays fine with FF 47 and above:

http://qtdevseed.apple.com/qadrift/_media/_source_files/jpeg_movs/clipcanvas_14348_PhotoJPEG.mov
Flags: needinfo?(jyavenard)
Just wondering - is this fix likely to be in ESR 45.5.0 ?
I've marked it with the appropriate flags to be looked at. I honestly don't know at this point.
This doesn't match the ESR criteria as we are only taking sec-high & sec-critical fixes.
Moreover, I am surprised that we only receive this request now as we pushed 45.2 & 45.3 before this new ESR release and nobody complained before.
We have only just moved from ESR 38 to ESR 45 - so we only hit this regression recently ...

It is rather bizarre that Firefox ESR 45 on a Mac isn't able to playback Quicktime videos :-)

Currently, we have to stay on ESR 38 and wait for ESR 52 - which is far from ideal

IMHO the fix appears to be straight forward - and I would urge you to make this change

Thanks
As Sylvestre mentioned we have strict criteria for uplift to ESR. We only take security fixes and occasionally fixes for stability issues, past the first couple of ESR releases in a cycle. 

Looks like this bug was first found in very late beta 45 development, just before 45 and 45esr released in March 2016. So it isn't surprising that the fix missed getting into ESR.  Our testing once we release an ESR version may not cover this scenario so we depend on user reports to fix regressions early in ESR. 
Mike, is there any other workaround you can think of for James and his school/lab?   Is this for every QT video or only particular codecs?
Comment on attachment 8729489 [details]
MozReview Request: Bug 1251184: [quicktime] P1. Report video/quicktime mimetype when sniffing. r?cpearce

This will need to wait for esr 52 release, because we limit esr uplifts to critical security and stability fixes.
Attachment #8729489 - Flags: approval-mozilla-esr45? → approval-mozilla-esr45-
> Mike, is there any other workaround you can think of for James and his school/lab? 

Unfortunately not.

> Is this for every QT video or only particular codecs?

IT sounds like it's all Quicktime.

> As Sylvestre mentioned we have strict criteria for uplift to ESR. We only take security fixes and occasionally fixes for stability issues, past the first couple of ESR releases in a cycle. 

We've taken regression fixes in the past.

If we ship a broken Firefox as the ESR, we should make an effort to fix those things.

Maybe we need to update the ESR criteria to include regressions...
BTW, we could more elegantly fix those videos not playing and not requiring the QuickTime plugin by using another patch instead. QuickTime plugin is old and no longer supported by apple. If this a solution acceptable, let me know and I'll request esr approval for the concerning bug.
Flags: needinfo?(jyavenard)
(In reply to Jean-Yves Avenard [:jya] from comment #39)
> BTW, we could more elegantly fix those videos not playing and not requiring
> the QuickTime plugin by using another patch instead. QuickTime plugin is old
> and no longer supported by apple. If this a solution acceptable, let me know
> and I'll request esr approval for the concerning bug.

Which patch is that?

Our existing workflow uses the Quicktime plugin. This worked fine in ESR 38 and is broken in ESR 45 (but works OK with FF 47)

Will this other patch allow us to keep our existing workflow?
(In reply to James Pearson from comment #40)
> (In reply to Jean-Yves Avenard [:jya] from comment #39)
> > BTW, we could more elegantly fix those videos not playing and not requiring
> > the QuickTime plugin by using another patch instead. QuickTime plugin is old
> > and no longer supported by apple. If this a solution acceptable, let me know
> > and I'll request esr approval for the concerning bug.
> 
> Which patch is that?
> 
> Our existing workflow uses the Quicktime plugin. This worked fine in ESR 38
> and is broken in ESR 45 (but works OK with FF 47)
> 
> Will this other patch allow us to keep our existing workflow?

It should. But just to be sure. Could you attach or link to a video not currently playing. I'm fairly certain on which bug fixed it for most commonly found QuickTime video.
I've attached a sample Quicktime video - of the same type that we can no longer play
are you sure those videos plays in 47 and later without the quicktime plugin? I don't see how... This video has a MJPEG track, we do not support it.

So yes, for this to work, you must use the quicktime plugin... Mind you, you will not be able to use the quicktime plugin next year either.. the NPAPI interface required to use those kind of plugins is being removed
I've never said these videos play in 47 _without_ a quicktime plugin ...

The whole of this BZ is about supporting playback _with_ a quicktime plugin - which is broken in ESR 45 and fixed (with the patches in this BZ) in FF 47

Our workflow currently requires the quicktime plugin to playback these videos

ESR 45 still supports the quicktime plugin - and that is what we want to use for the next year or so

Thanks
You may still want to consider updating your workflow so that those type of files are no longer generated; or convert those files to something universally supported. 

There are no web browser supporting those files without the use of an external plugin; and those plugins will no longer work very soon. 

Chrome has already dropped support for those. 

It may not be what you want to hear right now, but this is something that you will have to consider in the very short future. May as well start now!

Converting those files in a batch process will be rather simple. I can help you with that. 
To top it all, any files converted will be about half the size of what they are now. If not even much less.
Unfortunately we have millions of these quicktimes (yes, millions) in our archive and hundreds of thousands online at any one time - and we can not convert these at this time ...

We _are_ looking into changing our workflow over the next year, but we _can not_ change at the moment ...

ESR 45 still has support for NPAPI - and will do until June 2017

i.e. fixing this regressioin in ESR 45 will be, by far, the simplest solution :-)

Thanks
Sorry to sound like a broken record, but can we get this fix into ESR 45.5.0 ?

Thanks
I am sorry but this doesn't match the ESR criteria. For stability purpose, we only take security fixes.
> I am sorry but this doesn't match the ESR criteria. For stability purpose, we only take security fixes.

1. We've taken regression fixes in the past.
2. We have a longer cycle on Firefox 45 ESR than usual.

We should consider updating the ESR criteria to include regressions. It's not really right to force people to stay on a broken Firefox when we are well aware of what we broke and how to fix it. We'll end up making people more insecure because they will stay on older ESRs.
Jean-Yves, do you expect some regressions if we take this patch in esr45? (meaning, without pre-release testing)
thanks
Flags: needinfo?(jyavenard)
No. the patch has been in the tree for a while. The logic is simple: if we don't support the mime type found in the container and we have a plugin stating to support the plugin: use the plugin. 
Additionally the patch was first designed for 45, so there will be no uplift conflicts. 

So it's safe.
Flags: needinfo?(jyavenard)
Comment on attachment 8729489 [details]
MozReview Request: Bug 1251184: [quicktime] P1. Report video/quicktime mimetype when sniffing. r?cpearce

OK, let's take it for the next ESR then.
I will ask to QE to verify it. In case of regressions with other conflicts or videos, we should backout the change.
Attachment #8729489 - Flags: approval-mozilla-esr45- → approval-mozilla-esr45+
Attachment #8729490 - Flags: approval-mozilla-esr45? → approval-mozilla-esr45+
Release Note Request (optional, but appreciated)
[Why is this notable]: Fix a regression
[Suggested wording]: Fix a regression with the quicktime playback plugin
[Links (documentation, blog post, etc)]:
Confirmed all is working as expected with the latest 'tinderbox-build' for mozilla-esr45

Thanks
Would be nice if qe could verify that we haven't break other plugins or video playback with this patch.
Flags: qe-verify+
I've tested this on latest tinderbox build ESR 45.4.1 from 19-Oct-2016 on Win 7, OS X 10.11.
Quicktime, Flash, Java, Silverlight work fine.
Anyway, we'll run more tests when the next ESR release is out.
Verified fixed.
Removing qe-verify flag, since this bug has been verified on all fixed branches.
Flags: qe-verify+
Seems a bit late now to be adding this to the 50 release notes, removing the flag.
You need to log in before you can comment on or make changes to this bug.