Using pull mode
Sirius Wu
ccwu660601 at gmail.com
Wed May 27 03:36:08 UTC 2020
Hi all,
I've a following pipeline:
openslessrc --> volume --> openslessink
The pipeline is running in push mode. But I'd like to drive the pipeline
directly from the real-time audio thread. I am trying to launch the
pipeline with
pipeline = gst_parse_launch(
"openslessrc ! audioconvert ! volume volume=1.50 ! audioconvert !
audio/x-raw,rate=44100 ! openslessink can-activate-pull=true", &error)
gst_element_set_state (pipeline, GST_STATE_PLAYING);
But gst_base_sink_negotiate_pull() failed and I got a log message of
"Received event on flushing pad. Discarding".
I cannot find much information about using pull mode in application. How
can I fix this problem?
By the way, gstvolume provides get_range function, so I think it can work
in pull mode. But there is a comment in its parent gstbasetransform says:
* FIXME, getrange is broken, need to pull range from the other
* end based on the transform_size result.
*/
Does that mean I can not use gstvolume directly in pull mode, but need to
inherit it and fix get_range?
--
Sirius Wu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200527/664aa6fd/attachment.htm>
More information about the gstreamer-devel
mailing list