RealtimeMediaSource production of data is complex. We should try to simplify it.
Created attachment 309829 [details] Patch
Created attachment 309832 [details] Patch
Created attachment 309915 [details] Trying to fix GTK
Created attachment 309925 [details] Patch
Created attachment 309933 [details] Patch
Comment on attachment 309933 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=309933&action=review > Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:89 > m_muted = muted; > > - if (muted) { > - // FIXME: We need to figure out how to guarantee that at least one black video frame is > - // emitted after being muted. > - stopProducingData(); > - } else > - startProducingData(); > + if (muted) > + stop(); > + else > + start(); > + > + notifyMutedObservers(); It is slightly confusing that we modify m_muted and call notifyMutedObservers() here and in notifyMutedChange. Is there a reason to not call notifyMutedChange from here and have it do both?
Comment on attachment 309933 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=309933&action=review >> Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:89 >> + notifyMutedObservers(); > > It is slightly confusing that we modify m_muted and call notifyMutedObservers() here and in notifyMutedChange. Is there a reason to not call notifyMutedChange from here and have it do both? Yes. The only reason is that we preserve setting m_muted before calling start/stop. But maybe it is better to call start/stop unconditionally and then call notifyMutedChange to do the reset of the work. I'll try this and see whether that breaks anything.
Created attachment 310161 [details] Patch for landing
Comment on attachment 310161 [details] Patch for landing Rejecting attachment 310161 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-01', 'validate-changelog', '--check-oops', '--non-interactive', 310161, '--port=mac']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit ChangeLog entry in Tools/ChangeLog contains OOPS!. Full output: http://webkit-queues.webkit.org/results/3745960
Created attachment 310181 [details] Patch for landing
Comment on attachment 310181 [details] Patch for landing Clearing flags on attachment: 310181 Committed r216898: <http://trac.webkit.org/changeset/216898>
All reviewed patches have been landed. Closing bug.
<rdar://problem/32231650>