I'm still trying to create one pipeline with rtspsrc source and tcpserversink in order to transmit video form a ipcam to a html video tag (
http://gstreamer-devel.966125.n4.nabble.com/rtsprc-tcpserversink-pipeline-freezes-continuosly-td4680988.html#a4680999).
Now i'm using a basic example of playbin, i tried to use tcpserversink as videosink but i saw that the pipeline ignores this and keep using autovideosink. Then i changed the rank of tcpserversink but it doesn't change anything and keeps using autovidesink besides the primary rank of tcpserversink. There is some type of incompatibility between playbin and tcpserversink?
gst_init(&argc, &argv);
GstRegistry* reg = gst_registry_get();
GstPluginFeature* tcpsrc = gst_registry_lookup_feature(reg, "tcpserversink");
if (tcpsrc == NULL) {
return -1;
}
guint after = gst_plugin_feature_get_rank(tcpsrc);
printf("After: %d\n", after);
gst_plugin_feature_set_rank(tcpsrc, GST_RANK_PRIMARY);
int before = gst_plugin_feature_get_rank(tcpsrc);
printf("Before: %d\n", before);
gst_object_unref(tcpsrc);
/* Build the pipeline */
pipeline = gst_parse_launch("playbin uri=rtsp://xxxxxx:xxxx@192.168.1.191/12:554/ch1-s1?tcp videosink=\"tcpserversink host = 192.168.1.200 port = 7009\"", NULL);
/* Start playing */
gst_element_set_state(pipeline, GST_STATE_PLAYING);