diff options
author | sl1pkn07 | 2015-06-08 18:40:44 +0200 |
---|---|---|
committer | sl1pkn07 | 2015-06-08 18:40:44 +0200 |
commit | c93d29b44dd838d76394aa659a44b22305ff0d22 (patch) | |
tree | 7efe8ff58535d37897a53b1820382c75a01275e9 /libquvi-0.9.patch | |
download | aur-c93d29b44dd838d76394aa659a44b22305ff0d22.tar.gz |
Initial commit
Diffstat (limited to 'libquvi-0.9.patch')
-rw-r--r-- | libquvi-0.9.patch | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/libquvi-0.9.patch b/libquvi-0.9.patch new file mode 100644 index 000000000000..970022987ed1 --- /dev/null +++ b/libquvi-0.9.patch @@ -0,0 +1,97 @@ +diff -rupN a/configure b/configure +--- a/configure 2014-02-24 19:37:11.154636312 +0100 ++++ b/configure 2014-02-24 19:39:33.979771836 +0100 +@@ -3187,7 +3187,7 @@ + echocheck "libquvi support" + if test "$_libquvi" = auto ; then + _libquvi=no +- if pkg_config_add 'libquvi >= 0.4.1' ; then ++ if pkg_config_add 'libquvi-0.9' ; then + _libquvi=yes + fi + fi +diff -rupN a/stream/quvi.c b/stream/quvi.c +--- a/stream/quvi.c 2014-02-24 19:37:08.347929591 +0100 ++++ b/stream/quvi.c 2014-02-24 19:40:08.693559705 +0100 +@@ -15,7 +15,7 @@ + * with mplayer2. If not, see <http://www.gnu.org/licenses/>. + */ + +-#include <quvi/quvi.h> ++#include <quvi.h> + + #include "talloc.h" + #include "mp_msg.h" +@@ -24,19 +24,17 @@ + + struct mp_resolve_result *mp_resolve_quvi(const char *url, struct MPOpts *opts) + { +- QUVIcode rc; +- +- quvi_t q; +- rc = quvi_init(&q); +- if (rc != QUVI_OK) ++ quvi_t q = quvi_new(); ++ if (quvi_ok(q) == QUVI_FALSE) + return NULL; + + // Don't try to use quvi on an URL that's not directly supported, since + // quvi will do a network access anyway in order to check for HTTP + // redirections etc. + // The documentation says this will fail on "shortened" URLs. +- if (quvi_supported(q, (char *)url) != QUVI_OK) { +- quvi_close(&q); ++ if (quvi_supports(q, (char *) url, QUVI_SUPPORTS_MODE_OFFLINE, ++ QUVI_SUPPORTS_TYPE_ANY) == QUVI_FALSE) { ++ quvi_free(q); + return NULL; + } + +@@ -48,13 +46,16 @@ + // That call requires an extra net access. quvi_next_media_url() doesn't + // seem to do anything useful. So we can't really do anything useful + // except pass through the user's format setting. +- quvi_setopt(q, QUVIOPT_FORMAT, opts->quvi_format); +- +- quvi_media_t m; +- rc = quvi_parse(q, (char *)url, &m); +- if (rc != QUVI_OK) { +- mp_msg(MSGT_OPEN, MSGL_ERR, "[quvi] %s\n", quvi_strerror(q, rc)); +- quvi_close(&q); ++ quvi_media_t m = quvi_media_new(q, (char *) url); ++ if (quvi_ok(q) == QUVI_FALSE) { ++ mp_msg(MSGT_OPEN, MSGL_ERR, "[quvi] %s\n", quvi_errmsg(q)); ++ quvi_free(q); ++ return NULL; ++ } ++ quvi_media_stream_select(m, opts->quvi_format); ++ if (quvi_ok(q) == QUVI_FALSE) { ++ mp_msg(MSGT_OPEN, MSGL_ERR, "[quvi] %s\n", quvi_errmsg(q)); ++ quvi_free(q); + return NULL; + } + +@@ -62,15 +63,17 @@ + talloc_zero(NULL, struct mp_resolve_result); + + char *val; +- +- if (quvi_getprop(m, QUVIPROP_MEDIAURL, &val) == QUVI_OK) ++ ++ quvi_media_get(m, QUVI_MEDIA_STREAM_PROPERTY_URL, &val); ++ if (quvi_ok(q) == QUVI_TRUE) + result->url = talloc_strdup(result, val); + +- if (quvi_getprop(m, QUVIPROP_PAGETITLE, &val) == QUVI_OK) ++ quvi_media_get(m, QUVI_MEDIA_PROPERTY_TITLE, &val); ++ if (quvi_ok(q) == QUVI_TRUE) + result->title = talloc_strdup(result, val); + +- quvi_parse_close(&m); +- quvi_close(&q); ++ quvi_media_free(m); ++ quvi_free(q); + + if (!result->url) { + talloc_free(result); + |