Summary: | Use libwebrtc ObjectiveC H264 encoder and decoder | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | youenn fablet <youennf> | ||||||||||||||||||
Component: | WebRTC | Assignee: | youenn fablet <youennf> | ||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||
Severity: | Normal | CC: | achristensen, commit-queue, eric.carlson, ews-watchlist, jer.noble, rniwa, webkit-bug-importer, youennf | ||||||||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||
Bug Depends on: | 183929 | ||||||||||||||||||||
Bug Blocks: | |||||||||||||||||||||
Attachments: |
|
Description
youenn fablet
2018-03-22 12:52:36 PDT
Created attachment 336297 [details]
Patch
Created attachment 336306 [details]
Patch
Created attachment 336314 [details]
Patch
Created attachment 336318 [details]
Patch
Comment on attachment 336318 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=336318&action=review > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitUtilities.mm:35 > +#if! defined(WEBRTC_IOS) Nit: the space is on the wrong side of the "!" > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm:194 > + Block_release(_callback); Can _callback ever be NULL? > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:485 > + Block_release(_callback); Ditto. > Source/ThirdParty/libwebrtc/WebKit/0001-Adapting-libwebrtc-H264-codec.patch:6 > +From 0130a91f901af2c60c81c32565c531141bbd2b84 Mon Sep 17 00:00:00 2001 > +From: Youenn Fablet <youenn@apple.com> > +Date: Thu, 22 Mar 2018 12:51:04 -0700 > +Subject: [PATCH] Adapting libwebrtc H264 codec > + > +--- Oops :-) > Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:83 > + if (!m_blackFrame || m_blackFrameWidth != frame.width() || m_blackFrameHeight != frame.height()) { > + CVPixelBufferRef pixelBuffer = nullptr; > + auto status = CVPixelBufferCreate(kCFAllocatorDefault, frame.width(), frame.height(), kCVPixelFormatType_420YpCbCr8Planar, nullptr, &pixelBuffer); > + ASSERT_UNUSED(status, status == noErr); > + > + m_blackFrame = adoptCF(pixelBuffer); > + m_blackFrameWidth = frame.width(); > + m_blackFrameHeight = frame.height(); > + > + status = CVPixelBufferLockBaseAddress(pixelBuffer, 0); > + ASSERT(status == noErr); > + void* data = CVPixelBufferGetBaseAddress(pixelBuffer); > + size_t yLength = frame.width() * frame.height(); > + memset(data, 0, yLength); > + memset(static_cast<uint8_t*>(data) + yLength, 128, yLength / 2); > + > + status = CVPixelBufferUnlockBaseAddress(pixelBuffer, 0); > + ASSERT(!status); > + } > + return m_blackFrame.get(); Nit: I know this isn't new, but it would be cleaner if it was in a blackFrame method, e.g. "if (muted()) return blackFrame();" Comment on attachment 336318 [details] Patch Attachment 336318 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/7068032 New failing tests: media/modern-media-controls/tracks-panel/tracks-panel-position-and-size.html Created attachment 336326 [details]
Archive of layout-test-results from ews102 for mac-sierra
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102 Port: mac-sierra Platform: Mac OS X 10.12.6
Created attachment 336328 [details]
Patch for landing
Created attachment 336333 [details]
Patch
(In reply to youenn fablet from comment #9) > Created attachment 336333 [details] > Patch Added Block_release in dealloc after discussing with Jer. Comment on attachment 336333 [details] Patch Clearing flags on attachment: 336333 Committed r229876: <https://trac.webkit.org/changeset/229876> All reviewed patches have been landed. Closing bug. Re-opened since this is blocked by bug 183929 Created attachment 336382 [details]
Patch
Comment on attachment 336382 [details] Patch Clearing flags on attachment: 336382 Committed r229908: <https://trac.webkit.org/changeset/229908> All reviewed patches have been landed. Closing bug. |