Changeset 256804 in webkit


Ignore:
Timestamp:
Feb 17, 2020 6:31:41 PM (4 years ago)
Author:
Peng Liu
Message:

MediaSource.isTypeSupported() says "video/mp4;codecs=\"avc3.42C015\"" is not supported, but it is
https://bugs.webkit.org/show_bug.cgi?id=207622

Reviewed by Eric Carlson.

Revert the behavior change of MediaPlayerPrivateMediaSourceAVFObjC::supportsType() in r253952.

  • platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:

(WebCore::AVAssetMIMETypeCache::canDecodeExtendedType):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r256801 r256804  
     12020-02-17  Peng Liu  <peng.liu6@apple.com>
     2
     3        MediaSource.isTypeSupported() says "video/mp4;codecs=\"avc3.42C015\"" is not supported, but it is
     4        https://bugs.webkit.org/show_bug.cgi?id=207622
     5
     6        Reviewed by Eric Carlson.
     7
     8        Revert the behavior change of MediaPlayerPrivateMediaSourceAVFObjC::supportsType() in r253952.
     9
     10        * platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:
     11        (WebCore::AVAssetMIMETypeCache::canDecodeExtendedType):
     12
    1132020-02-17  Youenn Fablet  <youenn@apple.com>
    214
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVStreamDataParserMIMETypeCache.mm

    r256770 r256804  
    6060    ASSERT(isAvailable());
    6161
    62     String outputCodecs = type.parameter(ContentType::codecsParameter());
    63     ASSERT(!outputCodecs.isEmpty());
    64     if ([PAL::getAVStreamDataParserClass() respondsToSelector:@selector(outputMIMECodecParameterForInputMIMECodecParameter:)])
    65         outputCodecs = [PAL::getAVStreamDataParserClass() outputMIMECodecParameterForInputMIMECodecParameter:outputCodecs];
    66 
    67     String extendedType = makeString(type.containerType(), "; codecs=\"", outputCodecs, "\"");
    6862    if ([PAL::getAVStreamDataParserClass() respondsToSelector:@selector(canParseExtendedMIMEType:)])
    69         return [PAL::getAVStreamDataParserClass() canParseExtendedMIMEType:extendedType];
     63        return [PAL::getAVStreamDataParserClass() canParseExtendedMIMEType:type.raw()];
    7064
    7165    // FIXME(rdar://50502771) AVStreamDataParser does not have an -canParseExtendedMIMEType: method on this system,
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm

    r256770 r256804  
    254254        return MediaPlayer::SupportsType::IsNotSupported;
    255255
     256    String outputCodecs = parameters.type.parameter(ContentType::codecsParameter());
     257    ASSERT(!outputCodecs.isEmpty());
     258    if ([PAL::getAVStreamDataParserClass() respondsToSelector:@selector(outputMIMECodecParameterForInputMIMECodecParameter:)])
     259        outputCodecs = [PAL::getAVStreamDataParserClass() outputMIMECodecParameterForInputMIMECodecParameter:outputCodecs];
     260
     261    String extendedType = makeString(parameters.type.containerType(), "; codecs=\"", outputCodecs, "\"");
    256262    auto supported = MediaPlayer::SupportsType::IsNotSupported;
    257263    auto& streamDataParserCache = AVStreamDataParserMIMETypeCache::singleton();
    258264    if (streamDataParserCache.isAvailable())
    259         supported = streamDataParserCache.canDecodeType(parameters.type.raw());
     265        supported = streamDataParserCache.canDecodeType(extendedType);
    260266    else {
    261267        auto& assetCache = AVAssetMIMETypeCache::singleton();
    262268        if (assetCache.isAvailable())
    263             supported = assetCache.canDecodeType(parameters.type.raw());
     269            supported = assetCache.canDecodeType(extendedType);
    264270    }
    265271
Note: See TracChangeset for help on using the changeset viewer.