库函数默认设置了弱属性(参见[1]),并且可能被具有相同签名的函数"覆盖".例如printf内部调用fputc,我可以很容易地声明我的一个函数int fputc(int, FILE *).如果发生这种情况,我希望收到编译器警告.
有没有办法告诉编译器在覆盖弱函数的情况下警告我?
[1] https://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/Function-Attributes.html
我在C中做了一个Gstreamer 1.0应用程序.管道是在运行时根据用户配置和系统"状态"构建的.因此我使用多个GstElements,后来添加并链接到"GstElement管道".这是一个更好理解的最小例子:
GstElement *pipeline = gst_pipeline_new("mypipeline");
...
GstElement *src = gst_element_factory_make("videotestsrc", NULL);
...
gst_bin_add_many(GST_BIN(pipeline), src, enc, pay, NULL);
gst_element_link_many(src, enc, pay, NULL);
...
Run Code Online (Sandbox Code Playgroud)
然后,该管道应由GstRTSPMediaFactory启动.我在这里gst_rtsp_media_factory_set_launch遇到的问题是该函数只接受const gchar *管道.
因此,我的问题是,如果你们中的任何人都知道任何一个函数
GstElement *pipeline为const gchar*表示(有点反向gst_parse)GstElement *pipeline(参见下面的编辑#1)任何帮助深表感谢!谢谢.
编辑#1:
GstRTSPMediaFactory的默认实现允许您使用gst-launch语法轻松创建GStreamer管道.可以创建一个GstRTSPMediaFactory子类,它使用不同的方法来构造管道.
因此,从GstElement启动GstRTSPMediaFactory在技术上是可行的.此方法的其他问题:是否有人知道这样的GstRTSPMediaFactory子类实现?