g_object_set assertion, G_IS_OBJECT (object) failed

gonengoktug gonengoktug at gmail.com
Mon Jan 27 13:13:15 UTC 2020


Hi guys, as I posted before, I still want to capture frames from stream and
to do that I write some code but it gives me error that I can't figure it
out. Can anyone help me or make me understand this error. 

Here is my test code
static void on_new_buffer_from_source (GstElement * elt, ProgramData * data)
{
  GstSample *sample;
  guint size;
  gpointer raw_buffer;
  GstBuffer *app_buffer, *buffer;
  GstElement *source;
  GstMapInfo map;
  GstStructure *s;
  const int width=g_value_get_int(gst_structure_get_value(s, "width"));
  const int height=g_value_get_int(gst_structure_get_value(s, "height"));

  sample=gst_app_sink_pull_sample(GST_APP_SINK(elt));
  buffer=gst_sample_get_buffer(sample);
  if(gst_buffer_map(buffer,&map,GST_MAP_READ))
      g_printerr("frame is catched");
  else
      g_printerr("frame is missed");
   cv::Mat
frame(cv::Size(width,height),CV_8UC3,(char*)map.data,cv::Mat::AUTO_STEP);
   cv::namedWindow("frames",CV_WINDOW_AUTOSIZE);
   cv::imshow("frame",frame);


}

int main(int argc, char*argv[]) {

    gchar *filename = NULL;
    ProgramData *data;
    gchar *string = NULL;
    GstBus *bus = NULL;
    GstElement *testsink = NULL;
    GstElement *testsource = NULL;

    gst_init(&argc,&argv);


    data = g_new0 (ProgramData, 1);

    data->loop = g_main_loop_new (NULL, FALSE);

    data->source=gst_parse_launch("v4l2src ! autovideosink",NULL);

    bus = gst_element_get_bus (data->source);
    gst_bus_add_watch (bus, (GstBusFunc) on_source_message, data);

    testsink = gst_bin_get_by_name (GST_BIN (data->source), "testsink");
    g_object_set(G_OBJECT(testsink), "emit-signals", TRUE, "sync", FALSE,
NULL);
    g_signal_connect (testsink, "new-buffer", G_CALLBACK
(on_new_buffer_from_source), data);
    gst_object_unref (testsink);
}
I tried to debug but whenever g_object_set command runs, gives me assertion
error. Also you can give me any advice about my code. Thanks





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list