Esempio n. 1
0
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);
  }
}
Esempio n. 2
0
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);
	}
}