static void
gss_program_add_resources (GssProgram * program)
{
  char *s;

  s = g_strdup_printf ("/%s", GST_OBJECT_NAME (program));
  program->resource =
      gss_server_add_resource (program->server, s, GSS_RESOURCE_UI, "text/html",
      gss_program_get_resource, NULL, gss_config_post_resource, program);
  g_free (s);

  s = g_strdup_printf ("/%s.frag", GST_OBJECT_NAME (program));
  gss_server_add_resource (program->server, s, GSS_RESOURCE_UI, "text/plain",
      gss_program_frag_resource, NULL, NULL, program);
  g_free (s);

  s = g_strdup_printf ("/%s.list", GST_OBJECT_NAME (program));
  gss_server_add_resource (program->server, s, GSS_RESOURCE_UI, "text/plain",
      gss_program_list_resource, NULL, NULL, program);
  g_free (s);

  s = g_strdup_printf ("/%s-snapshot.png", GST_OBJECT_NAME (program));
  gss_server_add_resource (program->server, s, GSS_RESOURCE_UI, "image/png",
      gss_program_png_resource, NULL, NULL, program);
  g_free (s);

  s = g_strdup_printf ("/%s-snapshot.jpeg", GST_OBJECT_NAME (program));
  gss_server_add_resource (program->server, s, 0,
      "image/jpeg", gss_program_jpeg_resource, NULL, NULL, program);
  g_free (s);
}
static void
gss_program_add_resources (GssProgram * program)
{
  char *s;

  s = g_strdup_printf ("/%s", GSS_OBJECT_NAME (program));
  program->resource =
      gss_server_add_resource (GSS_OBJECT_SERVER (program), s, GSS_RESOURCE_UI,
      GSS_TEXT_HTML, gss_program_get_resource, NULL, gss_config_post_resource,
      program);
  g_free (s);

  s = g_strdup_printf ("/%s.frag", GSS_OBJECT_NAME (program));
  gss_server_add_resource (GSS_OBJECT_SERVER (program), s, GSS_RESOURCE_UI,
      GSS_TEXT_PLAIN, gss_program_frag_resource, NULL, NULL, program);
  g_free (s);

  s = g_strdup_printf ("/%s.list", GSS_OBJECT_NAME (program));
  gss_server_add_resource (GSS_OBJECT_SERVER (program), s, GSS_RESOURCE_UI,
      GSS_TEXT_PLAIN, gss_program_list_resource, NULL, NULL, program);
  g_free (s);

  s = g_strdup_printf ("/%s-snapshot.png", GSS_OBJECT_NAME (program));
  gss_server_add_resource (GSS_OBJECT_SERVER (program), s, GSS_RESOURCE_UI,
      "image/png", gss_program_png_resource, NULL, NULL, program);
  g_free (s);

  s = g_strdup_printf ("/%s-snapshot.jpeg", GSS_OBJECT_NAME (program));
  gss_server_add_resource (GSS_OBJECT_SERVER (program), s, 0,
      "image/jpeg", gss_program_jpeg_resource, NULL, NULL, program);
  g_free (s);
}
Example #3
0
void
gss_config_add_server_resources (GssServer * server)
{
  GssResource *r;

  r = gss_server_add_resource (server, "/admin/server", GSS_RESOURCE_ADMIN,
      "text/html", gss_server_get_resource, NULL, gss_server_post_resource,
      server);
  gss_server_add_admin_resource (server, r, "Server");

  r = gss_server_add_resource (server, "/admin/config", GSS_RESOURCE_ADMIN,
      "text/html", gss_config_get_resource, NULL, gss_config_post_resource,
      NULL);

  gss_server_add_resource (server, "/admin/config_file", GSS_RESOURCE_ADMIN,
      "text/plain", gss_config_file_get_resource, NULL, NULL, NULL);
}
static void
gss_server_attach (GssObject * object, GssServer * x_server)
{
  GssServer *server = GSS_SERVER (object);
  GssResource *r;

  r = gss_server_add_resource (GSS_OBJECT_SERVER (object), "/admin/server",
      GSS_RESOURCE_ADMIN, GSS_TEXT_HTML, gss_server_get_resource, NULL,
      gss_server_post_resource, server);
  r->name = g_strdup ("Server");
  gss_module_set_admin_resource (GSS_MODULE (server), r);

}
Example #5
0
void
gss_vod_setup (GssServer * server)
{
  GDir *dir;

  dir = g_dir_open (server->archive_dir, 0, NULL);
  if (dir) {
    const gchar *name = g_dir_read_name (dir);

    while (name) {
      if (g_str_has_suffix (name, ".webm")) {
        GssProgram *program;
        GssStream *stream;
        char *s;

        program = gss_server_add_program (server, name);
        program->is_archive = TRUE;

        stream = gss_stream_new (GSS_STREAM_TYPE_WEBM, 640, 360, 600);
        gss_program_add_stream (program, stream);

        s = g_strdup_printf ("%s-%dx%d-%dkbps%s.%s", GSS_OBJECT_NAME (program),
            stream->width, stream->height, stream->bitrate / 1000,
            gss_stream_type_get_mod (stream->type),
            gss_stream_type_get_ext (stream->type));
        gst_object_set_name (GST_OBJECT (stream), s);
        g_free (s);

        s = g_strdup_printf ("/%s", GSS_OBJECT_NAME (stream));
        gss_server_add_resource (GSS_OBJECT_SERVER (program), s,
            GSS_RESOURCE_HTTP_ONLY,
            gss_stream_type_get_content_type (stream->type),
            vod_resource_chunked, NULL, NULL, program);
        g_free (s);
      }
      name = g_dir_read_name (dir);
    }
    g_dir_close (dir);
  }
}
static void
gss_server_setup_resources (GssServer * server)
{
  gss_session_add_session_callbacks (server);

  gss_server_add_resource (server, "/", GSS_RESOURCE_UI, GSS_TEXT_HTML,
      gss_server_resource_main_page, NULL, NULL, NULL);
  gss_server_add_resource (server, "/list", GSS_RESOURCE_UI, GSS_TEXT_PLAIN,
      gss_server_resource_list, NULL, NULL, NULL);
  gss_server_add_string_resource (server, "/check", 0, GSS_TEXT_HTML,
      "<!DOCTYPE html><html><title>Status</title>"
      "<body>status: ok</body></html>\n");

  gss_server_add_resource (server, "/about", GSS_RESOURCE_UI, GSS_TEXT_HTML,
      gss_server_resource_about, NULL, NULL, NULL);
  gss_server_add_resource (server, "/contact", GSS_RESOURCE_UI, GSS_TEXT_HTML,
      gss_resource_unimplemented, NULL, NULL, NULL);
  gss_server_add_resource (server, "/add_program", GSS_RESOURCE_UI,
      GSS_TEXT_HTML, gss_resource_unimplemented, NULL, NULL, NULL);
  gss_server_add_resource (server, "/dashboard", GSS_RESOURCE_UI, GSS_TEXT_HTML,
      gss_resource_unimplemented, NULL, NULL, NULL);
  gss_server_add_resource (server, "/monitor", GSS_RESOURCE_UI, GSS_TEXT_HTML,
      gss_resource_unimplemented, NULL, NULL, NULL);
  gss_server_add_resource (server, "/meep", GSS_RESOURCE_UI, GSS_TEXT_HTML,
      gss_resource_unimplemented, NULL, NULL, NULL);

  if (server->enable_cortado) {
    gss_server_add_file_resource (server, "/cortado.jar", 0,
        "application/java-archive");
  }

  if (server->enable_osplayer) {
    gss_server_add_file_resource (server, "/OSplayer.swf", 0,
        "application/x-shockwave-flash");
    gss_server_add_file_resource (server, "/AC_RunActiveContent.js", 0,
        "application/javascript");
  }

  if (server->enable_flowplayer) {
    gss_server_add_file_resource (server, "/flowplayer-3.2.15.swf", 0,
        "application/x-shockwave-flash");
    gss_server_add_file_resource (server, "/flowplayer.controls-3.2.14.swf", 0,
        "application/x-shockwave-flash");
    gss_server_add_file_resource (server, "/flowplayer-3.2.11.min.js", 0,
        "application/javascript");
  }

  gss_server_add_static_resource (server, "/images/footer-entropywave.png",
      0, "image/png",
      gss_data_footer_entropywave_png, gss_data_footer_entropywave_png_len);

  gss_server_add_string_resource (server, "/robots.txt", 0,
      GSS_TEXT_PLAIN, "User-agent: *\nDisallow: /\n");

  gss_server_add_static_resource (server, "/dash.min.js", 0,
      "text/javascript", gss_data_dash_min_js, gss_data_dash_min_js_len);
  gss_server_add_static_resource (server, "/include.js", 0,
      "text/javascript", gss_data_include_js, gss_data_include_js_len);
  gss_server_add_static_resource (server,
      "/bootstrap/css/bootstrap-responsive.css", 0, "text/css",
      gss_data_bootstrap_responsive_css, gss_data_bootstrap_responsive_css_len);
  gss_server_add_static_resource (server,
      "/bootstrap/css/bootstrap.css", 0, "text/css",
      gss_data_bootstrap_css, gss_data_bootstrap_css_len);
  gss_server_add_static_resource (server,
      "/bootstrap/js/bootstrap.js", 0, "text/javascript",
      gss_data_bootstrap_js, gss_data_bootstrap_js_len);
  gss_server_add_static_resource (server,
      "/bootstrap/js/jquery.js", 0, "text/javascript",
      gss_data_jquery_js, gss_data_jquery_js_len);
  gss_server_add_static_resource (server,
      "/bootstrap/img/glyphicons-halflings.png", 0, "image/png",
      gss_data_glyphicons_halflings_png, gss_data_glyphicons_halflings_png_len);
  gss_server_add_static_resource (server,
      "/bootstrap/img/glyphicons-halflings-white.png", 0, "image/png",
      gss_data_glyphicons_halflings_white_png,
      gss_data_glyphicons_halflings_white_png_len);
  gss_server_add_static_resource (server,
      "/no-snapshot.jpg", 0, "image/jpeg",
      gss_data_no_snapshot_jpg, gss_data_no_snapshot_jpg_len);
  gss_server_add_static_resource (server,
      "/offline.jpg", 0, "image/jpeg",
      gss_data_offline_jpg, gss_data_offline_jpg_len);
  gss_server_add_static_resource (server,
      "/sign_in_blue.png", 0, "image/png",
      gss_data_sign_in_blue_png, gss_data_sign_in_blue_png_len);

  gss_server_add_resource (server, "/assets/", GSS_RESOURCE_PREFIX,
      NULL, gss_asset_get_resource, NULL, NULL, NULL);

  gss_playready_setup (server);
}