haikuwebkit/LayoutTests/fast/mediastream/mediastreamtrack-video-fram...

5 lines
49 B
Plaintext
Raw Permalink Normal View History

Safari doesn't apply frameRate limit when request stream from Camera https://bugs.webkit.org/show_bug.cgi?id=210186 <rdar://problem/61452794> Reviewed by Eric Carlson. Source/WebCore: Add support to RealtimeVideoSource to decimate the video samples based on the observed frame rate of its capture source. This allows supporting two tracks using the same capture device, one track being low frame rate and the other one high frame rate. Clean-up refactoring to make RealtimeVideoSource directly inherit from RealtimeVideoCaptureSource. Migrate size and format of frame adaptation from RealtimeVideoCaptureSource to RealtimeVideoSource. Fix mock capture source to update its frame rate when asked by applyConstraints. Tests: fast/mediastream/mediastreamtrack-video-frameRate-clone-decreasing.html fast/mediastream/mediastreamtrack-video-frameRate-clone-increasing.html fast/mediastream/mediastreamtrack-video-frameRate-decreasing.html fast/mediastream/mediastreamtrack-video-frameRate-increasing.html * platform/mediastream/RealtimeVideoCaptureSource.cpp: (WebCore::RealtimeVideoCaptureSource::dispatchMediaSampleToObservers): (WebCore::RealtimeVideoCaptureSource::clientUpdatedSizeAndFrameRate): * platform/mediastream/RealtimeVideoCaptureSource.h: (WebCore::RealtimeVideoCaptureSource::observedFrameRate const): * platform/mediastream/RealtimeVideoSource.cpp: (WebCore::RealtimeVideoSource::RealtimeVideoSource): (WebCore::m_source): (WebCore::RealtimeVideoSource::adaptVideoSample): (WebCore::RealtimeVideoSource::videoSampleAvailable): * platform/mediastream/RealtimeVideoSource.h: * platform/mock/MockRealtimeVideoSource.cpp: (WebCore::MockRealtimeVideoSource::setFrameRateWithPreset): * testing/Internals.cpp: (WebCore::Internals::observeMediaStreamTrack): LayoutTests: * fast/mediastream/mediastreamtrack-video-frameRate-clone-decreasing-expected.txt: Added. * fast/mediastream/mediastreamtrack-video-frameRate-clone-decreasing.html: Added. * fast/mediastream/mediastreamtrack-video-frameRate-clone-increasing-expected.txt: Added. * fast/mediastream/mediastreamtrack-video-frameRate-clone-increasing.html: Added. * fast/mediastream/mediastreamtrack-video-framerate-decreasing-expected.txt: added. * fast/mediastream/mediastreamtrack-video-framerate-decreasing.html: added. * fast/mediastream/mediastreamtrack-video-framerate-increasing-expected.txt: added. * fast/mediastream/mediastreamtrack-video-framerate-increasing.html: added. * webrtc/routines.js: Canonical link: https://commits.webkit.org/223624@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260364 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-20 14:37:47 +00:00
PASS getUserMedia with increasing frame rates
Safari doesn't apply frameRate limit when request stream from Camera https://bugs.webkit.org/show_bug.cgi?id=210186 <rdar://problem/61452794> Reviewed by Eric Carlson. Source/WebCore: Add support to RealtimeVideoSource to decimate the video samples based on the observed frame rate of its capture source. This allows supporting two tracks using the same capture device, one track being low frame rate and the other one high frame rate. Clean-up refactoring to make RealtimeVideoSource directly inherit from RealtimeVideoCaptureSource. Migrate size and format of frame adaptation from RealtimeVideoCaptureSource to RealtimeVideoSource. Fix mock capture source to update its frame rate when asked by applyConstraints. Tests: fast/mediastream/mediastreamtrack-video-frameRate-clone-decreasing.html fast/mediastream/mediastreamtrack-video-frameRate-clone-increasing.html fast/mediastream/mediastreamtrack-video-frameRate-decreasing.html fast/mediastream/mediastreamtrack-video-frameRate-increasing.html * platform/mediastream/RealtimeVideoCaptureSource.cpp: (WebCore::RealtimeVideoCaptureSource::dispatchMediaSampleToObservers): (WebCore::RealtimeVideoCaptureSource::clientUpdatedSizeAndFrameRate): * platform/mediastream/RealtimeVideoCaptureSource.h: (WebCore::RealtimeVideoCaptureSource::observedFrameRate const): * platform/mediastream/RealtimeVideoSource.cpp: (WebCore::RealtimeVideoSource::RealtimeVideoSource): (WebCore::m_source): (WebCore::RealtimeVideoSource::adaptVideoSample): (WebCore::RealtimeVideoSource::videoSampleAvailable): * platform/mediastream/RealtimeVideoSource.h: * platform/mock/MockRealtimeVideoSource.cpp: (WebCore::MockRealtimeVideoSource::setFrameRateWithPreset): * testing/Internals.cpp: (WebCore::Internals::observeMediaStreamTrack): LayoutTests: * fast/mediastream/mediastreamtrack-video-frameRate-clone-decreasing-expected.txt: Added. * fast/mediastream/mediastreamtrack-video-frameRate-clone-decreasing.html: Added. * fast/mediastream/mediastreamtrack-video-frameRate-clone-increasing-expected.txt: Added. * fast/mediastream/mediastreamtrack-video-frameRate-clone-increasing.html: Added. * fast/mediastream/mediastreamtrack-video-framerate-decreasing-expected.txt: added. * fast/mediastream/mediastreamtrack-video-framerate-decreasing.html: added. * fast/mediastream/mediastreamtrack-video-framerate-increasing-expected.txt: added. * fast/mediastream/mediastreamtrack-video-framerate-increasing.html: added. * webrtc/routines.js: Canonical link: https://commits.webkit.org/223624@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260364 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-20 14:37:47 +00:00