During testing, we found that playback on Mavericks could stall for some types of content. This was due to some changes in how the underlying media system works in more recent Operating System releases. Consequently, we will revert Mavericks to work as it had before r175251 introduced this Mavericks-specific regression.
<rdar://problem/21271919>
Created attachment 254897 [details] Patch
Comment on attachment 254897 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=254897&action=review > Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:656 > +#if USE(VIDEOTOOLBOX) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 10100 I think you want 101000, here and below. Although I'm quite confused, because we seem inconsistent with this.
Created attachment 254899 [details] Patch
Created attachment 254902 [details] Patch
Committed r185569: <http://trac.webkit.org/changeset/185569>
Comment on attachment 254902 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=254902&action=review > Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:2270 > +#if USE(VIDEOTOOLBOX) && (!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED < 101000) Is this correct? Should the clause after "USE(VIDEOTOOLBOX) be the "opposite" of "!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000)", which would be: #if USE(VIDEOTOOLBOX) && (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101000) Actually, it currently does not matter here because USE(VIDEOTOOLBOX) is only true on PLATFORM(MAC) at the moment, although I think this is still (more) correct given the other changes.
(In reply to comment #7) > Comment on attachment 254902 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=254902&action=review > > > Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:2270 > > +#if USE(VIDEOTOOLBOX) && (!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED < 101000) > > Is this correct? Should the clause after "USE(VIDEOTOOLBOX) be the > "opposite" of "!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || > __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000)", which would be: Oh! Yes, you are right. I got a little carried away with some copy/paste. It should actually be: #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101000 I'll try to land a fix ASAP.
Corrected macro in follow-up patch: Committed r185580: <http://trac.webkit.org/changeset/185580>