Changeset 187164 in webkit
- Timestamp:
- Jul 22, 2015 10:17:12 AM (9 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r187163 r187164 1 2015-07-22 Matthew Daiter <mdaiter@apple.com> 2 3 Remove revealing getVideoTracks() and getAudioTracks() 4 https://bugs.webkit.org/show_bug.cgi?id=147126 5 <rdar://problem/21908723> 6 7 Reviewed by Eric Carlson. 8 9 * Modules/mediastream/MediaStream.h: 10 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h: 11 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: 12 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC): 13 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Modded to use 14 tracks() instead of getVideo/AudioTracks() 15 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformLayer): Ditto 16 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal): Ditto 17 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pauseInternal): Ditto 18 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted): Ditto 19 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::naturalSize): Ditto 20 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasVideo): Ditto 21 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasAudio): Ditto 22 (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime): 23 Changed to a FIXME 24 * platform/mediastream/MediaStreamPrivate.h: 25 1 26 2015-07-22 Matthew Daiter <mdaiter@apple.com> 2 27 -
trunk/Source/WebCore/Modules/mediastream/MediaStream.h
r186640 r187164 65 65 MediaStreamTrack* getTrackById(String); 66 66 67 Vector<RefPtr<MediaStreamTrack>> getAudioTracks() override final;68 Vector<RefPtr<MediaStreamTrack>> getVideoTracks() override final;67 Vector<RefPtr<MediaStreamTrack>> getAudioTracks(); 68 Vector<RefPtr<MediaStreamTrack>> getVideoTracks(); 69 69 Vector<RefPtr<MediaStreamTrack>> getTracks() const; 70 70 -
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h
r186766 r187164 82 82 #endif 83 83 #if ENABLE(MEDIA_STREAM) 84 void load(MediaStreamPrivate *) override;84 void load(MediaStreamPrivate&) override; 85 85 #endif 86 86 void cancelLoad() override; … … 152 152 RefPtr<MediaStreamPrivateAVFObjC> m_MediaStreamPrivate; 153 153 RetainPtr<AVAsset> m_asset; 154 RetainPtr<AVCaptureVideoPreviewLayer> m_previewLayer; 154 155 RetainPtr<AVSampleBufferDisplayLayer> m_sampleBufferDisplayLayer; 155 156 Vector<RetainPtr<AVSampleBufferAudioRenderer>> m_sampleBufferAudioRenderers; -
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm
r186766 r187164 79 79 , m_loadingProgressed(false) 80 80 { 81 81 82 } 82 83 … … 133 134 #pragma mark MediaPlayerPrivateInterface Overrides 134 135 135 void MediaPlayerPrivateMediaStreamAVFObjC::load(MediaStreamPrivate *client)136 { 137 m_MediaStreamPrivate = MediaStreamPrivateAVFObjC::create( this, client->client());138 for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) {139 client->addTrack(&track->privateTrack(), MediaStreamPrivate::NotifyClientOption::DontNotify);140 client->client()->didAddTrackToPrivate(track->privateTrack());141 if ( track->readyState() == "live") {136 void MediaPlayerPrivateMediaStreamAVFObjC::load(MediaStreamPrivate& client) 137 { 138 m_MediaStreamPrivate = MediaStreamPrivateAVFObjC::create(*this, *client.client()); 139 for (auto track : client.tracks()) { 140 m_MediaStreamPrivate->addTrack(WTF::move(track), MediaStreamPrivate::NotifyClientOption::DontNotify); 141 m_MediaStreamPrivate->client()->didAddTrackToPrivate(*track); 142 if (!track->ended()) { 142 143 track->source()->startProducingData(); 143 144 track->setEnabled(true); 144 145 } 145 146 } 146 for (auto track : m_MediaStreamPrivate->client()->getAudioTracks()) { 147 client->addTrack(&track->privateTrack(), MediaStreamPrivate::NotifyClientOption::DontNotify); 148 client->client()->didAddTrackToPrivate(track->privateTrack()); 149 if (track->readyState() == "live") { 150 track->source()->startProducingData(); 151 track->setEnabled(true); 152 } 147 m_previewLayer = nullptr; 148 for (auto track : m_MediaStreamPrivate->tracks()) { 149 if (track->type() == RealtimeMediaSource::Type::Video) 150 m_previewLayer = static_cast<AVVideoCaptureSource*>(track->source())->previewLayer(); 153 151 } 154 152 m_player->client().mediaPlayerRenderingModeChanged(m_player); … … 173 171 PlatformLayer* MediaPlayerPrivateMediaStreamAVFObjC::platformLayer() const 174 172 { 175 if (!m_MediaStreamPrivate) 176 return MediaPlayerPrivateInterface::platformLayer(); 177 for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) { 178 // FIXME(146858): Just grab the first webcam for now, we can manage more later 179 AVVideoCaptureSource* capture = (AVVideoCaptureSource*)track->source(); 180 return (PlatformLayer*)[getAVCaptureVideoPreviewLayerClass() layerWithSession:capture->session()]; 181 } 182 return MediaPlayerPrivateInterface::platformLayer(); 173 if (!m_previewLayer) 174 return nullptr; 175 return static_cast<PlatformLayer*>(m_previewLayer); 183 176 } 184 177 … … 199 192 [m_synchronizer setRate:m_rate]; 200 193 201 for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) 202 track->source()->startProducingData(); 203 for (auto track : m_MediaStreamPrivate->client()->getAudioTracks()) 194 for (auto track : m_MediaStreamPrivate->tracks()) 204 195 track->source()->startProducingData(); 205 196 } … … 219 210 m_playing = false; 220 211 221 for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) 222 track->source()->stopProducingData(); 223 for (auto track : m_MediaStreamPrivate->client()->getAudioTracks()) 212 for (auto track : m_MediaStreamPrivate->tracks()) 224 213 track->source()->stopProducingData(); 225 214 } … … 242 231 void MediaPlayerPrivateMediaStreamAVFObjC::setMuted(bool muted) 243 232 { 244 for (auto track : m_MediaStreamPrivate->client()->getAudioTracks()) 245 track->source()->setMuted(muted); 233 for (auto track : m_MediaStreamPrivate->tracks()) { 234 if (track->type() == RealtimeMediaSource::Type::Audio) 235 track->source()->setMuted(muted); 236 } 246 237 } 247 238 248 239 FloatSize MediaPlayerPrivateMediaStreamAVFObjC::naturalSize() const 249 240 { 250 FloatSize floatSize; 251 for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) { 252 AVVideoCaptureSource* source = (AVVideoCaptureSource*)track->source(); 253 if (!source->stopped() && track->enabled()) { 254 if (source->width() > floatSize.width()) 255 floatSize.setWidth(source->width()); 256 if (source->height() > floatSize.height()) 257 floatSize.setHeight(source->height()); 241 FloatSize floatSize(0, 0); 242 for (auto track : m_MediaStreamPrivate->tracks()) { 243 if (track->type() == RealtimeMediaSource::Type::Video) { 244 AVVideoCaptureSource* source = (AVVideoCaptureSource*)track->source(); 245 if (!source->stopped() && track->enabled()) { 246 if (source->width() > floatSize.width()) 247 floatSize.setWidth(source->width()); 248 if (source->height() > floatSize.height()) 249 floatSize.setHeight(source->height()); 250 } 258 251 } 259 252 } … … 263 256 bool MediaPlayerPrivateMediaStreamAVFObjC::hasVideo() const 264 257 { 265 return !m_MediaStreamPrivate->client()->getVideoTracks().isEmpty(); 258 for (auto track : m_MediaStreamPrivate->tracks()) { 259 if (track->type() == RealtimeMediaSource::Type::Video) 260 return true; 261 } 262 return false; 266 263 } 267 264 268 265 bool MediaPlayerPrivateMediaStreamAVFObjC::hasAudio() const 269 266 { 270 return !m_MediaStreamPrivate->client()->getAudioTracks().isEmpty(); 267 for (auto track : m_MediaStreamPrivate->tracks()) { 268 if (track->type() == RealtimeMediaSource::Type::Audio) 269 return true; 270 } 271 return false; 271 272 } 272 273 … … 283 284 MediaTime MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime() const 284 285 { 285 MediaTime synchronizerTime = toMediaTime(CMTimebaseGetTime([m_synchronizer timebase])); 286 if (synchronizerTime < MediaTime::zeroTime()) 287 return MediaTime::zeroTime(); 288 return synchronizerTime; 286 // FIXME(147125): Must implement this later 287 return MediaTime::zeroTime(); 289 288 } 290 289 -
trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h
r186766 r187164 54 54 virtual void didAddTrackToPrivate(MediaStreamTrackPrivate&) = 0; 55 55 virtual void didRemoveTrackFromPrivate(MediaStreamTrackPrivate&) = 0; 56 virtual Vector<RefPtr<MediaStreamTrack>> getVideoTracks() = 0;57 virtual Vector<RefPtr<MediaStreamTrack>> getAudioTracks() = 0;58 56 }; 59 57
Note: See TracChangeset
for help on using the changeset viewer.