Bug 135188

Summary: Allow media engines to control HTMLMediaElement's looping
Product: WebKit Reporter: Jer Noble <jer.noble>
Component: New BugsAssignee: Jer Noble <jer.noble>
Status: NEW ---    
Severity: Normal CC: bfulgham, buildbot, eric.carlson, jeremyj-wk, rniwa
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
WIP
none
WIP
none
WIP
none
Archive of layout-test-results from webkit-ews-06 for mac-mountainlion
none
Archive of layout-test-results from webkit-ews-04 for mac-mountainlion
none
Patch
none
Patch
none
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2
none
Archive of layout-test-results from webkit-ews-06 for mac-mountainlion
none
WIP
buildbot: commit-queue-
Archive of layout-test-results from webkit-ews-05 for mac-mountainlion none

Description Jer Noble 2014-07-22 22:12:10 PDT
Allow media engines to control HTMLMediaElement's looping
Comment 1 Jer Noble 2014-07-22 22:14:09 PDT
Created attachment 235342 [details]
WIP
Comment 2 Eric Carlson 2014-07-23 07:08:58 PDT
Comment on attachment 235342 [details]
WIP

View in context: https://bugs.webkit.org/attachment.cgi?id=235342&action=review

> Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:661
> +    [m_avPlayer setActionAtItemEnd:(player()->isLooping() ? AVPlayerActionAtItemEndAdvance : AVPlayerActionAtItemEndNone)];

Is it possible for player()->isLooping() and the looping parameter to be different?
Comment 3 Jer Noble 2014-07-23 08:46:23 PDT
Comment on attachment 235342 [details]
WIP

View in context: https://bugs.webkit.org/attachment.cgi?id=235342&action=review

>> Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:661
>> +    [m_avPlayer setActionAtItemEnd:(player()->isLooping() ? AVPlayerActionAtItemEndAdvance : AVPlayerActionAtItemEndNone)];
> 
> Is it possible for player()->isLooping() and the looping parameter to be different?

player()->isLooping() queries the HTMLMediaElement directly, so it's not possible for that and the "loop" attribute to be different, if that's what you're asking.
Comment 4 Jer Noble 2014-07-23 10:53:58 PDT
Created attachment 235359 [details]
WIP

Rebased
Comment 5 Jer Noble 2014-07-23 17:26:45 PDT
Created attachment 235394 [details]
WIP

Fixed Mac, GTK, and EFL build errors.
Comment 6 Build Bot 2014-07-23 22:02:11 PDT
Comment on attachment 235394 [details]
WIP

Attachment 235394 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/6490531802644480

New failing tests:
media/track/track-cues-missed.html
media/video-loop.html
compositing/video-page-visibility.html
media/track/track-cues-sorted-before-dispatch.html
media/video-played-collapse.html
Comment 7 Build Bot 2014-07-23 22:02:13 PDT
Created attachment 235405 [details]
Archive of layout-test-results from webkit-ews-06 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-06  Port: mac-mountainlion  Platform: Mac OS X 10.8.5
Comment 8 Build Bot 2014-07-23 23:03:30 PDT
Comment on attachment 235394 [details]
WIP

Attachment 235394 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/4669225150971904

New failing tests:
media/track/track-cues-missed.html
media/video-loop.html
compositing/video-page-visibility.html
media/track/track-cues-sorted-before-dispatch.html
media/video-played-collapse.html
Comment 9 Build Bot 2014-07-23 23:03:33 PDT
Created attachment 235407 [details]
Archive of layout-test-results from webkit-ews-04 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-04  Port: mac-mountainlion  Platform: Mac OS X 10.8.5
Comment 10 Eric Carlson 2014-07-24 05:28:21 PDT
(In reply to comment #3)
> (From update of attachment 235342 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=235342&action=review
> 
> >> Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:661
> >> +    [m_avPlayer setActionAtItemEnd:(player()->isLooping() ? AVPlayerActionAtItemEndAdvance : AVPlayerActionAtItemEndNone)];
> > 
> > Is it possible for player()->isLooping() and the looping parameter to be different?
> 
> player()->isLooping() queries the HTMLMediaElement directly, so it's not possible for that and the "loop" attribute to be different, if that's what you're asking.

I meant, is it possible for player()->isLooping() and the "loop" parameter passed to this method to be different? IOW, do you need to use player()->isLooping()  or can you use the "loop" parameter as you do in the rest of this method?
Comment 11 Jer Noble 2014-07-24 08:23:09 PDT
Comment on attachment 235342 [details]
WIP

View in context: https://bugs.webkit.org/attachment.cgi?id=235342&action=review

>>>> Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:661
>>>> +    [m_avPlayer setActionAtItemEnd:(player()->isLooping() ? AVPlayerActionAtItemEndAdvance : AVPlayerActionAtItemEndNone)];
>>> 
>>> Is it possible for player()->isLooping() and the looping parameter to be different?
>> 
>> player()->isLooping() queries the HTMLMediaElement directly, so it's not possible for that and the "loop" attribute to be different, if that's what you're asking.
> 
> I meant, is it possible for player()->isLooping() and the "loop" parameter passed to this method to be different? IOW, do you need to use player()->isLooping()  or can you use the "loop" parameter as you do in the rest of this method?

Ah, I see! Yes, there's no reason not to use "looping" here.
Comment 12 Alexey Proskuryakov 2014-08-14 11:53:19 PDT
Comment on attachment 235394 [details]
WIP

This patch has been through mac-wk2 EWS over a thousand times now, each time flakily failing in a way that didn't let EWS decide what exactly regressed. Marking r- to stop wasting bot time.
Comment 13 Jer Noble 2014-09-19 22:36:12 PDT
Created attachment 238408 [details]
Patch
Comment 14 Jer Noble 2014-09-19 23:58:08 PDT
Created attachment 238409 [details]
Patch
Comment 15 Build Bot 2014-09-20 01:10:05 PDT
Comment on attachment 238409 [details]
Patch

Attachment 238409 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5497006210416640

New failing tests:
media/track/track-cues-missed.html
media/track/track-cues-sorted-before-dispatch.html
Comment 16 Build Bot 2014-09-20 01:10:09 PDT
Created attachment 238410 [details]
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-10  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5
Comment 17 Build Bot 2014-09-20 01:27:56 PDT
Comment on attachment 238409 [details]
Patch

Attachment 238409 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/4946120820129792

New failing tests:
media/track/track-cues-missed.html
media/video-loop.html
media/track/track-cues-sorted-before-dispatch.html
Comment 18 Build Bot 2014-09-20 01:27:59 PDT
Created attachment 238411 [details]
Archive of layout-test-results from webkit-ews-06 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-06  Port: mac-mountainlion  Platform: Mac OS X 10.8.5
Comment 19 Jer Noble 2014-09-20 11:23:30 PDT
Created attachment 238413 [details]
WIP
Comment 20 Build Bot 2014-09-20 13:09:16 PDT
Comment on attachment 238413 [details]
WIP

Attachment 238413 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5257817334218752

New failing tests:
media/video-loop.html
Comment 21 Build Bot 2014-09-20 13:09:19 PDT
Created attachment 238417 [details]
Archive of layout-test-results from webkit-ews-05 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-05  Port: mac-mountainlion  Platform: Mac OS X 10.8.5