Closed Bug 628872 Opened 9 years ago Closed 9 years ago

BBC iplayer fullscreen function broken in FF4 beta 9, 10 and nightly builds

Categories

(Core :: Plug-ins, defect, major)

x86
Windows XP
defect
Not set
major

Tracking

()

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

People

(Reporter: orangezilla, Assigned: jimm)

References

()

Details

(Keywords: regression, Whiteboard: [hardblocker][fx4-fixed-bugday])

Attachments

(1 file, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Windows NT 6.1; rv:2.0b10) Gecko/20100101 Firefox/4.0b10
Build Identifier: 4.0b10, 4.0b10pre

Fullscreen button is broken for all standard definition videos (although doublicking works), fullscreen function is broken altogether for HD videos, which just zoom into a corner within small sized window.

Reproducible: Always

Steps to Reproduce:
1.Click any video at http://www.bbc.co.uk/iplayer/
2.Play standard definition video i.e. BBC One, Two, Three, Four, click play (wait for intro), click fullscreen button on far right, nothing seems to happen, but when then clicking resize buttons (double arrow) it all messes up either moving video across screen or zooming. Launching pop out player, then clicking fullscreen button also causes moving of play controls or zooming.
3. Play high definition video i.e. BBC HD http://www.bbc.co.uk/iplayer/tv/bbc_hd/20110124 , wait for intro, click play in full screen, it zooms instead of going to fullscreen.
Component: Flash (Adobe) → Plug-ins
Product: Plugins → Core
Version: unspecified → Trunk
QA Contact: adobe-flash → plugins
Confirmed
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b11pre) Gecko/20110126 Firefox/4.0b11pre ID:20110126064706

Shockwave Flash
    File: NPSWF32.dll
    Version: 10.1.102.64
    Shockwave Flash 10.1 r102

Graphics
    Adapter Description: ATI Radeon HD 4300/4500 Series
    Vendor ID: 1002
    Device ID: 954f
    Adapter RAM: 512
    Adapter Drivers: aticfx64 aticfx64 aticfx32 aticfx32 atiumd64 atidxx64
atiumdag atidxx32 atiumdva atiumd6a atitmm64
    Driver Version: 8.801.0.0
    Driver Date: 
    Direct2D Enabled: true
    DirectWrite Enabled: true
    WebGL Renderer: TransGaming Inc. -- ANGLE -- OpenGL ES 2.0 (git-devel Jan
13 2011 03:37:36)
    GPU Accelerated Windows: 1/1 Direct3D 10


*It works if I set dom.ipc.plugins.enabled to false.
Status: UNCONFIRMED → NEW
blocking2.0: --- → ?
Ever confirmed: true
Regression window(m-c hourly):
Works;
http://hg.mozilla.org/mozilla-central/rev/37290bda896d
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b9pre) Gecko/20101220 Firefox/4.0b9pre ID:20101220031836
Fails:
http://hg.mozilla.org/mozilla-central/rev/39aba38b8706
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b9pre) Gecko/20101219 Firefox/4.0b9pre ID:20101220064914
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=37290bda896d&tochange=39aba38b8706
Keywords: regression
Great, fixed one video player and broke another.
Blocks: 572417
Assignee: nobody → jmathies
Small correction to my first post, you can also double click the HD videos to go fullscreen, but if you click the small fullscreen button or the big "watch in fullscreen" button in the center of the video you get the zooming problem, that can be gotten out of again by double clicking. 

