Bug 111723 - [GStreamer] use GstAppSink as video sink
Summary: [GStreamer] use GstAppSink as video sink
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-07 06:28 PST by Víctor M. Jáquez L.
Modified: 2013-03-13 08:20 PDT (History)
16 users (show)

See Also:


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 Details | Formatted Diff | Diff
Patch (36.65 KB, patch)
2013-03-13 05:30 PDT, Víctor M. Jáquez L.
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Víctor M. Jáquez L. 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.
Comment 1 Víctor M. Jáquez L. 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
Comment 2 Víctor M. Jáquez L. 2013-03-13 05:30:30 PDT
Created attachment 192904 [details]
Patch
Comment 3 WebKit Review Bot 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.
Comment 4 Philippe Normand 2013-03-13 05:46:27 PDT
Sebastian, can you please provide some feedback about this patch?
Comment 5 Sebastian Dröge (slomo) 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.
Comment 6 Víctor M. Jáquez L. 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?
Comment 7 Philippe Normand 2013-03-13 08:20:01 PDT
Yeah, let's close this then.