summarylogtreecommitdiffstats
path: root/quvi-0.9.patch
diff options
context:
space:
mode:
authornezumisama2015-06-14 17:54:37 +0200
committernezumisama2015-06-14 17:54:37 +0200
commit34e6d3e8af4ca718c02396176f184599eb8e1da5 (patch)
tree295bef41b4861d2e5c8c419c7a002635525a21da /quvi-0.9.patch
downloadaur-34e6d3e8af4ca718c02396176f184599eb8e1da5.tar.gz
Initial commit.
Diffstat (limited to 'quvi-0.9.patch')
-rw-r--r--quvi-0.9.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/quvi-0.9.patch b/quvi-0.9.patch
new file mode 100644
index 000000000000..09d55903615f
--- /dev/null
+++ b/quvi-0.9.patch
@@ -0,0 +1,98 @@
+This makes mplayer2 work with the new 0.9 branch of libquvi.
+Please send issues to rat dot o dot drat at gmail dot com.
+diff -Naur mplayer2/configure mplayer2.new/configure
+--- mplayer2/configure 2014-02-24 19:37:11.154636312 +0100
++++ mplayer2.new/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 -Naur mplayer2/stream/quvi.c mplayer2.new/stream/quvi.c
+--- mplayer2/stream/quvi.c 2014-02-24 19:37:08.347929591 +0100
++++ mplayer2.new/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);