Many people reporting the problem on mozilla feedback, all Windows versions & Mac OS X
http://input.mozilla.com/en-US/beta/search?product=firefox&q=iplayer
OS: Windows 7 → All
blocking2.0: ? → final+
Whiteboard: [hardblocker]
(In reply to comment #4)
> Small correction to my first post, you can also double click the HD videos to
> go fullscreen, but if you click the small fullscreen button or the big "watch
> in fullscreen" button in the center of the video you get the zooming problem,
> that can be gotten out of again by double clicking. 
> 
> Many people reporting the problem on mozilla feedback, all Windows versions &
> Mac OS X
> http://input.mozilla.com/en-US/beta/search?product=firefox&q=iplayer

If that's the case, the regression range seems wrong, or we have two bugs, one on each platform?
(In reply to comment #5)
> If that's the case, the regression range seems wrong, or we have two bugs, one
> on each platform?
Sorry not 100% on the regression terminology here, but to sum up it up, the problem is not that full screen function is broken per se, but that the fullscreen button, whether the small one on the bottom right of the SD and HD video windows or the larger one overlayed in the center of HD videos, are broken somehow and clicking them causes a malfunction, causing further button clicking, particularly the resize button on SD videos not to have the desired effect. If the fullscreen buttons are avoided and you double click in video area to go fullscreen or back to windowed, all the other player controls work as expected in full screen or window.
Just played around a bit, it seems the fullscreen button, once you've got into fullscreen by double clicking the video area in SD or HD, does function to get you out of fullscreen.
Hmm, if anyone knows of any tricks to getting this site to play video in the states, please post. I'm running into copyright protection on pretty much everything.
Not all videos on the website should be region-locked - for instance this one plays back for me, and I'm in the Netherlands: http://news.bbc.co.uk/sport2/hi/other_sports/snooker/9362901.stm
(In reply to comment #9)
> Not all videos on the website should be region-locked - for instance this one
> plays back for me, and I'm in the Netherlands:
> http://news.bbc.co.uk/sport2/hi/other_sports/snooker/9362901.stm
This problem is only with the BBC iplayer site, the other BBC videos work OK.
(In reply to comment #8)
> Hmm, if anyone knows of any tricks to getting this site to play video in the
> states, please post. I'm running into copyright protection on pretty much
> everything.
Did you try some from the BBC NEWS or BBC PARLIAMENT sections i.e.
http://www.bbc.co.uk/iplayer/episode/b00y4606/The_Record_27_01_2011/
http://www.bbc.co.uk/iplayer/episode/b00x543j/Our_World_24_12_2010/
http://www.bbc.co.uk/iplayer/episode/b00y4z2d/The_Daily_Politics_27_01_2011/

otherwise I guess you need a decent UK proxy or VPN

http://hurwi.net/blog/?p=28

http://answers.yahoo.com/question/index?qid=20080306092536AAcXhI3
(In reply to comment #11)
> otherwise I guess you need a decent UK proxy or VPN
> 
> http://hurwi.net/blog/?p=28


Thanks for that tip, that's worked out well.

I'm still fiddling with this. Each of these players needs slightly different mouse capture behavior to work.  I've been able to fix the BBC player but that regresses the player in bug 572417.  I haven't found a combination yet that works in both.
Ok, I think I've figured this out. I should have a cleaned up patch ready this weekend.
Switching this back to windows. I don't see any mac issues in feedback that match this. There are some playback issues but nothing that appears to be related non-functioning controls in full screen mode.
OS: All → Windows XP
Excellent news about the patch! Looking at the feedback comments, I think you are right the Mac comments don't actually refer to a problem with the fullscreen buttons, I did find one comment on linux though

"bbc iplayer on ubuntu linux does not fill the screen when choosing fullscreen mode. external screen used instead of laptop default."

http://input.mozilla.com/en-US/beta/search?q=iplayer&product=firefox&page=8
Attached patch patch v.1 (obsolete) — Splinter Review
Try builds for testing should be available in about three hours:

http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/jmathies@mozilla.com-a98e0c6fa422

Hat tip to the chromium devs, they ran into this same problem and came up with the interesting idea of using a mouse hook, which seems to work in our environment as well.

I'd appreciate help is confirming this fix for the bbc site and the ign site from bug 572417:

http://ve3d.ign.com/videos/69204/PC/Portal-2/Trailer/E3-2010-Debut-Trailer
Jim, downloaded your build & I can confirm both bugs are now fixed, thanks for all your work on this & to Chromium devs!!!
Confirmed worked for me both iplayer and ign. Win7/32. Flash 10,1,102,64

Thanks very much Jim Great work, will make a lot of British FFox 4.0 happy.
Attachment #508171 - Flags: review?(bent.mozilla)
Comment on attachment 508171 [details] [diff] [review]
patch v.1

>+static void
>+HandleMouseCapture(HWND aWnd, UINT aMessage)

I think you should make this a static inline, hopefully it will avoid a function call within the hook proc.

>+  if (code == HC_ACTION) {
>+      MOUSEHOOKSTRUCT* hookStruct =
>+          reinterpret_cast<MOUSEHOOKSTRUCT*>(lParam);
>+      if (hookStruct)
>+          HandleMouseCapture(hookStruct->hwnd, wParam);

The MSDN docs seem to say that if code == HC_ACTION then lParam won't be null... Did you ever see it pass null there? If not I'd just assert it.

r=me with those!
Attachment #508171 - Flags: review?(bent.mozilla) → review+
Whiteboard: [hardblocker] → [hardblocker][has patch]
I landed this patch so we can get nightly testing on this, with the inlining suggested by bent. But I left the null check to be on the safe side. Leaving the bug open so Jim can decide which way he wants to go there.

http://hg.mozilla.org/mozilla-central/rev/95fa72a8e8ab
(In reply to comment #20)
> I landed this patch so we can get nightly testing on this, with the inlining
> suggested by bent. But I left the null check to be on the safe side. Leaving
> the bug open so Jim can decide which way he wants to go there.
> 
> http://hg.mozilla.org/mozilla-central/rev/95fa72a8e8ab

This is fine. The overhead here is minimal and provides parity with chromium src.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Whiteboard: [hardblocker][has patch] → [hardblocker]
Verified fixed in Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b12pre) Gecko/20110204 Firefox/4.0b12pre
Status: RESOLVED → VERIFIED
Whiteboard: [hardblocker] → [hardblocker][fx4-fixed-bugday]
Depends on: 631794
http://hg.mozilla.org/mozilla-central/rev/20608b6f871d

Backed out due to bug 631794.
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
This patch caused bug 631544, too.
Depends on: 631872
And for the record, bug 631872 is also fixed now that this was backed out.
Attachment #508171 - Attachment is obsolete: true
Comment on attachment 508171 [details] [diff] [review]
patch v.1

because we backed it out, I'm r-'ing
Attachment #508171 - Flags: review+ → review-
This needs beta coverage, and I don't think I'd hard block on it; updating accordingly.

Hopfully the new BBC iVideo Player will save us!
blocking2.0: final+ → betaN+
Whiteboard: [hardblocker][fx4-fixed-bugday] → [softblocker][fx4-fixed-bugday]
(In reply to comment #27)
> This needs beta coverage, and I don't think I'd hard block on it; updating
> accordingly.
> 
> Hopfully the new BBC iVideo Player will save us!

I have a variation of the patch in bug 572417 that fixes the BBC player problem but regresses the game web site player in that bug. So if I can't find a happy medium that addresses both, we should regress the game site and get the BBC player working.
(In reply to comment #27)
> This needs beta coverage, and I don't think I'd hard block on it; updating
> accordingly.
> 
> Hopfully the new BBC iVideo Player will save us!
I definitely think this needs to be a hardblocker, see feedback
http://input.mozilla.com/en-US/beta/search?product=firefox&version=4.0b11&date_start=&date_end=&q=iplayer

Also AFAIK, the BBC are not changing the iplayer website, but recently released a new iplayer application.
Yeah, I'm going to disagree with beltzner here.
Whiteboard: [softblocker][fx4-fixed-bugday] → [hardblocker][fx4-fixed-bugday]
http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/jmathies@mozilla.com-da3ee6f3b61f

I've just sent a new build to try that should have the bbc problem fixed without all the funny focus issues reported on the last patch.
New approach, this looked promising in a debug build. We'll see how the opt build does.

http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/jmathies@mozilla.com-ed0a46de4fe0
Comment on attachment 511981 [details] [diff] [review]
flash fs capture + focus patch

I do believe we have a working fix. I tested the BBC site and the IGN site in VMWare (single core) and had no problems. The IGN site also works on my desktop.
Attachment #511981 - Flags: review?(bent.mozilla)
Whiteboard: [hardblocker][fx4-fixed-bugday] → [hardblocker][fx4-fixed-bugday][has patch]
(In reply to comment #34)
> Try opt builds if anyone is interested in testing:
> 
> http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/jmathies@mozilla.com-e12dce848373/tryserver-win32/
Both iplayer and ign sites working fine with this build Jim :)
Blocks: 634216
Whiteboard: [hardblocker][fx4-fixed-bugday][has patch] → [hardblocker][fx4-fixed-bugday][has patch][needs review]
Whiteboard: [hardblocker][fx4-fixed-bugday][has patch][needs review] → [hardblocker][fx4-fixed-bugday][has patch][needs review bent]
Comment on attachment 511981 [details] [diff] [review]
flash fs capture + focus patch

>+    NS_ASSERTION(self->mPluginWndProc != PluginWindowProc,
>+      "Self-referential windowproc happened inside our hook proc. \
>+      Infinite recursion will happen soon.");

Nit: No need for the slash, just make that two strings (the compiler will concatenate them).

e.g. NS_ASSERTION(cond, " "
       " ");
Attachment #511981 - Flags: review?(bent.mozilla) → review+
Patch landed on mozilla-central:

http://hg.mozilla.org/mozilla-central/rev/b096f6bfce30
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
No longer blocks: 634216
Duplicate of this bug: 634216
https://bugzilla.mozilla.org/show_bug.cgi?id=572417

I can confirm IGN is fixed in today's nightly. Youtube also looks fine. If someone in England can confirm the BBC iPlayer, we can mark this verified.
Whiteboard: [hardblocker][fx4-fixed-bugday][has patch][needs review bent] → [hardblocker][fx4-fixed-bugday]
(In reply to comment #39)
> https://bugzilla.mozilla.org/show_bug.cgi?id=572417
> 
> I can confirm IGN is fixed in today's nightly. Youtube also looks fine. If
> someone in England can confirm the BBC iPlayer, we can mark this verified.

All iplayer functions confirmed working on 2011-02-16 build, Jim.
Status: RESOLVED → VERIFIED
(In reply to comment #40)
> (In reply to comment #39)
> > https://bugzilla.mozilla.org/show_bug.cgi?id=572417
> > 
> > I can confirm IGN is fixed in today's nightly. Youtube also looks fine. If
> > someone in England can confirm the BBC iPlayer, we can mark this verified.
> 
> All iplayer functions confirmed working on 2011-02-16 build, Jim.

Great!
You need to log in before you can comment on or make changes to this bug.