Changeset 1310

Show
Ignore:
Timestamp:
05/23/10 00:08:22 (2 years ago)
Author:
astrange
Message:

Import WebM files.

Doesn't decode VP8 yet so we can't claim actual support.

Location:
trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/CodecIDs.h

    r1213 r1310  
    8484        kVideoFormatIndeo2                      = 'RT21', 
    8585        kVideoFormatIndeo3                      = 'IV32', 
     86        kVideoFormatVP8                         = 'VP80', 
    8687         
    8788        kAudioFormatFlashADPCM                  = 'FlAd', 
  • trunk/MatroskaCodecIDs.cpp

    r1246 r1310  
    814814        { kVideoFormatXiphTheora, "V_THEORA" }, 
    815815        { kVideoFormatSnow, "V_SNOW" }, 
     816        { kVideoFormatVP8, "V_VP8" }, 
    816817         
    817818        { kAudioFormatMPEG4AAC, "A_AAC" }, 
  • trunk/MatroskaImport.r

    r1160 r1310  
    195195}; 
    196196 
     197// Component Alias 
     198resource 'thga' (518) { 
     199        'eat ',                                                         // Type 
     200        'WEBM',                                                         // Subtype - this must be in uppercase. It will match an ".eim" suffix case-insensitively. 
     201        'vide',                                                         // Manufaturer - for 'eat ' the media type supported by the component 
     202        kMatroskaImportFlags |                          // Component Flags 
     203        movieImportSubTypeIsFileExtension,      // The subtype is a file name suffix 
     204        0,                                                                      // Component Flags Mask 
     205        0,                                                                      // Code Type 
     206        0,                                                                      // Code ID 
     207        'STR ',                                                         // Name Type 
     208        kMkvImportResource,                                                             // Name ID 
     209        0,                                                                      // Info Type 
     210        0,                                                                      // Info ID  
     211        0,                                                                      // Icon Type  
     212        0,                                                                      // Icon ID 
     213    // TARGET COMPONENT --------------- 
     214        'eat ',                                                         // Type 
     215        'MkvF',                                                         // SubType 
     216        'vide',                                                         // Manufaturer 
     217        0,                                                                      // Component Flags 
     218        0,                                                                      // Component Flags Mask 
     219        'thnr', kMkvImportResource,                                             // Component public resource identifier 
     220        cmpAliasOnlyThisFile 
     221}; 
     222 
    197223// Import components should include a public component resource holding the same data that 
    198224// MovieImportGetMIMETypeList would return. This public resource's type and ID should be 'mime' and 1, 
     
    263289                { 
    264290                        "Matroska file",                                // Media type description for MIME configuration panel and browser 
    265                         "mkv,mka",                                                              // File extension(s), comma delimited if more than one 
     291                        "mkv,mka,webm",                                                         // File extension(s), comma delimited if more than one 
    266292                        "QuickTime Player",                                     // Opening application name for MIME configuration panel and browser 
    267293                        "Matroska Movie Importer",      // Missing software description for the missing software dialog 
     
    272298                { 
    273299                        "video/x-matroska", 
    274                         "audio/x-matroska",      
     300                        "audio/x-matroska", 
     301            "audio/webm", 
     302            "video/webm", 
    275303                }, 
    276304        } 
     
    292320                kMimeInfoMimeTypeTag,      1, "video/x-matroska"; 
    293321                kMimeInfoMimeTypeTag,      2, "audio/x-matroska"; 
     322        kMimeInfoMimeTypeTag,      3, "audio/webm"; 
     323        kMimeInfoMimeTypeTag,      4, "video/webm"; 
    294324                kMimeInfoFileExtensionTag, 1, "mkv"; 
    295325                kMimeInfoFileExtensionTag, 2, "mka"; 
     326        kMimeInfoFileExtensionTag, 3, "webm"; 
     327        kMimeInfoFileExtensionTag, 4, "webm"; 
    296328                kMimeInfoDescriptionTag,   1, "Matroska"; 
    297329                kMimeInfoDescriptionTag,   2, "Matroska"; 
     330        kMimeInfoDescriptionTag,   3, "Matroska/WebM"; 
     331        kMimeInfoDescriptionTag,   4, "Matroska/WebM"; 
    298332        }; 
    299333}; 
  • trunk/MatroskaImportPrivate.cpp

    r1300 r1310  
    7575                 
    7676                EDocType docType = GetChild<EDocType>(*head); 
    77                 if (string(docType) != "matroska") { 
     77                if (string(docType) != "matroska" && string(docType) != "webm") { 
    7878                        Codecprintf(NULL, "Not a Matroska file\n"); 
    7979                        valid = false; 
  • trunk/Plists/PerianOpener-Info.plist

    r1300 r1310  
    5656                                <string>mkv</string> 
    5757                                <string>mka</string> 
     58                                <string>webm</string> 
    5859                        </array> 
    5960                        <key>CFBundleTypeMIMETypes</key> 
     
    6162                                <string>video/x-matroska</string> 
    6263                                <string>audio/x-matroska</string> 
     64                                <string>video/webm</string> 
     65                                <string>audio/webm</string> 
    6366                        </array> 
    6467                        <key>CFBundleTypeName</key> 
     
    6871                                <string>MKV </string> 
    6972                                <string>MKA </string> 
     73                                <string>WEBM</string> 
    7074                        </array> 
    7175                        <key>CFBundleTypeRole</key> 
     
    259263                                        <string>mkv</string> 
    260264                                        <string>mka</string> 
     265                                        <string>webm</string> 
    261266                                </array> 
    262267                        </dict>