changeset 14836:8b9738526dd7

added a stream module for the vstream client library allows MPlayer to stream video from a properly equipped Tivo
author joey
date Sun, 27 Feb 2005 04:25:12 +0000
parents 056446159745
children 5bcb84a407b2
files DOCS/man/de/mplayer.1 DOCS/man/en/mplayer.1 DOCS/man/es/mplayer.1 DOCS/man/fr/mplayer.1 DOCS/man/hu/mplayer.1 DOCS/man/it/mplayer.1 DOCS/man/pl/mplayer.1 DOCS/xml/en/formats.xml configure libmpdemux/Makefile libmpdemux/open.c libmpdemux/stream.c libmpdemux/stream.h
diffstat 13 files changed, 171 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/DOCS/man/de/mplayer.1	Sun Feb 27 01:03:41 2005 +0000
+++ b/DOCS/man/de/mplayer.1	Sun Feb 27 04:25:12 2005 +0000
@@ -142,6 +142,24 @@
 .
 .br
 .in
+.B mplayer
+'in +\n[.k]u
+.I tivo://Rechnername/list
+[Optionen]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://Rechnername/llist
+[Optionen]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://Rechnername/fsid
+[Optionen]
+.br
+.in
 .B gmplayer
 [Optionen]
 [\-skin\ skin]
--- a/DOCS/man/en/mplayer.1	Sun Feb 27 01:03:41 2005 +0000
+++ b/DOCS/man/en/mplayer.1	Sun Feb 27 04:25:12 2005 +0000
@@ -137,6 +137,24 @@
 .
 .br
 .in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/list
+[options]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/llist
+[options]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/fsid
+[options]
+.br
+.in
 .B gmplayer
 [options]
 [\-skin\ skin]
--- a/DOCS/man/es/mplayer.1	Sun Feb 27 01:03:41 2005 +0000
+++ b/DOCS/man/es/mplayer.1	Sun Feb 27 04:25:12 2005 +0000
@@ -153,6 +153,24 @@
 .
 .br
 .in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/list
+[opciones]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/llist
+[opciones]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/fsid
+[opciones]
+.br
+.in
 .B gmplayer
 [opciones]
 [\-skin\ skin]
--- a/DOCS/man/fr/mplayer.1	Sun Feb 27 01:03:41 2005 +0000
+++ b/DOCS/man/fr/mplayer.1	Sun Feb 27 04:25:12 2005 +0000
@@ -139,6 +139,24 @@
 [options]
 .
 .br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://hôte/list
+[options]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://hôte/llist
+[options]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://hôte/fsid
+[options]
+.br
 .B gmplayer
 [options]
 [\-skin\ skin]
--- a/DOCS/man/hu/mplayer.1	Sun Feb 27 01:03:41 2005 +0000
+++ b/DOCS/man/hu/mplayer.1	Sun Feb 27 04:25:12 2005 +0000
@@ -136,6 +136,24 @@
 .RI [ \ file\  | \ URL\  | \ -\  ]
 [\-o\ file]
 .br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://gépnév/list
+[opciók]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://gépnév/llist
+[opciók]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://gépnév/fsid
+[opciók]
+.br
 .B gmplayer
 [opciók]
 [\-skin\ skin]
--- a/DOCS/man/it/mplayer.1	Sun Feb 27 01:03:41 2005 +0000
+++ b/DOCS/man/it/mplayer.1	Sun Feb 27 04:25:12 2005 +0000
@@ -141,6 +141,24 @@
 .
 .br
 .in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/list
+[opzioni]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/llist
+[opzioni]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/fsid
+[opzioni]
+.br
+.in
 .B gmplayer
 [opzioni]
 [\-skin\ skin]
--- a/DOCS/man/pl/mplayer.1	Sun Feb 27 01:03:41 2005 +0000
+++ b/DOCS/man/pl/mplayer.1	Sun Feb 27 04:25:12 2005 +0000
@@ -141,6 +141,24 @@
 .
 .br
 .in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/list
+[opcje]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/llist
+[opcje]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.I tivo://host/fsid
+[opcje]
+.br
+.in
 .B gmplayer
 [opcje]
 [\-skin\ skórka]
--- a/DOCS/xml/en/formats.xml	Sun Feb 27 01:03:41 2005 +0000
+++ b/DOCS/xml/en/formats.xml	Sun Feb 27 04:25:12 2005 +0000
@@ -60,6 +60,14 @@
   MP2 and uncompressed LPCM are allowed, too. <emphasis role="bold">Read the
   <link linkend="dvd">DVD</link> section</emphasis>!
   </simpara></listitem>
+<listitem><simpara>
+  TY: This is a TiVo MPEG stream. It contains MPEG PES data for audio and
+  video streams, as well as extra information like closed captions. The
+  container is not an MPEG program stream, but a closed format created by
+  TiVo. For more information on TiVo stream format, please refer to
+  <ulink url="http://dvd-create.sourceforge.net/tystudio/tystream.shtml">
+  the TyStudio page</ulink>.
+  </simpara></listitem>
 </itemizedlist>
 
 <para>
--- a/configure	Sun Feb 27 01:03:41 2005 +0000
+++ b/configure	Sun Feb 27 04:25:12 2005 +0000
@@ -189,6 +189,7 @@
   --disable-gethostbyname2  gethostbyname() function is not provided by the C
                             library [autodetect]
   --disable-ftp          Disable ftp support [enabled]
+  --disable-vstream      Disable tivo vstream client support [autodetect]
 
 Codecs:
   --enable-gif		 enable gif support [autodetect]
@@ -1407,6 +1408,7 @@
 _inet6=auto
 _gethostbyname2=auto
 _ftp=yes
+_vstream=auto
 for ac_option do
   case "$ac_option" in
   # Skip 1st pass
@@ -1650,6 +1652,8 @@
   --disable-unrarlib)	_unrarlib=no	;;
   --enable-ftp)         _ftp=yes        ;;
   --disable-ftp)        _ftp=no         ;;
+  --enable-vstream)     _vstream=yes    ;;
+  --disable-vstream)    _vstream=no     ;;
 
   --enable-fribidi)     _fribidi=yes    ;;
   --disable-fribidi)    _fribidi=no     ;;
@@ -6191,6 +6195,26 @@
 fi
 echores "$_ftp"
 
+echocheck "vstream client"
+if test "$_vstream" = auto ; then
+  _vstream=no
+  cat > $TMPC <<EOF
+#include <vstream-client.h>
+void vstream_error(const char *format, ... ) {}
+int main(void) { vstream_start(); return 0; }
+EOF
+  cc_check -lvstream-client && _vstream=yes
+fi
+if test "$_vstream" = yes ; then
+  _def_vstream='#define HAVE_VSTREAM 1'
+  _inputmodules="vstream $_inputmodules"
+  _ld_vstream='-lvstream-client'
+else
+  _noinputmodules="vstream $_noinputmodules"
+  _def_vstream='#undef HAVE_VSTREAM'
+fi
+echores "$_vstream"
+
 # endian testing
 echocheck "byte order"
 if test "$_big_endian" = auto ; then
@@ -6664,7 +6688,7 @@
 
 MPLAYER_NETWORK = $_network
 STREAMING_LIVE_DOT_COM = $_live
-MPLAYER_NETWORK_LIB = $_ld_live $_ld_network
+MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
 DVBIN = $_dvbin
 VIDIX = $_vidix
 SHARED_PP = $_shared_pp
@@ -7342,6 +7366,9 @@
 /* enable ftp support */
 $_def_ftp
 
+/* enable vstream support */
+$_def_vstream
+
 /* enable winsock2 instead of Unix functions*/
 $_def_winsock2
 
--- a/libmpdemux/Makefile	Sun Feb 27 01:03:41 2005 +0000
+++ b/libmpdemux/Makefile	Sun Feb 27 04:25:12 2005 +0000
@@ -3,7 +3,7 @@
 
 include ../config.mak
 
