void query_pt4::_close() { if (_quvi != NULL) { quvi_close(&_quvi); _quvi = NULL; } }
gboolean idol_pl_parser_is_videosite (const char *uri, gboolean debug) { #ifdef HAVE_QUVI quvi_t handle; QUVIcode rc; if (quvi_init (&handle) != QUVI_OK) return FALSE; rc = quvi_supported(handle, (char *) uri); quvi_close (&handle); if (debug) g_print ("Checking videosite for URI '%s' returned %d (%s)", uri, rc, (rc == QUVI_OK) ? "true" : "false"); return (rc == QUVI_OK); #else return FALSE; #endif /* HAVE_QUVI */ }
IdolPlParserResult idol_pl_parser_add_videosite (IdolPlParser *parser, GFile *file, GFile *base_file, IdolPlParseData *parse_data, gpointer data) { #ifdef HAVE_QUVI QUVIcode rc; quvi_t handle; quvi_video_t v; char *uri; /* properties */ const char *video_uri; double length; char *length_str; const char *title; const char *id; const char *page_uri; const char *starttime; const char *content_type; if (quvi_init (&handle) != QUVI_OK) return IDOL_PL_PARSER_RESULT_ERROR; uri = g_file_get_uri (file); rc = quvi_parse(handle, uri, &v); if (rc != QUVI_OK) { if (idol_pl_parser_is_debugging_enabled (parser)) { g_print ("quvi_parse for '%s' returned %d", uri, rc); } g_free (uri); quvi_close (&handle); return IDOL_PL_PARSER_RESULT_ERROR; } getprop (QUVIPROP_VIDEOURL, video_uri); if (quvi_getprop (v, QUVIPROP_VIDEOFILELENGTH, &length) == QUVI_OK) length_str = g_strdup_printf ("%f", length); else length_str = NULL; getprop (QUVIPROP_PAGETITLE, title); getprop (QUVIPROP_VIDEOID, id); getprop (QUVIPROP_PAGEURL, page_uri); getprop (QUVIPROP_STARTTIME, starttime); getprop (QUVIPROP_VIDEOFILECONTENTTYPE, content_type); length_str = g_strdup_printf ("%d", (int) length); if (video_uri != NULL) idol_pl_parser_add_uri (parser, IDOL_PL_PARSER_FIELD_TITLE, title, IDOL_PL_PARSER_FIELD_ID, id, IDOL_PL_PARSER_FIELD_MOREINFO, page_uri, IDOL_PL_PARSER_FIELD_URI, video_uri, IDOL_PL_PARSER_FIELD_FILESIZE, length_str, IDOL_PL_PARSER_FIELD_STARTTIME, starttime, IDOL_PL_PARSER_FIELD_CONTENT_TYPE, content_type, NULL); g_free (uri); g_free (length_str); quvi_parse_close (&v); quvi_close (&handle); return IDOL_PL_PARSER_RESULT_SUCCESS; #else return IDOL_PL_PARSER_RESULT_UNHANDLED; #endif /* !HAVE_QUVI */ }