Bug 111723

Summary: [GStreamer] use GstAppSink as video sink
Product: WebKit Reporter: Víctor M. Jáquez L. <vjaquez>
Component: MediaAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WONTFIX    
Severity: Normal CC: abarth, dpranke, eric.carlson, eric, feature-media-reviews, gustavo, gyuyoung.kim, jer.noble, levin, menard, mrobinson, pnormand, rakuco, sergio, slomo, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: Linux   
Attachments:
Description Flags
WIP: patch for replace the custom WebKitVideoSink for AppSink
none
Patch none

Víctor M. Jáquez L.
Reported 2013-03-07 06:28:59 PST
Right now WebKit uses a custom video sink which only task is to pass, through a GObject singal, the decoded video frame to WebKit. Replacing this custom video sink with a GstAppSink, which -at first sight- does exactly the same things, we could reduce the code to maintain in WebKit.
Attachments
WIP: patch for replace the custom WebKitVideoSink for AppSink (4.43 KB, patch)
2013-03-07 12:14 PST, Víctor M. Jáquez L.
no flags
Patch (36.65 KB, patch)
2013-03-13 05:30 PDT, Víctor M. Jáquez L.
no flags
Víctor M. Jáquez L.
Comment 1 2013-03-07 12:14:15 PST
Created attachment 192063 [details] WIP: patch for replace the custom WebKitVideoSink for AppSink I'm worried about the A/V sync with large buffers
Víctor M. Jáquez L.
Comment 2 2013-03-13 05:30:30 PDT
WebKit Review Bot
Comment 3 2013-03-13 05:33:27 PDT
Attachment 192904 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/GNUmakefile.list.am', u'Source/WebCore/PlatformEfl.cmake', u'Source/WebCore/Target.pri', u'Source/WebCore/WebCore.gypi', u'Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp', u'Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h', u'Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp', u'Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h', u'Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp', u'Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.h', u'Tools/ChangeLog', u'Tools/Scripts/webkitpy/style/checker.py', u'Tools/Scripts/webkitpy/style/checker_unittest.py']" exit_code: 1 Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:448: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 1 in 6 files If any of these errors are false positives, please file a bug against check-webkit-style.
Philippe Normand
Comment 4 2013-03-13 05:46:27 PDT
Sebastian, can you please provide some feedback about this patch?
Sebastian Dröge (slomo)
Comment 5 2013-03-13 06:46:50 PDT
By using appsink you won't be able to handle the GstVideoMeta/GstVideoCropMeta, and will also be unable to handle special memory (think: EGLImage, VAAPI, ...) properly.
Víctor M. Jáquez L.
Comment 6 2013-03-13 08:09:55 PDT
(In reply to comment #5) > By using appsink you won't be able to handle the GstVideoMeta/GstVideoCropMeta, and will also be unable to handle special memory (think: EGLImage, VAAPI, ...) properly. Doh! Thanks! Phil, do I change the status to "resolved" or something?
Philippe Normand
Comment 7 2013-03-13 08:20:01 PDT
Yeah, let's close this then.
Note You need to log in before you can comment on or make changes to this bug.