After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 636107 - x264enc: docs should indicate specifics of using with queues
x264enc: docs should indicate specifics of using with queues
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other Linux
: Normal normal
: 0.10.17
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-11-30 08:05 UTC by Daniil Ivanov
Modified: 2010-12-27 16:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
x264enc: add some note of caution to documentation (935 bytes, patch)
2010-12-01 10:18 UTC, Mark Nauwelaerts
none Details | Review
x264enc: add some note of caution to documentation (1.75 KB, patch)
2010-12-01 17:37 UTC, Mark Nauwelaerts
committed Details | Review

Description Daniil Ivanov 2010-11-30 08:05:05 UTC
I'm using gstreamer0.10-plugins-ugly 0.10.16-1 and trying to launch the following pipeline:

gst-launch -v -t videotestsrc ! tee name=t ! queue ! xvimagesink t. ! queue ! x264enc ! fakesink

It goes to prerolling state, but never to playing.
However, removal of x264enc makes pipeline play:

gst-launch -v -t videotestsrc ! tee name=t ! queue ! xvimagesink t. ! queue ! fakesink

Or if I replace x264enc with ffenc_mpeg4 it also works fine

gst-launch -v -t videotestsrc ! tee name=t ! queue ! xvimagesink t. ! queue ! ffenc_mpeg4 ! fakesink
Comment 1 Tim-Philipp Müller 2010-11-30 09:09:52 UTC
x264enc has quite a high latency by default (60-80 frames iirc), so you either need to use use x264enc tune=zerolatency or make the queues in the other branches larger (e.g. unset all the limits, or at least the time limit of max 1second).
Comment 2 Daniil Ivanov 2010-11-30 09:24:37 UTC
Thank you, with tune=zerolatency the pipeline works fine. 
Could documentation page be updated to contain this information as well?
http://www.gstreamer.net/data/doc/gstreamer/head/gst-plugins-ugly-plugins/html/gst-plugins-ugly-plugins-x264enc.html
Comment 3 Mark Nauwelaerts 2010-12-01 10:18:40 UTC
Created attachment 175612 [details] [review]
x264enc: add some note of caution to documentation

How about this piece of additional documentation?
Comment 4 Daniil Ivanov 2010-12-01 11:12:51 UTC
I believe it would be beneficial to accompany the description with example pipeline:
gst-launch -v -t videotestsrc ! tee name=t ! queue ! xvimagesink t. ! queue ! x264enc tune=zerolatency ! fakesink
Comment 5 Mark Nauwelaerts 2010-12-01 17:37:12 UTC
Created attachment 175634 [details] [review]
x264enc: add some note of caution to documentation

Documentation++
Comment 6 Tim-Philipp Müller 2010-12-26 22:15:07 UTC
Made it a bit less cryptic (hopefully) and pushed it. Could still use a multiqueue example or an example with queues where the limits are relaxed.

 commit 9f27fc1eec123121ab9eb27bfdd29bc784b1e4b7
 Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
 Date:   Wed Dec 1 18:35:59 2010 +0100

    x264enc: add a note to the docs about encoder latency and queues
    
    https://bugzilla.gnome.org/show_bug.cgi?id=636107
Comment 7 Olivier Crête 2010-12-27 16:20:15 UTC
Actually, the x264enc element should implement the latency query correctly..
Comment 8 Tim-Philipp Müller 2010-12-27 16:29:45 UTC
> Actually, the x264enc element should implement the latency query correctly..

That too, butthat  doesn't magically fix everything in all cases.