Hello community,

here is the log from the commit of package totem-pl-parser for openSUSE:Factory
checked in at Tue May 31 13:30:49 CEST 2011.



--------
--- GNOME/totem-pl-parser/totem-pl-parser.changes       2011-04-05 
11:51:07.000000000 +0200
+++ /mounts/work_src_done/STABLE/totem-pl-parser/totem-pl-parser.changes        
2011-05-26 21:52:12.000000000 +0200
@@ -1,0 +2,10 @@
+Wed May 18 03:21:07 CEST 2011 - dims...@opensuse.org
+
+- Update to version 2.32.5:
+  + Fix parsing of iTunes podcasts
+  + Use libarchive to detect media discs in ISO files, instead of
+    gvfs, which makes it more reliable
+  + Add support for quvi properties (duration and thumbnail URL).
+- Add pkgconfig(libarchive) BuildRequires.
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  totem-pl-parser-2.32.4.tar.bz2

New:
----
  totem-pl-parser-2.32.5.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ totem-pl-parser.spec ++++++
--- /var/tmp/diff_new_pack.EFo8Re/_old  2011-05-31 13:23:14.000000000 +0200
+++ /var/tmp/diff_new_pack.EFo8Re/_new  2011-05-31 13:23:14.000000000 +0200
@@ -19,7 +19,7 @@
 
 
 Name:           totem-pl-parser
-Version:        2.32.4
+Version:        2.32.5
 Release:        1
 License:        LGPLv2.0+
 Group:          Productivity/Multimedia/Video/Players
@@ -33,6 +33,7 @@
 BuildRequires:  libsoup-devel
 BuildRequires:  libxml2-devel
 BuildRequires:  translation-update-upstream
+BuildRequires:  pkgconfig(libarchive)
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Recommends:     %{name}-lang
 

++++++ totem-pl-parser-2.32.4.tar.bz2 -> totem-pl-parser-2.32.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/ChangeLog 
new/totem-pl-parser-2.32.5/ChangeLog
--- old/totem-pl-parser-2.32.4/ChangeLog        2011-03-21 15:51:22.000000000 
+0100
+++ new/totem-pl-parser-2.32.5/ChangeLog        2011-05-10 15:34:15.000000000 
+0200
@@ -1,3 +1,72 @@
+commit 0fed7b9c663cbc0907f5ec79c1665a3eb3988e23
+Author: Bastien Nocera <had...@hadess.net>
+Date:   Tue May 10 14:33:48 2011 +0100
+
+    2.32.5
+
+ NEWS         |    7 +++++++
+ configure.in |    2 +-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+commit b4c2e6c8941f185125abb505c9e2ca8bdf0fbb63
+Author: Bastien Nocera <had...@hadess.net>
+Date:   Tue May 3 14:23:33 2011 +0100
+
+    lib: Fix ITMS parsing from iTunes 10.x
+    
+    Instead of XML files/plists, the iTunes podcast code now
+    uses plists for redirections, and HTML for the podcast itself.
+    
+    https://bugzilla.gnome.org/show_bug.cgi?id=649171
+
+ plparse/totem-pl-parser-podcast.c |  116 ++++++++++++++++++++-----------------
+ 1 files changed, 62 insertions(+), 54 deletions(-)
+
+commit cdee229e67a3b88557cc01545af05a860f559ba4
+Author: Bastien Nocera <had...@hadess.net>
+Date:   Tue May 3 13:07:52 2011 +0100
+
+    lib: Add debug to the podcast functions
+
+ plparse/totem-pl-parser-podcast.c |   17 +++++++++++------
+ 1 files changed, 11 insertions(+), 6 deletions(-)
+
+commit e57948ce6ef79af728e40722c8478122270b845e
+Author: Bastien Nocera <had...@hadess.net>
+Date:   Sat Apr 2 20:42:08 2011 +0100
+
+    Use libarchive to detect types of ISO files
+    
+    Instead of using GVFS to mount the ISOs through libarchive,
+    as it was quite fiddly, and unreliable.
+
+ configure.in         |   35 +++++++++++++
+ plparse/Makefile.am  |    2 +
+ plparse/totem-disc.c |  130 +++++++++++++++++++++++---------------------------
+ totem-plparser.pc.in |    2 +-
+ 4 files changed, 98 insertions(+), 71 deletions(-)
+
+commit aba65d92aa4a82de84a3135af2cbfb88124a319b
+Author: Bastien Nocera <had...@hadess.net>
+Date:   Fri Mar 25 01:31:39 2011 +0000
+
+    Add support for new quvi properties
+    
+    Duration, and Thumbnail URL are now available.
+
+ configure.in                        |    2 +-
+ plparse/totem-pl-parser-videosite.c |   16 +++++++++++++---
+ 2 files changed, 14 insertions(+), 4 deletions(-)
+
+commit 7a717c19076b504324e99db2707f24de1ce0c645
+Author: Abduxukur Abdurixit <abduri...@gmail.com>
+Date:   Sun Mar 27 21:52:18 2011 +0200
+
+    Added UG translation
+
+ po/ug.po |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
 commit 24ab9af8ede6d92c6cce9fc219708894ccae6b15
 Author: Bastien Nocera <had...@hadess.net>
 Date:   Mon Mar 21 14:51:13 2011 +0000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/Makefile.in 
new/totem-pl-parser-2.32.5/Makefile.in
--- old/totem-pl-parser-2.32.4/Makefile.in      2011-03-17 02:21:56.000000000 
+0100
+++ new/totem-pl-parser-2.32.5/Makefile.in      2011-05-10 15:34:03.000000000 
+0200
@@ -152,6 +152,9 @@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AM_LDFLAGS = @AM_LDFLAGS@
 AR = @AR@
+ARCHIVE = @ARCHIVE@
+ARCHIVE_CFLAGS = @ARCHIVE_CFLAGS@
+ARCHIVE_LIBS = @ARCHIVE_LIBS@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/NEWS 
new/totem-pl-parser-2.32.5/NEWS
--- old/totem-pl-parser-2.32.4/NEWS     2011-03-21 15:44:27.000000000 +0100
+++ new/totem-pl-parser-2.32.5/NEWS     2011-05-10 15:32:36.000000000 +0200
@@ -1,5 +1,12 @@
 New features and significant updates in version...
 
