GstAggregator doesn't consume buffers

Alex A alex.valgusnov at microimpuls.com
Wed Apr 29 12:58:45 UTC 2020


Hello,
I'm trying to write gstreamer plugin for `RGBA bitmap -> DVB Subtitles`
encoding. First of all I wrote simple stub: element just emulate encoding by
producing static dvb subtitles from file on every input buffer.
If run this pipeline:



then result is fine: DVB-Inspector sees subtitles and it's valid.
But if add another stream to muxer (e.g. audio or video):



then the resulting file will not contain subtitles. Even in the Program Map
Table there are no entry for it.

Logs of `queue` between `dvbsubenc` and `mpegtsmux`:


On a src pad, time is only updated for first few buffers. It looks like
mpegtsmux (more precisely, GstAggregator) blocks `queue:src` thread and
`queue` can't push data. Information about that this stream is sparse, as
well as gap events, are supplied by the demuxer (pad with teletext) and just
forwarded by other elements to `mpegtsmux`.

In GstAggregator logs:

"Done chaining" prints only for first few buffers, and then:


Line "pad not ready to be consumed yet" are repeated endlessly. And after
that, the time on the queue src pad ceases to be updated.

Can anyone explain what is happening and what am I doing wrong?
Code and file with subtitles:
gstdvbsubenc.c
<http://gstreamer-devel.966125.n4.nabble.com/file/t379422/gstdvbsubenc.c>  
gstdvbsubenc.h
<http://gstreamer-devel.966125.n4.nabble.com/file/t379422/gstdvbsubenc.h>  
dvb-dump.bin
<http://gstreamer-devel.966125.n4.nabble.com/file/t379422/dvb-dump.bin>  




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list