GES: Problem applying certain effects when seeking with a non-1.0 rate
Steve Rubin
srubin at cs.berkeley.edu
Wed Aug 15 00:54:24 UTC 2018
In case anyone else is having this issue, here's what worked for me.
I used the playback speed parameter in `gst_element_seek` as in my original
message:
Steve Rubin wrote
> gst_element_seek(GST_ELEMENT(gesPipeline),
> 2,
> GST_FORMAT_TIME,
> GST_SEEK_FLAG_FLUSH,
> GST_SEEK_TYPE_NONE,
> GST_CLOCK_TIME_NONE,
> GST_SEEK_TYPE_NONE,
> GST_CLOCK_TIME_NONE);
Then, I augmented the pipeline's output sink to use a `scaletempo` effect:
GstElement *audioSink = gst_element_factory_make("osxaudiosink",
"mac-audio-sink");
// Add scaletempo effect to remove "chipmunking"
GstElement *scaleTempo = gst_element_factory_make("scaletempo", NULL);
GstPad *sink = gst_element_get_static_pad(scaleTempo, "sink");
GstBin *sinkBin =
reinterpret_cast<GstBin *>(gst_bin_new("media-engine-sink"));
gst_bin_add_many(sinkBin, scaleTempo, audioSink, NULL);
gst_element_link(scaleTempo, audioSink);
gst_element_add_pad(reinterpret_cast<GstElement *>(sinkBin),
gst_ghost_pad_new(NULL, sink));
ges_pipeline_preview_set_audio_sink(pipeline,
reinterpret_cast<GstElement
*>(sinkBin));
gst_object_unref(sink);
This worked - my GESPipeline will play at non-1.0 rates and adjust the audio
pitch appropriately to not "chipmunk."
--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
More information about the gstreamer-devel
mailing list