typedef void *media_streamer_http_server_h;
-int __ms_http_server_create(media_streamer_http_server_h *server, char *ip_address, char *port);
+int __ms_http_server_create(media_streamer_http_server_h *server);
int __ms_http_server_destroy(media_streamer_http_server_h server);
-int __ms_http_server_start(media_streamer_http_server_h server);
+int __ms_http_server_start(media_streamer_http_server_h server, int port);
int __ms_http_server_stop(media_streamer_http_server_h server);
int __ms_http_server_register_uri(media_streamer_http_server_h server, char *uri, char *file_path);
static void __ms_http_server_connection_handle_cb(SoupServer *server, SoupMessage *msg,
const char *path, GHashTable *query, SoupClientContext *client, gpointer user_data);
-int __ms_http_server_create(media_streamer_http_server_h *server, char *ip_address, char *port)
+int __ms_http_server_create(media_streamer_http_server_h *server)
{
_ms_http_server_s *ms_server;
- int iport;
ms_debug_fenter();
ms_retvm_if(server == NULL, MEDIA_STREAMER_ERROR_INVALID_PARAMETER, "server is NULL");
- ms_retvm_if(port == NULL, MEDIA_STREAMER_ERROR_INVALID_PARAMETER, "Port is NULL");
ms_server = (_ms_http_server_s *) calloc(1, sizeof(_ms_http_server_s));
ms_retvm_if(ms_server == NULL, MEDIA_STREAMER_ERROR_INVALID_OPERATION, "Error allocation memory");
- iport = atoi(port);
- ms_server->server = soup_server_new(SOUP_SERVER_PORT, iport, NULL);
+ ms_server->server = soup_server_new(NULL, NULL);
if (!ms_server->server) {
ms_error("Failed to create http server");
return MEDIA_STREAMER_ERROR_NONE;
}
-int __ms_http_server_start(media_streamer_http_server_h server)
+int __ms_http_server_start(media_streamer_http_server_h server, int port)
{
_ms_http_server_s *hserver = (_ms_http_server_s *) server;
+ GError *error = NULL;
ms_debug_fenter();
soup_server_add_handler(hserver->server, NULL,
__ms_http_server_connection_handle_cb, hserver, NULL);
- soup_server_run_async(hserver->server);
+ soup_server_listen_all(hserver->server, port, 0, &error);
+ if (error) {
+ ms_error("Failed to start: '%s'", error->message);
+ g_error_free (error);
+
+ return MEDIA_STREAMER_ERROR_INVALID_OPERATION;
+ }
ms_debug_fleave();
#define SMACK_LABEL_LEN 255
#define DEFAULT_URI_SCHEME_LENGTH 10
-#define DEFAULT_HTTP_PORT "8888"
+#define DEFAULT_HTTP_PORT 8888
#define _FEATURE_NAME_WIFI "http://tizen.org/feature/network.wifi"
#define _FEATURE_NAME_TELEPHONY "http://tizen.org/feature/network.telephony"
ms_retvm_if(node->gst_element == NULL, MEDIA_STREAMER_ERROR_INVALID_PARAMETER, "node->gst_element is NULL");
/* Create and start http server */
- err_code = __ms_http_server_create(&ms_streamer->http_server, NULL, DEFAULT_HTTP_PORT);
+ err_code = __ms_http_server_create(&ms_streamer->http_server);
if (MEDIA_STREAMER_ERROR_NONE != err_code) {
ms_error("Failed to create http server during prepare");
goto _DONE;
ms_info("Starting http server");
/* FIXME: find out how to set default port */
- err_code = __ms_http_server_start(ms_streamer->http_server);
+ err_code = __ms_http_server_start(ms_streamer->http_server, DEFAULT_HTTP_PORT);
if (MEDIA_STREAMER_ERROR_NONE != err_code) {
ms_error("Failed to start http server during prepare. Destroying http server");
__ms_http_server_destroy(ms_streamer->http_server);