Gstreamer over WebKit by MACOS => let's do it. Again ;-)

Sebastian Dröge sebastian at centricular.com
Mon Dec 16 06:13:46 PST 2013


On So, 2013-12-15 at 07:05 -0800, Hugo MACHEFER wrote:
> It appears my description might have suffered from sort of lack of
> information. "Give me a chance" to fill the gap, here, by responding to each
> aspect, one by one :
> 
> 
> /***  SOURCE CODE provisionning  ***/
> 
> 
> Prior to providing sources by GIT repo / SVN database, I may 1st simply
> provide this basic  PATCH
> <http://hugo.machefer.free.fr/GstreamerByMac/WebKit-r156532.incl.GST.patch> 
> . As name suggests, WebKit source code was provided by REL 156532 as a ref
> tarball from official site ;-)
> 
> I haven't said much about GST itself: I got sources <=> version 1.1.4 and
> re-complied everything for MacOsX. Tested successfully as a standalone
> execution by using gst-launch => http://...movie.MP4

You should update to 1.2.x if possible :) 1.1.x were only development
releases and got not much QA, as such have lots of bugs and also
unfinished API that changed until 1.2.0-

> /*** WARNING / DEBUG information ***/
> 
> 
> [Sebastian] : Does anything work at all with GStreamer in your version?
> [Hugo] : GST works as a standalone execution, regardless of WK. Confirmed by
> gst-launch. See above.
> 
> [Sebastian] : Do you e.g. get audio output?
> [Hugo] : I can hear audio signal perfectly (wrt GST-by-WK context).
> Confirmed by loudspeakers.
> 
> [Sebastian] : Does your sink get decoded video frames from GStreamer?
> [Hugo] : I would like to check it but which way ? How can I figure this
> point out ... ?
> 
> [Sebastian] : Looking at the debug logs and any errors/warnings happening
> might hint ...
> [Hugo] : I managed to activate GST  logs
> <http://hugo.machefer.free.fr/GstreamerByMac/WebKit-r156532.incl.GST.Exec.logs.txt>  
> before starting WK by export GST_DEBUG="*:5" 
> 
> [Sebastian] : You currently don't provide much information to help debugging
> this problem...
> [Hugo] : GST traces are heavy: uploading them is (still) under progress. Bad
> bandwidth today ;-(
> 
> Thanks a lot for your precious feedback, Sebastian. I hope I gave enough
> instrumentation this time.

There's this here in the logs:
0:00:05.865690000 basetransform gstbasetransform.c:1984:GstFlowReturn gst_base_transform_handle_buffer(GstBaseTransform *, GstBuffer *, GstBuffer **):<conv2> handling buffer 0x7febdcbbdbe0 of size 1556352 and offset NONE
0:00:05.865687000 GST_BUS gstbus.c:312:gboolean gst_bus_post(GstBus *, GstMessage *):<bus1> [msg 0x7febdcb02d90] posting on bus warning message: 0x7febdcb02d90, time 99:99:99.999999999, seq-num 711, element 'webkitvideosink0', GstMessageWarning, gerror=(GError)NULL, debug=(string)"gstbasesink.c\(2791\):\ gboolean\ gst_base_sink_is_too_late\(GstBaseSink\ \*\,\ GstMiniObject\ \*\,\ GstClockTime\,\ GstClockTime\,\ GstClockReturn\,\ GstClockTimeDiff\,\ gboolean\)\ \(\):\ /GstPlayBin:play/GstPlaySink:playsink/GstBin:vbin/GstBin:video-sink/GstFPSDisplaySink:sink/WebKitVideoSink:webkitvideosink0:\012There\ may\ be\ a\ timestamping\ problem\,\ or\ this\ computer\ is\ too\ slow.";
[...]
0:00:05.866617000 GST_PERFORMANCE gstbasesink.c:2794:gboolean gst_base_sink_is_too_late(GstBaseSink *, GstMiniObject *, GstClockTime, GstClockTime, GstClockReturn, GstClockTimeDiff, gboolean):<webkitvideosink0> **emergency** last buffer at 0:00:03.003000000 > GST_SECOND
0:00:05.866698000 basesink gstbasesink.c:3364:GstFlowReturn gst_base_sink_chain_unlocked(GstBaseSink *, GstPad *, gpointer, gboolean):<webkitvideosink0> rendering object 0x7febdcc943e0

So the sink is definitely getting buffers, up to 4 seconds and a bit in
your log. It just seems that many buffers are dropped because everything
is too slow, however in theory you should see the buffers for second 0,
1, 2, 3 and 4 there.

Means, you have two problems currently. One is that your pipeline is
just too slow for whatever reason, two that your sink although it claims
to render something is not showing anything. The problems for the latter
would be inside the webkitvideosink code somewhere.

For the first, currently things are converting from I420 to BGRx in
software. Depending on your machine that might be too slow.
Alternatively it could also be that rendering inside webkitvideosink
takes too much time.


Hope this helps to point closer to the actual problem here.

-- 
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 966 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131216/91d3e4fe/attachment-0001.pgp>


More information about the gstreamer-devel mailing list