1、官网上提供的是C,直接复制到C++中会因为C++语法不同报错。
2、
1.c不会出错
bus=gst_element_get_bus(pipeline);
msg=gst_bus_timed_pop_filtered(bus,GST_CLOCK_TIME_NONE,GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
1.cpp
bus=gst_element_get_bus(pipeline);
msg=gst_bus_timed_pop_filtered(bus,GST_CLOCK_TIME_NONE,GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
报错误:
error: invalid conversion from ‘int’ to ‘GstMessageType’ [-fpermissive]
t_bus_timed_pop_filtered(bus,GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR |GST_MESSAGE_EOS);
更改
msg=gst_bus_timed_pop_filtered(bus,GST_CLOCK_TIME_NONE, (GstMessageType)(GST_MESSAGE_ERROR |GST_MESSAGE_EOS));
通过
3、g_object_set (G_OBJECT(videoparse), “framerate”, 30/1, NULL);设置videoparse的帧率方法。