Bug 122043

Summary: [Mac] Add AudioTrack support to MediaPlayerPrivateAVFObC.
Product: WebKit Reporter: Jer Noble <jer.noble>
Component: New BugsAssignee: Jer Noble <jer.noble>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, eric.carlson, esprehn+autocc, glenn, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 122049    
Attachments:
Description Flags
Work in progress
none
Patch eric.carlson: review+

Jer Noble
Reported 2013-09-27 17:13:32 PDT
[Mac] Add AudioTrack support to MediaPlayerPrivateAVFObC.
Attachments
Work in progress (22.10 KB, patch)
2013-09-27 17:16 PDT, Jer Noble
no flags
Patch (26.16 KB, patch)
2013-09-27 17:32 PDT, Jer Noble
eric.carlson: review+
Radar WebKit Bug Importer
Comment 1 2013-09-27 17:14:28 PDT
Jer Noble
Comment 2 2013-09-27 17:16:20 PDT
Created attachment 212858 [details] Work in progress
Jer Noble
Comment 3 2013-09-27 17:32:30 PDT
Eric Carlson
Comment 4 2013-09-28 13:27:12 PDT
Comment on attachment 212859 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=212859&action=review > Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:93 > + for (AVMetadataItem* item in [assetTrack commonMetadata]) { > + if ([item.key isEqual:AVMetadataCommonKeyTitle]) { > + setLabel((NSString*)item.value); > + break; > + } > + } It would be good to return the label in the user's preferred language if possible. See InbandTextTrackPrivateLegacyAVFObjC::label. > Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:95 > + setLanguage([assetTrack extendedLanguageTag]); This will miss a language stored as a QuickTime 5-bit packed code. See MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack. > Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:220 > + Vector<RefPtr<AudioTrackPrivateAVFObjC> > m_audioTracks; We don't need a space in "> >" any more. > Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1060 > + typedef Vector<RefPtr<AudioTrackPrivateAVFObjC> > AudioTrackVector; Ditto. > Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1073 > + player()->removeAudioTrack(i->get()); It would probably be safer to so this after the m_audioTracks.swap, so the new track configuration is already set up. > Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1081 > + player()->addAudioTrack(newTrack.get()); Ditto.
Jer Noble
Comment 5 2013-09-30 08:17:05 PDT
Note You need to log in before you can comment on or make changes to this bug.