GstElement *pipeline;
GstElement *source;
GstElement *convert;
+ GstElement *resample;
GstElement *sink;
} CustomData;
/* Create the elements */
data.source = gst_element_factory_make ("uridecodebin", "source");
data.convert = gst_element_factory_make ("audioconvert", "convert");
+ data.resample = gst_element_factory_make ("audioresample", "resample");
data.sink = gst_element_factory_make ("autoaudiosink", "sink");
/* Create the empty pipeline */
data.pipeline = gst_pipeline_new ("test-pipeline");
- if (!data.pipeline || !data.source || !data.convert || !data.sink) {
+ if (!data.pipeline || !data.source || !data.convert || !data.resample
+ || !data.sink) {
g_printerr ("Not all elements could be created.\n");
return -1;
}
/* Build the pipeline. Note that we are NOT linking the source at this
* point. We will do it later. */
gst_bin_add_many (GST_BIN (data.pipeline), data.source, data.convert,
- data.sink, NULL);
- if (!gst_element_link (data.convert, data.sink)) {
+ data.resample, data.sink, NULL);
+ if (!gst_element_link_many (data.convert, data.resample, data.sink, NULL)) {
g_printerr ("Elements could not be linked.\n");
gst_object_unref (data.pipeline);
return -1;
GstElement *pipeline;
GstElement *source;
GstElement *convert;
+ GstElement *resample;
GstElement *sink;
} CustomData;
/* Create the elements */
data.source = gst_element_factory_make ("uridecodebin", "source");
data.convert = gst_element_factory_make ("audioconvert", "convert");
+ data.resample = gst_element_factory_make ("audioresample", "resample");
data.sink = gst_element_factory_make ("autoaudiosink", "sink");
/* Create the empty pipeline */
data.pipeline = gst_pipeline_new ("test-pipeline");
- if (!data.pipeline || !data.source || !data.convert || !data.sink) {
+ if (!data.pipeline || !data.source || !data.convert || !data.resample || !data.sink) {
g_printerr ("Not all elements could be created.\n");
return -1;
}
/* Build the pipeline. Note that we are NOT linking the source at this
* point. We will do it later. */
- gst_bin_add_many (GST_BIN (data.pipeline), data.source, data.convert , data.sink, NULL);
- if (!gst_element_link (data.convert, data.sink)) {
+ gst_bin_add_many (GST_BIN (data.pipeline), data.source, data.convert, data.resample, data.sink, NULL);
+ if (!gst_element_link_many (data.convert, data.resample, data.sink, NULL)) {
g_printerr ("Elements could not be linked.\n");
gst_object_unref (data.pipeline);
return -1;