X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Ftest-video.c;h=2cfe483975e377374a314bc1f01e10994c88dea3;hb=d728d59a00bbe1084782b048baece2caddd63bfd;hp=988c1621b40daf1f1b5616631f2ec1f89df6e56d;hpb=5fb5f750208c7f35422a7fc3405fdb9b35b86fdc;p=platform%2Fupstream%2Fgstreamer.git diff --git a/examples/test-video.c b/examples/test-video.c index 988c162..2cfe483 100644 --- a/examples/test-video.c +++ b/examples/test-video.c @@ -13,15 +13,21 @@ * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. */ #include #include +/* define this if you want the resource to only be available when using + * user/admin as the password */ +#undef WITH_AUTH +/* this timeout is periodically run to clean up the expired sessions from the + * pool. This needs to be run explicitly currently but might be done + * automatically as part of the mainloop. */ static gboolean timeout (GstRTSPServer * server, gboolean ignored) { @@ -39,10 +45,12 @@ main (int argc, char *argv[]) { GMainLoop *loop; GstRTSPServer *server; - GstRTSPMediaMapping *mapping; + GstRTSPMountPoints *mounts; GstRTSPMediaFactory *factory; +#ifdef WITH_AUTH GstRTSPAuth *auth; gchar *basic; +#endif gst_init (&argc, &argv); @@ -51,17 +59,20 @@ main (int argc, char *argv[]) /* create a server instance */ server = gst_rtsp_server_new (); - /* get the mapping for this server, every server has a default mapper object + /* get the mount points for this server, every server has a default object * that be used to map uri mount points to media factories */ - mapping = gst_rtsp_server_get_media_mapping (server); + mounts = gst_rtsp_server_get_mount_points (server); - /* make a new authentication manager */ +#ifdef WITH_AUTH + /* make a new authentication manager. it can be added to control access to all + * the factories on the server or on individual factories. */ auth = gst_rtsp_auth_new (); basic = gst_rtsp_auth_make_basic ("user", "admin"); gst_rtsp_auth_set_basic (auth, basic); g_free (basic); /* configure in the server */ gst_rtsp_server_set_auth (server, auth); +#endif /* make a media factory for a test stream. The default media factory can use * gst-launch syntax to create pipelines. @@ -69,24 +80,26 @@ main (int argc, char *argv[]) * element with pay%d names will be a stream */ factory = gst_rtsp_media_factory_new (); gst_rtsp_media_factory_set_launch (factory, "( " - "videotestsrc ! video/x-raw-yuv,width=352,height=288,framerate=15/1 ! " + "videotestsrc ! video/x-raw,width=352,height=288,framerate=15/1 ! " "x264enc ! rtph264pay name=pay0 pt=96 " - "audiotestsrc ! audio/x-raw-int,rate=8000 ! " + "audiotestsrc ! audio/x-raw,rate=8000 ! " "alawenc ! rtppcmapay name=pay1 pt=97 " ")"); /* attach the test factory to the /test url */ - gst_rtsp_media_mapping_add_factory (mapping, "/test", factory); + gst_rtsp_mount_points_add_factory (mounts, "/test", factory); /* don't need the ref to the mapper anymore */ - g_object_unref (mapping); + g_object_unref (mounts); /* attach the server to the default maincontext */ if (gst_rtsp_server_attach (server, NULL) == 0) goto failed; + /* add a timeout for the session cleanup */ g_timeout_add_seconds (2, (GSourceFunc) timeout, server); - /* start serving */ + /* start serving, this never stops */ + g_print ("stream ready at rtsp://127.0.0.1:8554/test\n"); g_main_loop_run (loop); return 0;