Bug 130624

Summary: Pass additional AVFoundation options during iOS playback
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: MediaAssignee: Brent Fulgham <bfulgham>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, calvaris, commit-queue, eric.carlson, esprehn+autocc, glenn, gyuyoung.kim, jer.noble, philipj, sergio
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch eric.carlson: review+

Brent Fulgham
Reported 2014-03-21 17:38:04 PDT
Pass <video> attribute to AVFoundation during playback on iOS devices.
Attachments
Patch (6.16 KB, patch)
2014-03-21 17:43 PDT, Brent Fulgham
eric.carlson: review+
Brent Fulgham
Comment 1 2014-03-21 17:43:42 PDT
Brent Fulgham
Comment 2 2014-03-21 17:45:04 PDT
Darin Adler
Comment 3 2014-03-22 08:00:06 PDT
Comment on attachment 227516 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=227516&action=review > Source/WebCore/ChangeLog:3 > + [iOS] Pass additional options to AVFoudnation during playback. Typo: foudnation > Source/WebCore/html/HTMLMediaElement.cpp:6018 > + if (value) > + *value = fastGetAttribute(attributeName); It’s not good for performance to call fastHasAttribute and then fastGetAttribute on the same name. That’s a double hash table lookup. The code should be restructured so it only does one of the two. If you call fastGetAttribute, you can check “has” by checking isNull on the result. > Source/WebCore/html/HTMLMediaElement.h:134 > + virtual bool doesHaveAttribute(const AtomicString&, AtomicString* = 0) const override; Should be nullptr, not 0. Second argument needs a name. Not at all obvious what the AtomicString* is for. > Source/WebCore/platform/graphics/MediaPlayer.h:251 > + virtual bool doesHaveAttribute(const AtomicString&, AtomicString* = 0) const { return false; } Should be nullptr, not 0. Second argument needs a name. Not at all obvious what the AtomicString* is for. > Source/WebCore/platform/graphics/MediaPlayer.h:303 > + bool doesHaveAttribute(const AtomicString&, AtomicString* = 0) const; Should be nullptr, not 0. Second argument needs a name. Not at all obvious what the AtomicString* is for.
Brent Fulgham
Comment 4 2014-03-25 10:02:59 PDT
Comment on attachment 227516 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=227516&action=review >> Source/WebCore/ChangeLog:3 >> + [iOS] Pass additional options to AVFoudnation during playback. > > Typo: foudnation Fixed >> Source/WebCore/html/HTMLMediaElement.cpp:6018 >> + *value = fastGetAttribute(attributeName); > > It’s not good for performance to call fastHasAttribute and then fastGetAttribute on the same name. That’s a double hash table lookup. The code should be restructured so it only does one of the two. If you call fastGetAttribute, you can check “has” by checking isNull on the result. Done. >> Source/WebCore/html/HTMLMediaElement.h:134 >> + virtual bool doesHaveAttribute(const AtomicString&, AtomicString* = 0) const override; > > Should be nullptr, not 0. > > Second argument needs a name. Not at all obvious what the AtomicString* is for. Done. >> Source/WebCore/platform/graphics/MediaPlayer.h:303 >> + bool doesHaveAttribute(const AtomicString&, AtomicString* = 0) const; > > Should be nullptr, not 0. > > Second argument needs a name. Not at all obvious what the AtomicString* is for. Done
Brent Fulgham
Comment 5 2014-03-25 14:01:14 PDT
Note You need to log in before you can comment on or make changes to this bug.