我有一个立体声输入文件,我想将一个声道相对于另一个声道进行移位。在this answer之后,我希望能够做到:
deinterleave
元素分割频道,gst_pad_set_offset
切换其中一个频道,interleave
元素组合回去:GstElement* pipeline = gst_parse_launch (
"filesrc location=\"input.wav\" ! decodebin ! deinterleave name=split "
"interleave name=join ! wavenc ! filesink location=test.wav "
"split.src_0 ! queue ! join.sink_0 "
"split.src_1 ! queue ! join.sink_1",
NULL);
GstElement* join = gst_bin_get_by_name (GST_BIN (pipeline), "join");
gst_pad_set_offset (gst_element_get_static_pad (join, "sink_0"), 10*GST_MSECOND);
但是这不起作用:输出文件中的通道仍然完全对齐。有没有一种方法可以在不编写完整的自定义元素的情况下转移一个频道?