RESOLVED FIXED164837
[MediaStream][Mac] Use AVCapturePreview interfaces for camera/microphone rendering
https://bugs.webkit.org/show_bug.cgi?id=164837
Summary [MediaStream][Mac] Use AVCapturePreview interfaces for camera/microphone rend...
Eric Carlson
Reported 2016-11-16 15:12:50 PST
Use AVCaptureAudioPreview and AVCaptureVideoPreviewLayer for previewing audio and video when possible.
Attachments
Proposed patch. (48.42 KB, patch)
2016-11-16 15:39 PST, Eric Carlson
no flags
Updated patch. (48.42 KB, patch)
2016-11-16 16:02 PST, Eric Carlson
no flags
Updated patch. (48.98 KB, patch)
2016-11-16 16:20 PST, Eric Carlson
no flags
Radar WebKit Bug Importer
Comment 1 2016-11-16 15:16:06 PST
Eric Carlson
Comment 2 2016-11-16 15:39:36 PST
Created attachment 294988 [details] Proposed patch.
Eric Carlson
Comment 3 2016-11-16 16:02:23 PST
Created attachment 294991 [details] Updated patch.
Eric Carlson
Comment 4 2016-11-16 16:20:41 PST
Created attachment 294995 [details] Updated patch.
Jer Noble
Comment 5 2016-11-17 09:36:33 PST
Comment on attachment 294995 [details] Updated patch. View in context: https://bugs.webkit.org/attachment.cgi?id=294995&action=review r=me with minor nit. > Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp:185 > +RealtimeMediaSourcePreview* MediaStreamTrackPrivate::preview() > +{ > + if (m_preview) > + return m_preview.get(); > + > + m_preview = m_source->preview(); > + return m_preview.get(); > +} > + Is there any reason to cache the value of m_source->preview() at this level? m_source can never change, but it may want to swap out the preview layer (in some future patch), and caching this here would make that harder.
Eric Carlson
Comment 6 2016-11-17 10:17:36 PST
(In reply to comment #5) > Comment on attachment 294995 [details] > Updated patch. > > View in context: > https://bugs.webkit.org/attachment.cgi?id=294995&action=review > > r=me with minor nit. > > > Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp:185 > > +RealtimeMediaSourcePreview* MediaStreamTrackPrivate::preview() > > +{ > > + if (m_preview) > > + return m_preview.get(); > > + > > + m_preview = m_source->preview(); > > + return m_preview.get(); > > +} > > + > > Is there any reason to cache the value of m_source->preview() at this level? > m_source can never change, but it may want to swap out the preview layer (in > some future patch), and caching this here would make that harder. I will commit this patch as-is, but we can talk about changing this in another patch.
WebKit Commit Bot
Comment 7 2016-11-17 10:43:47 PST
Comment on attachment 294995 [details] Updated patch. Clearing flags on attachment: 294995 Committed r208851: <http://trac.webkit.org/changeset/208851>
WebKit Commit Bot
Comment 8 2016-11-17 10:43:51 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.