Closed Bug 594635 Opened 14 years ago Closed 14 years ago

[10.6] Some Quicktime videos not working

Categories

(Core Graveyard :: Plug-ins, defect)

x86
macOS
defect
Not set
normal

Tracking

(blocking2.0 betaN+)

RESOLVED FIXED
Tracking Status
blocking2.0 --- betaN+

People

(Reporter: ecchinut, Assigned: jaas)

References

(Depends on 1 open bug, )

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b5) Gecko/20100101 Firefox/4.0b5
Build Identifier: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b5) Gecko/20100101 Firefox/4.0b5

Quicktime video is not working in Mac OS X (Snow Leopard 10.6.4) and Firefox4 Beta 5. It works fine in Windows XP and Firefox4 Beta 5. Essentially the video element box only displays the first frame. Hover over the element or re-size the Firefox Window and the frame will re-draw the current frame of the playing video, but it will not actively display the video. Windows XP was using Quicktime 7.6.7, this may be the reason why it works and Mac it doesn't; Snow Leopard defaults to Quicktime X.

Reproducible: Always

Steps to Reproduce:
1. Watch a quicktime video
2. there is no step 2
Actual Results:  
Video is not watchable. Only draws a single frame. Audio plays fine. Re-sizing the window or hovering over the element with your mouse will cause the element to re-draw the current frame of the video. 

Expected Results:  
Smooth playing video that doesn't require any user interaction
I can't reproduce this problem on b5 or b6pre using QT Version: 7.6.6 on a 10.6.4 Intel machine.

I tried this movie trailer, and it played. I also tried mouse hover, window resizing, minimizing, maximizing...:

http://trailers.apple.com/trailers/magnolia/imstillhere/

