As per the spec, a black frame should be sent when a track is muted. We are currently doing so at track consumer level.
Created attachment 308729 [details] Patch
Comment on attachment 308729 [details] Patch Attachment 308729 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/3652157 New failing tests: webrtc/video-mute.html
Created attachment 308735 [details] Archive of layout-test-results from ews106 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Comment on attachment 308729 [details] Patch Attachment 308729 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3652191 New failing tests: webrtc/video-mute.html
Created attachment 308740 [details] Archive of layout-test-results from ews123 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews123 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Comment on attachment 308729 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=308729&action=review > Source/WebCore/ChangeLog:11 > + VideoToolBox sometimes do not output a frame until receveing the other. Nit: "sometimes do not" -> "sometimes does not" "until receveing the other -> "until it receives another" > Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:84 > + sendBlackFrame(); > + // FIXME: We should not need to send two black frames but VTB requires that so we are sure a black frame is sent over the wire. > + m_blackFrameTimer.startOneShot(0_s); Nit: this could be put into a helper function since it is repeated in sourceEnabledChanged. > Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSource.h:95 > + uint32_t m_width { 0 }; > + uint32_t m_height { 0 }; Nit: can you use an IntSize here?
Thanks for the review. (In reply to Eric Carlson from comment #6) > Comment on attachment 308729 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=308729&action=review > > > Source/WebCore/ChangeLog:11 > > + VideoToolBox sometimes do not output a frame until receveing the other. > > Nit: "sometimes do not" -> "sometimes does not" > > "until receveing the other -> "until it receives another" OK > > Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:84 > > + sendBlackFrame(); > > + // FIXME: We should not need to send two black frames but VTB requires that so we are sure a black frame is sent over the wire. > > + m_blackFrameTimer.startOneShot(0_s); > > Nit: this could be put into a helper function since it is repeated in > sourceEnabledChanged. OK > > Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSource.h:95 > > + uint32_t m_width { 0 }; > > + uint32_t m_height { 0 }; > > Nit: can you use an IntSize here? IntSize is int-based while settings is uint32_t based, which seems better for values that can only be positive.
Created attachment 308782 [details] Patch for landing
Comment on attachment 308782 [details] Patch for landing Attachment 308782 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3654423 New failing tests: webrtc/video-mute.html
Created attachment 308792 [details] Archive of layout-test-results from ews125 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Created attachment 308794 [details] Patch for landing
Comment on attachment 308794 [details] Patch for landing Clearing flags on attachment: 308794 Committed r216054: <http://trac.webkit.org/changeset/216054>
All reviewed patches have been landed. Closing bug.
rdar://problem/29265874