Bug 129278

Summary: [Win] Gracefully recover from missing "naturalSize" parameter for media
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: MediaAssignee: Brent Fulgham <bfulgham>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, commit-queue, eric.carlson, glenn, jer.noble, philipj, sergio
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch eric.carlson: review+

Description Brent Fulgham 2014-02-24 17:06:12 PST
In some cases, we get a zero-size "naturalSize" result when querying the media for its size. When this happens, we should not refuse to play the media. Instead, we should use the player item's "presentationSize".
Comment 1 Brent Fulgham 2014-02-24 17:06:53 PST
<rdar://problem/15952377>
Comment 2 Brent Fulgham 2014-02-24 22:09:12 PST
Created attachment 225121 [details]
Patch
Comment 3 Eric Carlson 2014-02-25 07:45:33 PST
Comment on attachment 225121 [details]
Patch

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

> Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:758
> +                // Don't treat a failure to retrieve these parameters as fatal. We will use @"presentationSize" instead.
> +                // <rdar://problem/15966685>

This comment (and the change log) imply that MediaCharacteristicsWithMediaSelectionOptions is equivalent to NaturalSize. This is seems unlikely. Having separate comparisons for each, with a comment about why it is OK to fail to retrieve MediaCharacteristicsWithMediaSelectionOptions, would be better.

> Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:904
>              if (AVCFPlayerItemTrackIsEnabled(track)) {
>                  RetainPtr<AVCFAssetTrackRef> assetTrack = adoptCF(AVCFPlayerItemTrackCopyAssetTrack(track));
> +                if (!assetTrack)
> +                    continue;

This seems odd, please add a comment about why we don't care that a track is enabled but not available.
Comment 4 Brent Fulgham 2014-02-25 11:42:11 PST
Committed r164660: <http://trac.webkit.org/changeset/164660>