Reporter, can you see if you are able to play the video using a different profile?
(In reply to comment #1)

Whole new profile worked - sort of. The trailer you linked to works now. Basically any trailer that had a "special design" page now works - 
e.g.
http://trailers.apple.com/trailers/dreamworks/megamind/
http://trailers.apple.com/trailers/fox/avatar/

However trailers that had no "special design" didn't work:
http://trailers.apple.com/trailers/sony/insidejob/
http://trailers.apple.com/trailers/sony_pictures/takers/

Slightly different problem though. They play a black screen with no audio. Only happens on OS X - Windows XP seemed fine.
Status: UNCONFIRMED → NEW
Component: General → Plug-ins
Ever confirmed: true
Product: Firefox → Core
QA Contact: general → plugins
Version: unspecified → Trunk
I can confirm this problem with the second set of videos in comment #2, using a fresh profile on the latest trunk nightly.
blocking2.0: --- → ?
I can't reproduce this on OS X 10.5.8.

But on 10.6.4 I can't even get the last two videos from comment #2 to play at all :-(  Don't know if that's the same bug.

The videos work fine (on 10.6.4) in Safari.

I tried with a fresh profile -- made no difference.

I'll try again later, on the chance what I saw was a server problem.
(In reply to comment #4)
Firefox 3.6.9 on OS X 10.6.4 is fine. So its definitely limited to FF4 builds.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
This may turn out to be a dup of bug 584012, but we don't yet have much evidence to go on, and different symptoms were reported in comment #0.

Let's wait until we have regression ranges for this bug, bug 584012 and bug 595168.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Status: REOPENED → NEW
> Let's wait until we have regression ranges for this bug, bug 584012 and bug
> 595168.

Actually bug 595168 already has one -- see bug 595168 comment #7.
I've found the regression range for the problems I describe in comment
#4:

firefox-2010-05-20-03-mozilla-central
firefox-2010-05-21-03-mozilla-central

http://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2010-05-20+03%3A00%3A00&enddate=2010-05-21+03%3A00%3A00

And in this range I've found that my symptoms are triggered by the
patch for bug 559259
(http://hg.mozilla.org/mozilla-central/rev/fef4737a3feb).

The patch for bug 559259 is Mac-specific, so my symptoms almost
certainly unrelated to bug 584012 (which is Windows-specific, at least
for the time being).

They're also probably unrelated to bug 595168, which has a different
regression range.
Blocks: 559259
(In response to comment #2)

> Slightly different problem though. They play a black screen with no
> audio.

ecchinut, it sounds like you can no longer reproduce the symptoms you
originally reported, and now see what I reported in comment #4.  So
let's change the bug's description to reflect that.

Please test with the 2010-05-20-03 and 2010-05-21-03 nightlies to try
to confirm (or refute) the regression range I found.
Summary: Quicktime not working/drawing video. Hover over redraws the current frame only. → [10.6] Quicktime not working/drawing video
(In reply to comment #0)
> Actual Results:  
> Video is not watchable. Only draws a single frame. Audio plays fine. Re-sizing
> the window or hovering over the element with your mouse will cause the element
> to re-draw the current frame of the video. 

This sounds like the timer driving the refresh (InvalidateRect) for quicktime is not working. Re-sizing causes the frame to refresh.
Summary: [10.6] Quicktime not working/drawing video → [10.6] Some Quicktime videos not working
Assignee: nobody → smichaud
Status: NEW → ASSIGNED
(In reply to comment #11)
> (In response to comment #2)
> 
> > Slightly different problem though. They play a black screen with no
> > audio.
> 
> ecchinut, it sounds like you can no longer reproduce the symptoms you
> originally reported, and now see what I reported in comment #4.  So
> let's change the bug's description to reflect that.
> 
> Please test with the 2010-05-20-03 and 2010-05-21-03 nightlies to try
> to confirm (or refute) the regression range I found.

Which nightly build? I tried Tracemonkey from that time period.
2010-05-20-03 Tracemonkey: Plays fine

2010-05-21-03 Tracemonkey: Plays almost fine. Its a bit wonky. It only displays the video when the mouse is moved/or hovered inside the video element. But at least it plays once done.

FF4 b6 pre 2010-09-13 nightly: No video whatsoever with these "odd" quicktimes.

I quickly screen capped the issues in each build (play in HD, otherwise its a bit blurry to watch):
http://www.youtube.com/watch?v=RMidXeiiLnU
blocking2.0: ? → final+
Steven: I also noticed that the HD videos noted in the second set of links in Comment 2 do nothing when I click on them (Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b7pre) Gecko/20100923 Firefox/4.0b7pre. Safari and Chrome both spawn an instance of quicktime to play them. Is this issue related to this bug, or should I file a new one? Using QT 7.6.6.
(In reply to comment #14)

That's probably a different bug.

And in any case I can't reproduce it.  Try with a fresh profile.
File Bug 599556 for the issue noted in Comment 14.
Assignee: smichaud → joshmoz
There are two problems I can easily reproduce on the Apple trailer site. First, the video does not update. I found out what is causing that, but I don't have a fix yet. The problem is that the update timer is not firing - ever.

-#define DEFAULT_REFRESH_MS 20 // CoreAnimation: 50 FPS
+#define DEFAULT_REFRESH_MS 500 // CoreAnimation: 2 FPS

Simply doing this will cause it to start firing, but obviously 2 FPS is too slow. Something about speeding up that timer causes it to stop firing at all.

The second problem is that even when the timer is firing the clipping for the video is incorrect. The cliprect we're giving the plugin via 'NPP_SetWindow' looks fine but the video only repaints in an inconsistently-sized portion of the top-left of the video's full area. I suspect it has something to do with how we transfer the image data across processes but I don't know for sure yet.

None of this happens when Quicktime is in-process, so it probably isn't the plugin.
(In reply to comment #17)
> I suspect it has something to do with
> how we transfer the image data across processes but I don't know for sure yet.

That's very likely. Early when I was implementing Core Animation I noticed that Flash and Quicktime didn't appear to draw the same way. Pinkerton noticed the same issue. A good place to look would be: http://mxr.mozilla.org/mozilla-central/source/gfx/thebes/nsCoreAnimationSupport.mm#675 . This is where we read the IOSurface back to a CGImage. I'll take a look tomorrow.
The refresh problem is just a mismatch between x,y,w,h and t,r,b,l:

 PluginInstanceParent::Invalidate()
 {
-    NPRect windowRect = {0, 0, mShWidth, mShHeight};
+    NPRect windowRect = {0, 0, mShHeight, mShWidth};
     RecvNPN_InvalidateRect(windowRect);
 }

Perhaps we can use a NSTimer instead of the ipc timers?
Attached patch fix v1.0 (obsolete) — Splinter Review
I hacked this together to test and it seems to work - it includes a timer fix (switch to nsITimer) and Benoit's width/height swap fix (thanks Benoit!). Not requesting review yet, I haven't put enough thought into whether or not this exact code is what we want.
Perhaps we should file another bug regarding the timer. This might come back and hurt us in the future.
Attached patch fix v1.1Splinter Review
There is one remaining problem with Apple's QT trailer site after these fixes. If you try to watch the same trailer twice (separate visits to the trailer's page) it often won't go past the loading stage even though it already played through once just fine. Doesn't seem like our bug though.
Attachment #486924 - Attachment is obsolete: true
Attachment #486954 - Flags: review?(b56girard)
Comment on attachment 486954 [details] [diff] [review]
fix v1.1

Looks good. Thanks for fixing this!
Attachment #486954 - Flags: review?(b56girard) → review+
Depends on: 608491
Attached patch fix v1.2Splinter Review
Compile fix for Linux and Windows.
Comment on attachment 487179 [details] [diff] [review]
fix v1.2

Since Quicktime is mostly broken without this fix I think we should take it for beta 7. It's a pretty targeted patch and the code is not too complicated so I think the risk is low. Unfortunately we don't have Core Animation NPAPI tests, I'll file a bug on getting basic tests up and running.
Attachment #487179 - Flags: approval2.0+
blocking2.0: final+ → betaN+
Just had a long and frank conversation with Josh about this bug and b7 landing. I expressed profound concern about landing plugin-related changes without any tests to lean on late in the b7 cycle.

Josh countered that the change was small, well-contained, and well-understood, that testing remains a problem that he wants to fix, but most importantly that b7 will be our first release on new mac architectures (no ppc, but with 64-bit x86) and that without this fix, all the people running to test that new architecture will inevitably note that "plugins are busted," and that risks burning us a bunch of feedback on our first 64-bit release. He also argues that this release will be watched by plugin vendors who want to see how our 64-bit version works, and that without this fix, those vendors may start drawing bad conclusions and working in ways we would rather them not. If this were "any" beta release, he argues, that wouldn't be such a problem, but b7 is one we expect to get above-average attention, being feature and API freeze.

That's a lot of argumentation for a 4kb patch, and I *still* worry about the lack of tests. Josh says the patch has clean tryserver runs, that it can land *today* and that if it bounces it bounces hard, and has agreed to send QA a testplan outlining what to look for and how to spot unintended bustage early. All in all, then, I agreed to attach my name to this scary landing at least as firmly as his and his reviewer's.

Let's get those tests, please, so that I can sleep again.
Flags: in-litmus?
Keywords: qawanted
pushed to mozilla-central

http://hg.mozilla.org/mozilla-central/rev/f50d5573200f
Status: ASSIGNED → RESOLVED
Closed: 14 years ago14 years ago
Resolution: --- → FIXED
Mac 10.6.4 (hardware), QT 7.6.6, latest nightly: Videos in comment #2 play fine. However, I notice the problem in comment #22; you can't replay videos.

XP SP3 (vm), QT 7.6.8, latest nightly: Videos play, but if you close a video before it is finished, there's a considerable amount of time when the video frame stays around in a lowered position before the page renders as it was before you stared playing the video. Sometimes it just stays there unless you move the mouse around. It's very noticeable. In this instance I do not see the problem in comment #22. Replay works fine.

Win 7 32bit (hardware), QT 7.6.8, latest nightly: Videos play fine. Replay works fine. No video frame turds as in the XP vm. Right-clicking on a video brings up a blank, dark frame. 

Win 7 64bit (hardware), QT 7.6.8, latest nightly: Similar as above. However, righ-clicking usually plays video.

I played around with video controls, and full screening, and tried out Flash. No problems there.

I'm concerned about not being able to replay videos in 10.6.

Marcia, any other comments?
This video doesn't play on Win 7 nor Mac 10.6: http://events.apple.com.edgesuite.net/1010qwoeiuryfg/event/index.html

But it's difficult to tell if it is because of streaming problems or Firefox problems.
For QT playing issue in Win7 x64, there is bug 584012 that is still applicable.
Issue is resolved - clearing old keywords - qa-wanted clean-up
Keywords: qawanted
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: