From 7a06095dc3e5a3590f489aad3619dc6023a5b0f5 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 2 Mar 2012 20:24:34 +0100 Subject: Add support for playing video from streaming sites with libquvi This enables playing URLs from libquvi supported streaming sites directly, e.g. "mplayer http://www.youtube.com/watch?v=...." Anything opened with mplayer is checked with libquvi. If it looks like a URL of a supported streaming site, libquvi is used to extract the media URL, which is then passed to the lower level mplayer code instead of the HTML URL. Hopefully the libquvi URL checker works well enough that it doesn't cause any problems with normal URLs, files, or whatever else mplayer's stream layer accepts. Add the --libquvi-format option. the option value is directly passed to libquvi as requested format. The only values that seem to work for any streaming site seem to be "best" (best quality) and "default" (lowest quality). The mplayer option defaults to "best" (overriding libquvi's default). Outstanding issues: - Does libquvi checking every opened file really not cause problems? Should there be a runtime option to disable libquvi use? (Probably not an issue.) - Should we check/set the supported protocol? By default libquvi has support for all protocols enabled. In the worst case, it might return an URL using a protocol not supported by mplayer, even though it could extract URLs with other protocols too. (Probably not an issue.) - Somehow export metadata (like media title) to the mplayer frontend? --- configure | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'configure') diff --git a/configure b/configure index d51ba56a21..0d407c693d 100755 --- a/configure +++ b/configure @@ -334,6 +334,7 @@ Optional features: --enable-winsock2_h enable winsock2_h [autodetect] --enable-smb enable Samba (SMB) input [autodetect] --enable-live enable LIVE555 Streaming Media [disable] + --enable-libquvi enable libquvi [autodetect] --enable-nemesi enable Nemesi Streaming Media [autodetect] --enable-lcms2 enable LCMS2 support [autodetect] --disable-vcd disable VCD support [autodetect] @@ -612,6 +613,7 @@ _pvr=auto networking=yes _winsock2_h=auto _smb=auto +_libquvi=auto _joystick=no _xvid=auto _libnut=auto @@ -935,6 +937,8 @@ for ac_option do --disable-winsock2_h) _winsock2_h=no ;; --enable-smb) _smb=yes ;; --disable-smb) _smb=no ;; + --enable-libquvi) _libquvi=yes ;; + --disable-libquvi) _libquvi=no ;; --enable-joystick) _joystick=yes ;; --disable-joystick) _joystick=no ;; --enable-xvid) _xvid=yes ;; @@ -3464,6 +3468,19 @@ else fi echores "$_smb" +echocheck "libquvi support" +if test "$_libquvi" = auto ; then + _libquvi=no + if pkg_config_add libquvi ; then + _libquvi=yes + fi +fi +if test "$_libquvi" = yes; then + def_libquvi="#define CONFIG_LIBQUVI 1" +else + def_libquvi="#undef CONFIG_LIBQUVI" +fi +echores "$_libquvi" ######### # VIDEO # @@ -5718,6 +5735,7 @@ LCMS2 = $_lcms2 LIBNUT = $_libnut LIBPOSTPROC = $libpostproc LIBSMBCLIENT = $_smb +LIBQUVI = $_libquvi LIBTHEORA = $_theora LIRC = $_lirc LIVE555 = $_live @@ -6046,6 +6064,7 @@ $def_live $def_nemesi $def_networking $def_smb +$def_libquvi $def_socklen_t $def_vstream -- cgit v1.2.3