<div dir="ltr"><div><br></div><div>Decodebin does not have src pads by default, you'll need to subscribe to pad-added and link that pad to your video sink.</div><div><br></div><div>   944     g_signal_connect (uridecodebin , "pad-added",<br>   945         G_CALLBACK (uridecodebin_on_pad_added_cb), NULL);<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 30 Jul 2020 at 12:00, peter12 <<a href="mailto:mikelblaz6@gmail.com">mikelblaz6@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Fist of all, I have to say that I am new in Gstreamer's enviroment.<br>
<br>
I would like to encode the source (video/x264), later to decode and finally<br>
to display. But I am doing something wrong. Can someone help me?<br>
<br>
You can see here the code I am using:<br>
<br>
<br>
#include <glib.h><br>
#include <gst/gst.h><br>
<br>
int main(int argc, char* argv[])<br>
{<br>
  GMainLoop* loop;<br>
<br>
  GstElement *pipeline, *source, *encoder, *decoder, *sink;<br>
<br>
  gst_init(&argc, &argv);<br>
<br>
  loop = g_main_loop_new(NULL, FALSE);<br>
<br>
  // initialize elements<br>
  pipeline = gst_pipeline_new("audio-player");<br>
  source = gst_element_factory_make("videotestsrc", "source");<br>
  sink = gst_element_factory_make("autovideosink", "sink");<br>
  encoder = gst_element_factory_make("x264enc", "encoder");<br>
  decoder = gst_element_factory_make("decodebin", "decoder");<br>
<br>
  if (!pipeline || !source || !encoder || !decoder || !sink) {<br>
    g_printerr("One element could not be created. Exiting.\n");<br>
    return -1;<br>
  }<br>
<br>
  // add elements to pipeline<br>
  gst_bin_add_many(GST_BIN(pipeline), source, encoder, decoder, sink, NULL);<br>
<br>
  // link elements<br>
  gst_element_link(source,encoder); <br>
  gst_element_link(encoder,decoder);<br>
  gst_element_link(decoder,sink); <br>
  //gst_element_link_many(source, sink, NULL);<br>
<br>
  gst_element_set_state(pipeline, GST_STATE_PLAYING);<br>
<br>
  g_main_loop_run(loop);<br>
<br>
  // cleanup<br>
  gst_element_set_state(pipeline, GST_STATE_NULL);<br>
  gst_object_unref(GST_OBJECT(pipeline));<br>
  g_main_loop_unref(loop);<br>
<br>
  return 0;<br>
}<br>
<br>
<br>
<br>
--<br>
Sent from: <a href="http://gstreamer-devel.966125.n4.nabble.com/" rel="noreferrer" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature">g. Marc</div>