+2.32.5:
+* Fix parsing of iTunes podcasts
+* Use libarchive to detect media discs in ISO files,
+  instead of gvfs, which makes it more reliable
+* Add support for new quvi properties (duration
+  and thumbnail URL)
+
 2.32.4:
 * Fix --enable-quvi option
 * Fix getting past the last line of PLS files
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/config.h.in 
new/totem-pl-parser-2.32.5/config.h.in
--- old/totem-pl-parser-2.32.4/config.h.in      2011-03-17 02:22:04.000000000 
+0100
+++ new/totem-pl-parser-2.32.5/config.h.in      2011-05-10 15:34:13.000000000 
+0200
@@ -18,6 +18,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* libarchive available in the system */
+#undef HAVE_LIBARCHIVE
+
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/configure 
new/totem-pl-parser-2.32.5/configure
--- old/totem-pl-parser-2.32.4/configure        2011-03-17 02:21:55.000000000 
+0100
+++ new/totem-pl-parser-2.32.5/configure        2011-05-10 15:34:02.000000000 
+0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for totem-pl-parser 2.32.4.
+# Generated by GNU Autoconf 2.68 for totem-pl-parser 2.32.5.
 #
 # Report bugs to 
<http://bugzilla.gnome.org/enter_bug.cgi?product=totem-pl-parser&component=General>.
 #
@@ -571,8 +571,8 @@
 # Identity of this package.
 PACKAGE_NAME='totem-pl-parser'
 PACKAGE_TARNAME='totem-pl-parser'
-PACKAGE_VERSION='2.32.4'
-PACKAGE_STRING='totem-pl-parser 2.32.4'
+PACKAGE_VERSION='2.32.5'
+PACKAGE_STRING='totem-pl-parser 2.32.5'
 
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=totem-pl-parser&component=General'
 PACKAGE_URL=''
 
@@ -653,6 +653,9 @@
 TOTEM_PLPARSER_MINI_CFLAGS
 TOTEM_PLPARSER_LIBS
 TOTEM_PLPARSER_CFLAGS
+ARCHIVE
+ARCHIVE_LIBS
+ARCHIVE_CFLAGS
 QUVI
 QUVI_LIBS
 QUVI_CFLAGS
@@ -834,9 +837,9 @@
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
-with_gnu_ld
 enable_gmime_i_know_what_im_doing
 enable_quvi
+enable_libarchive
 enable_debug
 enable_compile_warnings
 enable_iso_c
@@ -857,12 +860,8 @@
 LIBS
 CPPFLAGS
 CPP
-CPPFLAGS
 CXX
 CXXFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
 CCC
 CXXCPP
 PKG_CONFIG
@@ -870,10 +869,10 @@
 PKG_CONFIG_LIBDIR
 GMIME_CFLAGS
 GMIME_LIBS
-GMIME_CFLAGS
-GMIME_LIBS
 QUVI_CFLAGS
 QUVI_LIBS
+ARCHIVE_CFLAGS
+ARCHIVE_LIBS
 TOTEM_PLPARSER_CFLAGS
 TOTEM_PLPARSER_LIBS
 TOTEM_PLPARSER_MINI_CFLAGS
