static void gst_rtsp_server_set_property (GObject * object, guint propid, const GValue * value, GParamSpec * pspec) { GstRTSPServer *server = GST_RTSP_SERVER (object); switch (propid) { case PROP_ADDRESS: gst_rtsp_server_set_address (server, g_value_get_string (value)); break; case PROP_SERVICE: gst_rtsp_server_set_service (server, g_value_get_string (value)); break; case PROP_BACKLOG: gst_rtsp_server_set_backlog (server, g_value_get_int (value)); break; case PROP_SESSION_POOL: gst_rtsp_server_set_session_pool (server, g_value_get_object (value)); break; case PROP_MEDIA_MAPPING: gst_rtsp_server_set_media_mapping (server, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, propid, pspec); } }
void ReStream::ThreadFunc() { try{ loop = g_main_loop_new (NULL, FALSE); //classContext = g_main_context_get_thread_default(); server = gst_rtsp_server_new (); if ( !isLocalStream ) gst_rtsp_server_set_address (server,ipAddress); else gst_rtsp_server_set_address (server,"127.0.0.1"); //gst_rtsp_server_set_service (server, "0"); mounts = gst_rtsp_server_get_mount_points (server); //cout<<"\nin ThreadFunc ---"<<portNo; //gst_rtsp_server_set_service (server,portNo); gst_rtsp_server_set_service (server,portNo); //cout<<"\nin ThreadFunc ---"<<gst_rtsp_server_get_service(server); mounts = gst_rtsp_server_get_mount_points (server); guint attached = gst_rtsp_server_attach (server, NULL); //g_main_context_pop_thread_default(classContext); if(attached){ isServerAttached = true; if ( ISDEBUG ) cout<<"Server Succesfullly attached\n"; g_main_loop_run (loop); }else{ if ( ISDEBUG ) cout<<"Failed to attach the server.Exiting From the Code. Free the port first\n"; exit(0); return; } isServerAttached = false; g_object_unref (mounts); g_object_unref (server); //g_main_loop_unref (loop); } catch(Exception &e){ commclass.PrintException("ReStream","CV::ThreadFunc",e); } catch(exception &e){ commclass.PrintException("ReStream","STD::ThreadFunc",e); } }