[Mac] Add AudioTrack support to MediaPlayerPrivateAVFObC.
<rdar://problem/15103997>
Created attachment 212858 [details] Work in progress
Created attachment 212859 [details] Patch
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.
Committed r156652: <http://trac.webkit.org/changeset/156652>