-SRCS = mp3_hdr.c video.c mpeg_hdr.c cache2.c asfheader.c aviheader.c aviprint.c muxer.c muxer_avi.c muxer_mpeg.c demux_asf.c demux_avi.c demux_mov.c parse_mp4.c demux_mpg.c demux_ty.c demux_ty_osd.c demux_pva.c demux_viv.c demuxer.c dvdnav_stream.c open.c parse_es.c stream.c stream_file.c stream_netstream.c stream_vcd.c stream_null.c stream_ftp.c tv.c tvi_dummy.c tvi_v4l.c tvi_v4l2.c tvi_bsdbt848.c frequencies.c demux_fli.c demux_real.c demux_y4m.c yuv4mpeg.c yuv4mpeg_ratio.c demux_nuv.c demux_film.c demux_roq.c mf.c demux_mf.c demux_audio.c demux_demuxers.c demux_ogg.c cdda.c demux_rawaudio.c demux_rawvideo.c cddb.c cdinfo.c demux_rawdv.c ai_alsa.c ai_alsa1x.c ai_oss.c audio_in.c demux_smjpeg.c demux_lmlm4.c cue_read.c extension.c demux_gif.c demux_ts.c demux_realaud.c url.c muxer_rawvideo.c demux_lavf.c demux_nsv.c demux_vqf.c
+SRCS = mp3_hdr.c video.c mpeg_hdr.c cache2.c asfheader.c aviheader.c aviprint.c muxer.c muxer_avi.c muxer_mpeg.c demux_asf.c demux_avi.c demux_mov.c parse_mp4.c demux_mpg.c demux_ty.c demux_ty_osd.c demux_pva.c demux_viv.c demuxer.c dvdnav_stream.c open.c parse_es.c stream.c stream_file.c stream_netstream.c stream_vcd.c stream_null.c stream_ftp.c stream_vstream.c tv.c tvi_dummy.c tvi_v4l.c tvi_v4l2.c tvi_bsdbt848.c frequencies.c demux_fli.c demux_real.c demux_y4m.c yuv4mpeg.c yuv4mpeg_ratio.c demux_nuv.c demux_film.c demux_roq.c mf.c demux_mf.c demux_audio.c demux_demuxers.c demux_ogg.c cdda.c demux_rawaudio.c demux_rawvideo.c cddb.c cdinfo.c demux_rawdv.c ai_alsa.c ai_alsa1x.c ai_oss.c audio_in.c demux_smjpeg.c demux_lmlm4.c cue_read.c extension.c demux_gif.c demux_ts.c demux_realaud.c url.c muxer_rawvideo.c demux_lavf.c demux_nsv.c demux_vqf.c
 ifeq ($(XMMS_PLUGINS),yes)
 SRCS += demux_xmms.c
 endif 
--- a/libmpdemux/open.c	Sun Feb 27 01:03:41 2005 +0000
+++ b/libmpdemux/open.c	Sun Feb 27 04:25:12 2005 +0000
@@ -496,7 +496,7 @@
   if (strncmp("tv://", filename, 5) && strncmp("mf://", filename, 5) &&
     strncmp("vcd://", filename, 6) && strncmp("dvb://", filename, 6) &&
     strncmp("cdda://", filename, 7) && strncmp("cddb://", filename, 7) &&
-    strncmp("mpst://", filename, 7) &&
+    strncmp("mpst://", filename, 7) && strncmp("tivo://", filename, 7) &&
     strstr(filename, "://")) {
      url = url_new(filename);
     }
--- a/libmpdemux/stream.c	Sun Feb 27 01:03:41 2005 +0000
+++ b/libmpdemux/stream.c	Sun Feb 27 04:25:12 2005 +0000
@@ -64,6 +64,9 @@
 #ifdef HAVE_FTP
 extern stream_info_t stream_info_ftp;
 #endif
+#ifdef HAVE_VSTREAM
+extern stream_info_t stream_info_vstream;
+#endif
 
 extern stream_info_t stream_info_null;
 extern stream_info_t stream_info_file;
@@ -84,6 +87,9 @@
 #ifdef HAVE_FTP
   &stream_info_ftp,
 #endif
+#ifdef HAVE_VSTREAM
+  &stream_info_vstream,
+#endif
   &stream_info_null,
   &stream_info_file,
   NULL
--- a/libmpdemux/stream.h	Sun Feb 27 01:03:41 2005 +0000
+++ b/libmpdemux/stream.h	Sun Feb 27 04:25:12 2005 +0000
@@ -19,6 +19,7 @@
 #define STREAMTYPE_SMB 11      // smb:// url, using libsmbclient (samba)
 #define STREAMTYPE_VCDBINCUE 12      // vcd directly from bin/cue files
 #define STREAMTYPE_DVB 13
+#define STREAMTYPE_VSTREAM 14
 
 #define STREAM_BUFFER_SIZE 2048