Commit 3360f18d authored by Jonathan Matthew's avatar Jonathan Matthew 🕳

gst-helper: fix xfade playback with GStreamer 1.18+

In 1.18, the identity element now provides a clock for the pipeline
based on the system clock, which screws up timing in the output
section of the xfade pipeline.  Switching to volume avoids this, and
since it's left in passthrough mode, doesn't cost us anything.
parent 4bf59c71
Pipeline #227085 passed with stage
in 12 minutes and 2 seconds
......@@ -426,17 +426,17 @@ rb_gst_create_filter_bin ()
{
GstElement *bin;
GstElement *audioconvert;
GstElement *identity;
GstElement *volume;
GstPad *pad;
bin = gst_bin_new ("filterbin");
audioconvert = gst_element_factory_make ("audioconvert", "filteraudioconvert");
identity = gst_element_factory_make ("identity", "filteridentity");
gst_bin_add_many (GST_BIN (bin), audioconvert, identity, NULL);
gst_element_link (identity, audioconvert);
volume = gst_element_factory_make ("volume", "filtervolume");
gst_bin_add_many (GST_BIN (bin), volume, audioconvert, NULL);
gst_element_link (volume, audioconvert);
pad = gst_element_get_static_pad (identity, "sink");
pad = gst_element_get_static_pad (volume, "sink");
gst_element_add_pad (bin, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment