[gstreamer-bugs] [Bug 614612] New: cairotextoverlay causes pipe stalls in cases where textoverlay does not
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Thu Apr 1 12:41:50 PDT 2010
https://bugzilla.gnome.org/show_bug.cgi?id=614612
GStreamer | gst-plugins-good | 0.10.28
Summary: cairotextoverlay causes pipe stalls in cases where
textoverlay does not
Classification: Desktop
Product: GStreamer
Version: 0.10.28
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: divVerent at alientrap.org
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME target: ---
GNOME version: ---
When encoding videos from MKV to MP4 for my Blackberry using gst-launch, I
ended up with trouble regarding subtitle rendering:
- textoverlay can word-wrap, but looks ugly (no anti aliasing)
- cairotextoverlay looks good, but cannot word wrap, and, which is the focus of
this report, stalls the pipeline whatever I try.
An example video (released online by the Chaos Computer Club Cologne, subtitles
by me) can be found at
http://rm.endoftheinternet.org/~nexuiz/gst-cairotextoverlay-hang/
The includes shell script, if called with the argument "fail", performs:
gst-launch \
filesrc location="17.mkv" ! matroskademux name=demuxer \
demuxer.subtitle_00 ! queue ! sub. \
demuxer.video_00 ! queue ! decodebin ! queue ! cairotextoverlay name=sub !
queue ! xvimagesink sync=false
The pipeline will hang (i.e. playback wills top) at the first line of subtitles
(in what I ACTUALLY want to encode, I get that hang only after about 20 seconds
of input).
If cairotextoverlay is replaced by textoverlay, the pipeline does NOT stall and
playback continues up to the end.
If the filesrc is doubled, it seems to not stall - the video plays indeed back
to the end - but then gst-launch does not exit. The "last words" with added -v
-m are:
Got message #4883 from element "pipeline0" (eos): no message details
Got EOS from element "pipeline0".
Execution ended after 72374852699 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue3.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue3.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstCairoTextOverlay:sub.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstCairoTextOverlay:sub.GstPad:text_sink: caps = NULL
/GstPipeline:pipeline0/GstCairoTextOverlay:sub.GstPad:video_sink: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue2.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue2.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstMatroskaDemux:demuxer2.GstPad:subtitle_00: caps =
NULL
/GstPipeline:pipeline0/GstMatroskaDemux:demuxer2.GstPad:audio_00: caps = NULL
/GstPipeline:pipeline0/GstMatroskaDemux:demuxer2.GstPad:video_00: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/ffdec_h264:ffdec_h2640.GstPad:src:
caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/ffdec_h264:ffdec_h2640.GstPad:sink:
caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src:
caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:sink:
caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstMatroskaDemux:demuxer.GstPad:subtitle_00: caps = NULL
/GstPipeline:pipeline0/GstMatroskaDemux:demuxer.GstPad:audio_00: caps = NULL
/GstPipeline:pipeline0/GstMatroskaDemux:demuxer.GstPad:video_00: caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ...
gst-launch \
filesrc location="17.mkv" ! matroskademux name=demuxer \
filesrc location="17.mkv" ! matroskademux name=demuxer2 \
demuxer2.subtitle_00 ! queue ! sub. \
demuxer.video_00 ! queue ! decodebin ! queue ! cairotextoverlay
name=sub ! queue ! xvimagesink sync=false
Any idea whether this is a) a bug in cairotextoverlay, or b) in my command
line, and in case of b), how I can fix it?
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list