@@ -1420,7 +1419,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures totem-pl-parser 2.32.4 to adapt to many kinds of 
systems.
+\`configure' configures totem-pl-parser 2.32.5 to adapt to many kinds of 
systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1490,7 +1489,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of totem-pl-parser 2.32.4:";;
+     short | recursive ) echo "Configuration of totem-pl-parser 2.32.5:";;
    esac
   cat <<\_ACEOF
 
@@ -1514,6 +1513,7 @@
                           Disable libgmime (Unsupported, breaks Podcast
                           support).
   --enable-quvi           Enable libquvi support (default is auto).
+  --enable-libarchive     Enable libarchive support (default is auto).
   --enable-debug          turn on debugging
   --enable-compile-warnings=[no/minimum/yes/maximum/error]
                           Turn on compiler warnings
@@ -1560,6 +1560,10 @@
   GMIME_LIBS  linker flags for GMIME, overriding pkg-config
   QUVI_CFLAGS C compiler flags for QUVI, overriding pkg-config
   QUVI_LIBS   linker flags for QUVI, overriding pkg-config
+  ARCHIVE_CFLAGS
+              C compiler flags for ARCHIVE, overriding pkg-config
+  ARCHIVE_LIBS
+              linker flags for ARCHIVE, overriding pkg-config
   TOTEM_PLPARSER_CFLAGS
               C compiler flags for TOTEM_PLPARSER, overriding pkg-config
   TOTEM_PLPARSER_LIBS
@@ -1635,7 +1639,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-totem-pl-parser configure 2.32.4
+totem-pl-parser configure 2.32.5
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2125,7 +2129,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by totem-pl-parser $as_me 2.32.4, which was
+It was created by totem-pl-parser $as_me 2.32.5, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -4280,7 +4284,7 @@
 
 # Define the identity of the package.
  PACKAGE='totem-pl-parser'
- VERSION='2.32.4'
+ VERSION='2.32.5'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -16108,7 +16112,8 @@
 # Requirements
 GLIB_REQS=2.21.6
 GIO_REQS=2.24.0
-QUVI_REQS=0.2.11
+QUVI_REQS=0.2.15
+LIBARCHIVE_REQS=2.8.4
 
 # Before making a release, the PLPARSER_LT_VERSION string should be modified.
 # The string is of the form C:R:A.
@@ -16122,7 +16127,7 @@
 
 TOTEM_PL_PARSER_VERSION_MAJOR=2
 TOTEM_PL_PARSER_VERSION_MINOR=32
-TOTEM_PL_PARSER_VERSION_MICRO=4
+TOTEM_PL_PARSER_VERSION_MICRO=5
 
 
 
@@ -16306,6 +16311,10 @@
  **************************************************************"
 fi
 
+##################################
+# Checking quvi dependency
+##################################
+
 QUVI=""
 # Check whether --enable-quvi was given.
 if test "${enable_quvi+set}" = set; then :
@@ -16398,6 +16407,102 @@
 QUVI=$QUVI
 
 
+##################################
+# Checking libarchive dependency
+##################################
+
+ARCHIVE=""
+# Check whether --enable-libarchive was given.
+if test "${enable_libarchive+set}" = set; then :
+  enableval=$enable_libarchive;
+else
+  enable_libarchive=auto
+fi
+
+if test "x$enable_libarchive" != "xno" ; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ARCHIVE" >&5
+$as_echo_n "checking for ARCHIVE... " >&6; }
+
+if test -n "$ARCHIVE_CFLAGS"; then
+    pkg_cv_ARCHIVE_CFLAGS="$ARCHIVE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"libarchive >= \$LIBARCHIVE_REQS\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libarchive >= $LIBARCHIVE_REQS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_ARCHIVE_CFLAGS=`$PKG_CONFIG --cflags "libarchive >= $LIBARCHIVE_REQS" 
2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$ARCHIVE_LIBS"; then
+    pkg_cv_ARCHIVE_LIBS="$ARCHIVE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"libarchive >= \$LIBARCHIVE_REQS\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libarchive >= $LIBARCHIVE_REQS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_ARCHIVE_LIBS=`$PKG_CONFIG --libs "libarchive >= $LIBARCHIVE_REQS" 
2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               ARCHIVE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
"libarchive >= $LIBARCHIVE_REQS" 2>&1`
+        else
+               ARCHIVE_PKG_ERRORS=`$PKG_CONFIG --print-errors "libarchive >= 
$LIBARCHIVE_REQS" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$ARCHIVE_PKG_ERRORS" >&5
+
+       have_libarchive=no
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       have_libarchive=no
+else
+       ARCHIVE_CFLAGS=$pkg_cv_ARCHIVE_CFLAGS
+       ARCHIVE_LIBS=$pkg_cv_ARCHIVE_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_libarchive=yes
+fi
+       if test "x$enable_libarchive" = "xyes" -a "x$have_libarchive" = "xno" ; 
then
+               as_fn_error $? "Libarchive support requested but not 
available." "$LINENO" 5
+       fi
+       if test "x$have_libarchive" = "xyes" ; then
+               pkg_modules="$pkg_modules libarchive"
+               ARCHIVE="libarchive"
+
+$as_echo "#define HAVE_LIBARCHIVE 1" >>confdefs.h
+
+       fi
+fi
+ARCHIVE=$ARCHIVE
+
+
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TOTEM_PLPARSER" >&5
@@ -17701,7 +17806,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by totem-pl-parser $as_me 2.32.4, which was
+This file was extended by totem-pl-parser $as_me 2.32.5, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17767,7 +17872,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-totem-pl-parser config.status 2.32.4
+totem-pl-parser config.status 2.32.5
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
@@ -19849,6 +19954,13 @@
        { $as_echo "$as_me:${as_lineno-$LINENO}:    Quvi video link parsing 
disabled" >&5
 $as_echo "$as_me:    Quvi video link parsing disabled" >&6;}
 fi
+if test "x$have_libarchive" = "xyes"; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: ** ISO detection with 
libarchive enabled" >&5
+$as_echo "$as_me: ** ISO detection with libarchive enabled" >&6;}
+else
+       { $as_echo "$as_me:${as_lineno-$LINENO}:    ISO detection with 
libarchive disabled" >&5
+$as_echo "$as_me:    ISO detection with libarchive disabled" >&6;}
+fi
 
 echo "
 $gmime_message
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/configure.in 
new/totem-pl-parser-2.32.5/configure.in
--- old/totem-pl-parser-2.32.4/configure.in     2011-03-17 02:21:20.000000000 
+0100
+++ new/totem-pl-parser-2.32.5/configure.in     2011-05-10 15:30:14.000000000 
+0200
@@ -2,7 +2,7 @@
 
 m4_define(totem_version_major, 2)
 m4_define(totem_version_minor, 32)
-m4_define(totem_version_micro, 4)
+m4_define(totem_version_micro, 5)
 
 AC_INIT([totem-pl-parser],
         [totem_version_major.totem_version_minor.totem_version_micro],
@@ -40,7 +40,8 @@
 # Requirements
 GLIB_REQS=2.21.6
 GIO_REQS=2.24.0
-QUVI_REQS=0.2.11
+QUVI_REQS=0.2.15
+LIBARCHIVE_REQS=2.8.4
 
 # Before making a release, the PLPARSER_LT_VERSION string should be modified.
 # The string is of the form C:R:A.
@@ -101,6 +102,10 @@
  **************************************************************"
 fi
 
+##################################
+# Checking quvi dependency
+##################################
+
 QUVI=""
 AC_ARG_ENABLE(quvi,
              AS_HELP_STRING([--enable-quvi],
@@ -122,6 +127,31 @@
 fi
 AC_SUBST(QUVI, $QUVI)
 
+##################################
+# Checking libarchive dependency
+##################################
+
+ARCHIVE=""
+AC_ARG_ENABLE(libarchive,
+             AS_HELP_STRING([--enable-libarchive],
+                            [Enable libarchive support (default is auto).]),
+                            [],
+                            [enable_libarchive=auto])
+if test "x$enable_libarchive" != "xno" ; then
+       PKG_CHECK_MODULES(ARCHIVE,
+                         libarchive >= $LIBARCHIVE_REQS,
+                         [have_libarchive=yes], [have_libarchive=no])
+       if test "x$enable_libarchive" = "xyes" -a "x$have_libarchive" = "xno" ; 
then
+               AC_MSG_ERROR([Libarchive support requested but not available.])
+       fi
+       if test "x$have_libarchive" = "xyes" ; then
+               pkg_modules="$pkg_modules libarchive"
+               ARCHIVE="libarchive"
+               AC_DEFINE(HAVE_LIBARCHIVE, 1, [libarchive available in the 
system])
+       fi
+fi
+AC_SUBST(ARCHIVE, $ARCHIVE)
+
 dnl Check for packages for building libtotem-plparser.la
 PKG_CHECK_MODULES(TOTEM_PLPARSER, [$pkg_modules])
 AC_SUBST(TOTEM_PLPARSER_CFLAGS)
@@ -178,6 +208,11 @@
 else
        AC_MSG_NOTICE([   Quvi video link parsing disabled])
 fi
+if test "x$have_libarchive" = "xyes"; then
+       AC_MSG_NOTICE([** ISO detection with libarchive enabled])
+else
+       AC_MSG_NOTICE([   ISO detection with libarchive disabled])
+fi
 
 echo "
 $gmime_message
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/docs/Makefile.in 
new/totem-pl-parser-2.32.5/docs/Makefile.in
--- old/totem-pl-parser-2.32.4/docs/Makefile.in 2011-03-17 02:21:56.000000000 
+0100
+++ new/totem-pl-parser-2.32.5/docs/Makefile.in 2011-05-10 15:34:02.000000000 
+0200
@@ -105,6 +105,9 @@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AM_LDFLAGS = @AM_LDFLAGS@
 AR = @AR@
+ARCHIVE = @ARCHIVE@
+ARCHIVE_CFLAGS = @ARCHIVE_CFLAGS@
+ARCHIVE_LIBS = @ARCHIVE_LIBS@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/docs/reference/Makefile.in 
new/totem-pl-parser-2.32.5/docs/reference/Makefile.in
--- old/totem-pl-parser-2.32.4/docs/reference/Makefile.in       2011-03-17 
02:21:56.000000000 +0100
+++ new/totem-pl-parser-2.32.5/docs/reference/Makefile.in       2011-05-10 
15:34:02.000000000 +0200
@@ -74,6 +74,9 @@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AM_LDFLAGS = @AM_LDFLAGS@
 AR = @AR@
+ARCHIVE = @ARCHIVE@
+ARCHIVE_CFLAGS = @ARCHIVE_CFLAGS@
+ARCHIVE_LIBS = @ARCHIVE_LIBS@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/totem-pl-parser-2.32.4/docs/reference/html/TotemPlParser.html 
new/totem-pl-parser-2.32.5/docs/reference/html/TotemPlParser.html
--- old/totem-pl-parser-2.32.4/docs/reference/html/TotemPlParser.html   
2011-03-21 15:51:28.000000000 +0100
+++ new/totem-pl-parser-2.32.5/docs/reference/html/TotemPlParser.html   
2011-05-10 15:34:24.000000000 +0200
@@ -159,7 +159,7 @@
 <p>
 </p>
 <div class="example">
-<a name="id435036"></a><p class="title"><b>Example 1. Reading a 
Playlist</b></p>
+<a name="id451488"></a><p class="title"><b>Example 1. Reading a 
Playlist</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -193,7 +193,7 @@
 <p>
 </p>
 <div class="example">
-<a name="id435057"></a><p class="title"><b>Example 2. Reading a Playlist 
Asynchronously</b></p>
+<a name="id451509"></a><p class="title"><b>Example 2. Reading a Playlist 
Asynchronously</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -243,7 +243,7 @@
 <p>
 </p>
 <div class="example">
-<a name="id435081"></a><p class="title"><b>Example 3. Getting Metadata from 
Entries</b></p>
+<a name="id451533"></a><p class="title"><b>Example 3. Getting Metadata from 
Entries</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -277,7 +277,7 @@
 <p>
 </p>
 <div class="example">
-<a name="id435101"></a><p class="title"><b>Example 4. Writing a 
Playlist</b></p>
+<a name="id451554"></a><p class="title"><b>Example 4. Writing a 
Playlist</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/docs/reference/html/ix02.html 
new/totem-pl-parser-2.32.5/docs/reference/html/ix02.html
--- old/totem-pl-parser-2.32.4/docs/reference/html/ix02.html    2011-03-21 
15:51:28.000000000 +0100
+++ new/totem-pl-parser-2.32.5/docs/reference/html/ix02.html    2011-05-10 
15:34:24.000000000 +0200
@@ -24,7 +24,7 @@
 </table>
 <div class="index">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id451337"></a>Index of new symbols in 2.26</h2></div></div></div>
+<a name="id467790"></a>Index of new symbols in 2.26</h2></div></div></div>
 <a name="idx"></a><a name="idxP"></a><h3 class="title">P</h3>
 <dt>
 <a class="link" 
href="TotemPlParser.html#TOTEM-PL-PARSER-FIELD-DOWNLOAD-URI:CAPS" 
title="TOTEM_PL_PARSER_FIELD_DOWNLOAD_URI">TOTEM_PL_PARSER_FIELD_DOWNLOAD_URI</a>,
 macro in <a class="link" href="TotemPlParser.html" 
title="TotemPlParser">TotemPlParser</a>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/docs/reference/version.xml 
new/totem-pl-parser-2.32.5/docs/reference/version.xml
--- old/totem-pl-parser-2.32.4/docs/reference/version.xml       2011-03-17 
02:22:03.000000000 +0100
+++ new/totem-pl-parser-2.32.5/docs/reference/version.xml       2011-05-10 
15:34:12.000000000 +0200
@@ -1 +1 @@
-2.32.4
+2.32.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/lib/Makefile.in 
new/totem-pl-parser-2.32.5/lib/Makefile.in
--- old/totem-pl-parser-2.32.4/lib/Makefile.in  2011-03-17 02:21:56.000000000 
+0100
+++ new/totem-pl-parser-2.32.5/lib/Makefile.in  2011-05-10 15:34:03.000000000 
+0200
@@ -98,6 +98,9 @@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AM_LDFLAGS = @AM_LDFLAGS@
 AR = @AR@
+ARCHIVE = @ARCHIVE@
+ARCHIVE_CFLAGS = @ARCHIVE_CFLAGS@
+ARCHIVE_LIBS = @ARCHIVE_LIBS@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/plparse/Makefile.am 
new/totem-pl-parser-2.32.5/plparse/Makefile.am
--- old/totem-pl-parser-2.32.4/plparse/Makefile.am      2011-02-01 
02:30:15.000000000 +0100
+++ new/totem-pl-parser-2.32.5/plparse/Makefile.am      2011-04-02 
20:07:12.000000000 +0200
@@ -72,6 +72,7 @@
 
 libtotem_plparser_la_CFLAGS = \
        $(TOTEM_PLPARSER_CFLAGS)        \
+       $(ARCHIVE_CFLAGS)               \
        $(DBUS_CFLAGS)                  \
        $(WARN_CFLAGS)                  \
        $(AM_CFLAGS)                    \
@@ -82,6 +83,7 @@
 
 libtotem_plparser_la_LIBADD = \
        $(TOTEM_PLPARSER_LIBS)                  \
+       $(ARCHIVE_LIBS)                         \
        $(top_builddir)/lib/libtotem_glibc.la
 
 libtotem_plparser_la_LDFLAGS =                 \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/plparse/Makefile.in 
new/totem-pl-parser-2.32.5/plparse/Makefile.in
--- old/totem-pl-parser-2.32.4/plparse/Makefile.in      2011-03-17 
02:21:56.000000000 +0100
+++ new/totem-pl-parser-2.32.5/plparse/Makefile.in      2011-05-10 
15:34:03.000000000 +0200
@@ -101,7 +101,7 @@
        $(libtotem_plparser_mini_la_CFLAGS) $(CFLAGS) \
        $(libtotem_plparser_mini_la_LDFLAGS) $(LDFLAGS) -o $@
 libtotem_plparser_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-       $(top_builddir)/lib/libtotem_glibc.la
+       $(am__DEPENDENCIES_1) $(top_builddir)/lib/libtotem_glibc.la
 am__objects_1 = libtotem_plparser_la-totem-pl-parser-builtins.lo \
        libtotem_plparser_la-totem-disc.lo \
        libtotem_plparser_la-totem-pl-parser.lo \
@@ -211,6 +211,9 @@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AM_LDFLAGS = @AM_LDFLAGS@
 AR = @AR@
+ARCHIVE = @ARCHIVE@
+ARCHIVE_CFLAGS = @ARCHIVE_CFLAGS@
+ARCHIVE_LIBS = @ARCHIVE_LIBS@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -438,6 +441,7 @@
 
 libtotem_plparser_la_CFLAGS = \
        $(TOTEM_PLPARSER_CFLAGS)        \
+       $(ARCHIVE_CFLAGS)               \
        $(DBUS_CFLAGS)                  \
        $(WARN_CFLAGS)                  \
        $(AM_CFLAGS)                    \
@@ -448,6 +452,7 @@
 
 libtotem_plparser_la_LIBADD = \
        $(TOTEM_PLPARSER_LIBS)                  \
+       $(ARCHIVE_LIBS)                         \
        $(top_builddir)/lib/libtotem_glibc.la
 
 libtotem_plparser_la_LDFLAGS = \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/plparse/tests/Makefile.in 
new/totem-pl-parser-2.32.5/plparse/tests/Makefile.in
--- old/totem-pl-parser-2.32.4/plparse/tests/Makefile.in        2011-03-17 
02:21:56.000000000 +0100
+++ new/totem-pl-parser-2.32.5/plparse/tests/Makefile.in        2011-05-10 
15:34:03.000000000 +0200
@@ -108,6 +108,9 @@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AM_LDFLAGS = @AM_LDFLAGS@
 AR = @AR@
+ARCHIVE = @ARCHIVE@
+ARCHIVE_CFLAGS = @ARCHIVE_CFLAGS@
+ARCHIVE_LIBS = @ARCHIVE_LIBS@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/plparse/totem-disc.c 
new/totem-pl-parser-2.32.5/plparse/totem-disc.c
--- old/totem-pl-parser-2.32.4/plparse/totem-disc.c     2010-10-11 
20:21:55.000000000 +0200
+++ new/totem-pl-parser-2.32.5/plparse/totem-disc.c     2011-04-02 
21:35:41.000000000 +0200
@@ -58,6 +58,11 @@
 #include <glib/gi18n.h>
 #include <gio/gio.h>
 
+#ifdef HAVE_LIBARCHIVE
+#include <archive.h>
+#include <archive_entry.h>
+#endif /* HAVE_ARCHIVE */
+
 #include "totem-disc.h"
 #include "totem-pl-parser.h"
 
@@ -261,27 +266,57 @@
   return FALSE;
 }
 
-static char *
-cd_cache_uri_to_archive (const char *uri)
-{
-  char *escaped, *escaped2, *retval;
-
-  escaped = g_uri_escape_string (uri, NULL, FALSE);
-  escaped2 = g_uri_escape_string (escaped, NULL, FALSE);
-  g_free (escaped);
-  retval = g_strdup_printf ("archive://%s/", escaped2);
-  g_free (escaped2);
-
-  return retval;
-}
+static gboolean
+cd_cache_check_archive (CdCache *cache,
+                       const char *filename,
+                       GError **error)
+{
+#ifndef HAVE_LIBARCHIVE
+  g_set_error (error, TOTEM_PL_PARSER_ERROR, 
TOTEM_PL_PARSER_ERROR_MOUNT_FAILED,
+              _("Failed to mount %s."), filename);
+  return FALSE;
+#else
+  struct archive *a;
+  struct archive_entry *entry;
+  char *content_types[] = { NULL, NULL };
+  int r;
+
+  a = archive_read_new();
+  archive_read_support_compression_all(a);
+  archive_read_support_format_all(a);
+  r = archive_read_open_filename(a, filename, 10240);
+  if (r != ARCHIVE_OK) {
+    g_set_error (error, TOTEM_PL_PARSER_ERROR, 
TOTEM_PL_PARSER_ERROR_MOUNT_FAILED,
+                _("Failed to mount %s."), filename);
+    return FALSE;
+  }
+  while (archive_read_next_header(a, &entry) == ARCHIVE_OK) {
+    const char *name;
 
-static void
-cd_cache_mount_archive_callback (GObject *source_object,
-                                GAsyncResult *res,
-                                CdCacheCallbackData *data)
-{
-  data->result = g_file_mount_enclosing_volume_finish (G_FILE (source_object), 
res, &data->error);
-  data->called = TRUE;
+    name = archive_entry_pathname (entry);
+    if (g_ascii_strcasecmp (name, "VIDEO_TS/VIDEO_TS.IFO") == 0) {
+      content_types[0] = "x-content/video-dvd";
+      cache->content_types = g_strdupv (content_types);
+      break;
+    } else if (g_ascii_strcasecmp (name, "mpegav/AVSEQ01.DAT") == 0) {
+      content_types[0] = "x-content/video-vcd";
+      cache->content_types = g_strdupv (content_types);
+      break;
+    } else if (g_ascii_strcasecmp (name, "MPEG2/AVSEQ01.MPG") == 0) {
+      content_types[0] = "x-content/video-svcd";
+      cache->content_types = g_strdupv (content_types);
+      break;
+    }
+    archive_read_data_skip(a);
+  }
+  r = archive_read_finish(a);
+  if (r != ARCHIVE_OK) {
+    g_set_error (error, TOTEM_PL_PARSER_ERROR, 
TOTEM_PL_PARSER_ERROR_MOUNT_FAILED,
+                _("Failed to mount %s."), filename);
+    return FALSE;
+  }
+  return TRUE;
+#endif
 }
 
 static CdCache *
@@ -320,59 +355,20 @@
 
     return cache;
   } else if (g_file_test (local, G_FILE_TEST_IS_REGULAR)) {
-    GMount *mount;
-    GError *err = NULL;
-    char *uri, *archive_path;
-
     cache = g_new0 (CdCache, 1);
     cache->is_iso = TRUE;
     cache->is_media = FALSE;
 
-    uri = g_file_get_uri (file);
     g_object_unref (file);
-    archive_path = cd_cache_uri_to_archive (uri);
-    g_free (uri);
-    cache->device = local;
 
-    cache->iso_file = g_file_new_for_uri (archive_path);
-    g_free (archive_path);
-
-    mount = g_file_find_enclosing_mount (cache->iso_file, NULL, &err);
-    if (mount == NULL && g_error_matches (err, G_IO_ERROR, 
G_IO_ERROR_NOT_MOUNTED)) {
-      CdCacheCallbackData data;
-
-      memset (&data, 0, sizeof(data));
-      data.cache = cache;
-      g_file_mount_enclosing_volume (cache->iso_file,
-                                    G_MOUNT_MOUNT_NONE,
-                                    NULL,
-                                    NULL,
-                                    (GAsyncReadyCallback) 
cd_cache_mount_archive_callback,
-                                    &data);
-      while (!data.called) g_main_context_iteration (NULL, TRUE);
-
-      if (!data.result) {
-       if (data.error) {
-         g_propagate_error (error, data.error);
-       } else {
-         g_set_error (error, TOTEM_PL_PARSER_ERROR, 
TOTEM_PL_PARSER_ERROR_MOUNT_FAILED,
-                      _("Failed to mount %s."), cache->device);
-       }
-       cd_cache_free (cache);
-       return FALSE;
-      }
-      self_mounted = TRUE;
-    } else if (mount == NULL) {
+    if (cd_cache_check_archive (cache, local, error) == FALSE) {
       cd_cache_free (cache);
       return FALSE;
-    } else {
-      g_object_unref (mount);
     }
 
-    cache->content_types = g_content_type_guess_for_tree (cache->iso_file);
-    cache->mountpoint = g_file_get_path (cache->iso_file);
-    cache->self_mounted = self_mounted;
-    cache->mounted = TRUE;
+    cache->device = local;
+    cache->self_mounted = FALSE;
+    cache->mounted = FALSE;
 
     return cache;
   }
@@ -468,7 +464,7 @@
   GFile *root;
 
   /* already opened? */
-  if (cache->mounted || cache->is_media == FALSE)
+  if (cache->mounted || cache->is_media == FALSE || cache->is_iso)
     return TRUE;
 
   /* check for mounting - assume we'll mount ourselves */
@@ -569,12 +565,10 @@
                       GError **error)
 {
   /* We can't have audio CDs on disc, yet */
-  if (cache->is_media == FALSE) {
+  if (cache->is_media == FALSE)
     return MEDIA_TYPE_DATA;
-  }
   if (!cd_cache_open_device (cache, error))
     return MEDIA_TYPE_ERROR;
-
   if (cd_cache_has_content_type (cache, "x-content/audio-cdda") != FALSE)
     return MEDIA_TYPE_CDDA;
 
@@ -590,8 +584,6 @@
     return MEDIA_TYPE_ERROR;
   if (!cd_cache_open_mountpoint (cache, error))
     return MEDIA_TYPE_ERROR;
-  if (!cache->mountpoint)
-    return MEDIA_TYPE_ERROR;
 
   if (cd_cache_has_content_type (cache, "x-content/video-vcd") != FALSE)
     return MEDIA_TYPE_VCD;
@@ -610,8 +602,6 @@
     return MEDIA_TYPE_ERROR;
   if (!cd_cache_open_mountpoint (cache, error))
     return MEDIA_TYPE_ERROR;
-  if (!cache->mountpoint)
-    return MEDIA_TYPE_ERROR;
 
   if (cd_cache_has_content_type (cache, "x-content/video-dvd") != FALSE)
     return MEDIA_TYPE_DVD;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/totem-pl-parser-2.32.4/plparse/totem-pl-parser-features.h 
new/totem-pl-parser-2.32.5/plparse/totem-pl-parser-features.h
--- old/totem-pl-parser-2.32.4/plparse/totem-pl-parser-features.h       
2011-03-17 02:22:03.000000000 +0100
+++ new/totem-pl-parser-2.32.5/plparse/totem-pl-parser-features.h       
2011-05-10 15:34:12.000000000 +0200
@@ -27,7 +27,7 @@
  */
 #define TOTEM_PL_PARSER_VERSION_MAJOR  (2)
 #define TOTEM_PL_PARSER_VERSION_MINOR  (32)
-#define TOTEM_PL_PARSER_VERSION_MICRO  (4)
+#define TOTEM_PL_PARSER_VERSION_MICRO  (5)
 
 /* check whether a version equal to or greater than
  * major.minor.micro is present.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/totem-pl-parser-2.32.4/plparse/totem-pl-parser-podcast.c 
new/totem-pl-parser-2.32.5/plparse/totem-pl-parser-podcast.c
--- old/totem-pl-parser-2.32.4/plparse/totem-pl-parser-podcast.c        
2011-03-21 15:50:06.000000000 +0100
+++ new/totem-pl-parser-2.32.5/plparse/totem-pl-parser-podcast.c        
2011-05-03 15:23:10.000000000 +0200
@@ -574,16 +574,20 @@
 }
 
 static GByteArray *
-totem_pl_parser_load_http_itunes (const char *uri)
+totem_pl_parser_load_http_itunes (const char *uri,
+                                 gboolean    debug)
 {
        SoupMessage *msg;
        SoupSession *session;
        GByteArray *data;
 
+       if (debug)
+               g_print ("Loading ITMS playlist '%s'\n", uri);
+
        session = soup_session_sync_new_with_options (
            SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_GNOME_FEATURES_2_26,
            SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_CONTENT_DECODER,
-           SOUP_SESSION_USER_AGENT, "iTunes/7.4.1",
+           SOUP_SESSION_USER_AGENT, "iTunes/10.0.0",
            SOUP_SESSION_ACCEPT_LANGUAGE_AUTO, TRUE,
            NULL);
 
@@ -604,21 +608,36 @@
 }
 
 static const char *
-totem_pl_parser_parse_itms_link_doc (xml_node_t *item)
+totem_pl_parser_parse_plist (xml_node_t *item)
 {
        for (item = item->child; item != NULL; item = item->next) {
                /* What we're looking for looks like:
-                * <key>url</key><string>URL</string> */
+                *  <key>action</key>
+                *  <dict>
+                *    <key>kind</key><string>Goto</string>
+                *    <key>url</key><string>URL</string>
+                */
                if (g_ascii_strcasecmp (item->name, "key") == 0
-                   && g_ascii_strcasecmp (item->data, "url") == 0
-                   && item->next != NULL) {
-                       item = item->next;
-                       if (g_ascii_strcasecmp (item->name, "string") == 0)
-                               return item->data;
+                   && g_ascii_strcasecmp (item->data, "action") == 0) {
+                       xml_node_t *node = item->next;
+
+                       if (node && g_ascii_strcasecmp (node->name, "[CDATA]") 
== 0)
+                               node = node->next;
+                       if (node && g_ascii_strcasecmp (node->name, "dict") == 
0) {
+                               for (node = node->child; node != NULL; node = 
node->next) {
+                                       if (g_ascii_strcasecmp (node->name, 
"key") == 0 &&
+                                           g_ascii_strcasecmp (node->data, 
"url") == 0 &&
+                                           node->next != NULL) {
+                                               node = node->next;
+                                               if (g_ascii_strcasecmp 
(node->name, "string") == 0)
+                                                       return node->data;
+                                       }
+                               }
+                       }
                } else {
                        const char *ret;
 
-                       ret = totem_pl_parser_parse_itms_link_doc (item);
+                       ret = totem_pl_parser_parse_plist (item);
                        if (ret != NULL)
                                return ret;
                }
@@ -627,79 +646,72 @@
        return NULL;
 }
 
-static const char *
-totem_pl_parser_parse_itms_doc (xml_node_t *item)
+static char *
+totem_pl_parser_parse_html (char *data, gsize len, gboolean debug)
 {
-       for (item = item->child; item != NULL; item = item->next) {
-               /* What we're looking for looks like:
-                * <key>feedURL</key><string>URL</string> */
-               if (g_ascii_strcasecmp (item->name, "key") == 0
-                   && g_ascii_strcasecmp (item->data, "feedURL") == 0
-                   && item->next != NULL) {
-                       item = item->next;
-                       if (g_ascii_strcasecmp (item->name, "string") == 0)
-                               return item->data;
-               } else {
-                       const char *ret;
+       char *s, *end;
 
-                       ret = totem_pl_parser_parse_itms_doc (item);
-                       if (ret != NULL)
-                               return ret;
-               }
-       }
-
-       return NULL;
+       s = g_strstr_len (data, len, "feed-url=\"");
+       if (s == NULL)
+               return NULL;
+       s += strlen ("feed-url=\"");
+       if (*s == '\0')
+               return NULL;
+       end = g_strstr_len (s, len - (s - data), "\"");
+       if (end == NULL)
+               return NULL;
+       return g_strndup (s, end - s);
 }
 
 static GFile *
-totem_pl_parser_get_feed_uri (char *data, gsize len)
+totem_pl_parser_get_feed_uri (char *data, gsize len, gboolean debug)
 {
        xml_node_t* doc;
        const char *uri;
        GFile *ret;
+       GByteArray *content;
 
        uri = NULL;
 
+       /* Probably HTML, look for feed-url */
+       if (g_strstr_len (data, len, "feed-url") != NULL) {
+               char *uri;
+               uri = totem_pl_parser_parse_html (data, len, debug);
+               if (debug)
+                       g_print ("Found feed-url in HTML: '%s'\n", uri);
+               if (uri == NULL)
+                       return NULL;
+               ret = g_file_new_for_uri (uri);
+               g_free (uri);
+               return ret;
+       }
+
        doc = totem_pl_parser_parse_xml_relaxed (data, len);
        if (doc == NULL)
                return NULL;
 
        /* If the document has no name */
        if (doc->name == NULL
-           || g_ascii_strcasecmp (doc->name , "Document") != 0) {
+           || g_ascii_strcasecmp (doc->name, "plist") != 0) {
                xml_parser_free_tree (doc);
                return NULL;
        }
 
-       uri = totem_pl_parser_parse_itms_doc (doc);
-       if (uri == NULL) {
-               /* Maybe it's just a link instead */
-               const char *link;
-               GByteArray *content;
-               GFile *feed_file;
-
-               link = totem_pl_parser_parse_itms_link_doc (doc);
-               if (link == NULL) {
-                       xml_parser_free_tree (doc);
-                       return NULL;
-               }
+       /* Redirect plist? Find a goto action */
+       uri = totem_pl_parser_parse_plist (doc);
 
-               content = totem_pl_parser_load_http_itunes (link);
-               if (content == NULL) {
-                       xml_parser_free_tree (doc);
-                       return NULL;
-               }
-               xml_parser_free_tree (doc);
+       if (debug)
+               g_print ("Found redirect URL: %s\n", uri);
 
-               feed_file = totem_pl_parser_get_feed_uri ((char *) 
content->data, content->len);
-               g_byte_array_free (content, TRUE);
+       if (uri == NULL) {
+               return NULL;
+       } else {
 
-               return feed_file;
+               content = totem_pl_parser_load_http_itunes (uri, debug);
+               ret = totem_pl_parser_get_feed_uri ((char *) content->data, 
content->len, debug);
+               g_byte_array_free (content, TRUE);
        }
 
-       ret = g_file_new_for_uri (uri);
-       xml_parser_free_tree (doc);
-
        return ret;
 }
 
@@ -728,10 +740,11 @@
        }
 
        /* Load the file using iTunes user-agent */
-       content = totem_pl_parser_load_http_itunes (itms_uri);
+       content = totem_pl_parser_load_http_itunes (itms_uri, 
totem_pl_parser_is_debugging_enabled (parser));
 
        /* And look in the file for the feedURL */
-       feed_file = totem_pl_parser_get_feed_uri ((char *) content->data, 
content->len);
+       feed_file = totem_pl_parser_get_feed_uri ((char *) content->data, 
content->len,
+                                                 
totem_pl_parser_is_debugging_enabled (parser));
        g_byte_array_free (content, TRUE);
        if (feed_file == NULL)
                return TOTEM_PL_PARSER_RESULT_ERROR;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/totem-pl-parser-2.32.4/plparse/totem-pl-parser-videosite.c 
new/totem-pl-parser-2.32.5/plparse/totem-pl-parser-videosite.c
--- old/totem-pl-parser-2.32.4/plparse/totem-pl-parser-videosite.c      
2011-03-17 02:18:29.000000000 +0100
+++ new/totem-pl-parser-2.32.5/plparse/totem-pl-parser-videosite.c      
2011-04-02 20:02:47.000000000 +0200
@@ -86,6 +86,9 @@
        const char *page_uri;
        const char *starttime;
        const char *content_type;
+       const char *thumb_url;
+       double duration;
+       char *duration_str;
 
        if (quvi_init (&handle) != QUVI_OK)
                return TOTEM_PL_PARSER_RESULT_ERROR;
@@ -107,12 +110,16 @@
        else
                length_str = NULL;
        getprop (QUVIPROP_PAGETITLE, title);
-       getprop (QUVIPROP_VIDEOID, id);
+       getprop (QUVIPROP_MEDIAID, id);
        getprop (QUVIPROP_PAGEURL, page_uri);
        getprop (QUVIPROP_STARTTIME, starttime);
-       getprop (QUVIPROP_VIDEOFILECONTENTTYPE, content_type);
+       getprop (QUVIPROP_MEDIACONTENTTYPE, content_type);
+       getprop (QUVIPROP_MEDIATHUMBNAILURL, thumb_url);
+       if (quvi_getprop (v, QUVIPROP_MEDIADURATION, &duration) == QUVI_OK && 
duration)
+               duration_str = g_strdup_printf ("%f", duration);
+       else
+               duration_str = NULL;
 
-       length_str = g_strdup_printf ("%d", (int) length);
        if (video_uri != NULL)
                totem_pl_parser_add_uri (parser,
                                         TOTEM_PL_PARSER_FIELD_TITLE, title,
@@ -122,9 +129,12 @@
                                         TOTEM_PL_PARSER_FIELD_FILESIZE, 
length_str,
                                         TOTEM_PL_PARSER_FIELD_STARTTIME, 
starttime,
                                         TOTEM_PL_PARSER_FIELD_CONTENT_TYPE, 
content_type,
+                                        TOTEM_PL_PARSER_FIELD_IMAGE_URI, 
thumb_url,
+                                        TOTEM_PL_PARSER_FIELD_DURATION, 
duration_str,
                                         NULL);
        g_free (uri);
        g_free (length_str);
+       g_free (duration_str);
 
        quvi_parse_close (&v);
        quvi_close (&handle);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/po/ug.po 
new/totem-pl-parser-2.32.5/po/ug.po
--- old/totem-pl-parser-2.32.4/po/ug.po 2011-01-11 16:07:31.000000000 +0100
+++ new/totem-pl-parser-2.32.5/po/ug.po 2011-04-02 20:02:47.000000000 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: totem-pl-parser\n"
 "Report-Msgid-Bugs-To: 
http://bugzilla.gnome.org/enter_bug.cgi?product=totem&component=playlist 
parser\n"
-"POT-Creation-Date: 2010-11-22 22:10+0000\n"
+"POT-Creation-Date: 2010-12-23 18:39+0000\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Sahran <sahran...@gmail.com>\n"
 "Language-Team: GNOME Uighur Translation Project 
<gnome-uig...@yahoogroups.com>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/totem-pl-parser.spec 
new/totem-pl-parser-2.32.5/totem-pl-parser.spec
--- old/totem-pl-parser-2.32.4/totem-pl-parser.spec     2011-03-17 
02:22:03.000000000 +0100
+++ new/totem-pl-parser-2.32.5/totem-pl-parser.spec     2011-05-10 
15:34:12.000000000 +0200
@@ -1,6 +1,6 @@
 Summary: Playlist Parser Library
 Name: totem-pl-parser
-Version: 2.32.4
+Version: 2.32.5
 Release: 1
 License: LGPL
 Group: Libraries/Multimedia
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/totem-plparser-mini.pc 
new/totem-pl-parser-2.32.5/totem-plparser-mini.pc
--- old/totem-pl-parser-2.32.4/totem-plparser-mini.pc   2011-03-17 
02:22:03.000000000 +0100
+++ new/totem-pl-parser-2.32.5/totem-plparser-mini.pc   2011-05-10 
15:34:11.000000000 +0200
@@ -7,7 +7,7 @@
 
 Name: totem-plparser-mini
 Description: Totem Playlist Parser library, mini version
-Version: 2.32.4
+Version: 2.32.5
 Requires: glib-2.0 gobject-2.0 gio-2.0
 Requires.private: gthread-2.0 libquvi
 Libs: -L${libdir} -ltotem-plparser-mini
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/totem-pl-parser-2.32.4/totem-plparser.pc.in 
new/totem-pl-parser-2.32.5/totem-plparser.pc.in
--- old/totem-pl-parser-2.32.4/totem-plparser.pc.in     2010-12-14 
15:41:29.000000000 +0100
+++ new/totem-pl-parser-2.32.5/totem-plparser.pc.in     2011-04-02 
21:36:39.000000000 +0200
@@ -9,7 +9,7 @@
 Description: Totem Playlist Parser library
 Version: @VERSION@
 Requires: glib-2.0 gobject-2.0 gio-2.0
-Requires.private: gthread-2.0 libxml-2.0 @GMIME@ @QUVI@
+Requires.private: gthread-2.0 libxml-2.0 @GMIME@ @QUVI@ @ARCHIVE@
 Libs: -L${libdir} -ltotem-plparser
 Cflags: -I${includedir}/totem-pl-parser/1/plparser
 uselibcamel=@USEGMIME@


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to