# HG changeset patch
# User joey
# Date 1109478312 0
# Node ID 8b9738526dd7648931b3bebaa6797d1901064d7f
# Parent 0564461597458e674f968875c36f0ab4a71f8233
added a stream module for the vstream client library
allows MPlayer to stream video from a properly equipped Tivo
diff -r 056446159745 -r 8b9738526dd7 DOCS/man/de/mplayer.1
--- 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]
diff -r 056446159745 -r 8b9738526dd7 DOCS/man/en/mplayer.1
--- 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]
diff -r 056446159745 -r 8b9738526dd7 DOCS/man/es/mplayer.1
--- 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]
diff -r 056446159745 -r 8b9738526dd7 DOCS/man/fr/mplayer.1
--- 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]
diff -r 056446159745 -r 8b9738526dd7 DOCS/man/hu/mplayer.1
--- 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]
diff -r 056446159745 -r 8b9738526dd7 DOCS/man/it/mplayer.1
--- 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]
diff -r 056446159745 -r 8b9738526dd7 DOCS/man/pl/mplayer.1
--- 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]
diff -r 056446159745 -r 8b9738526dd7 DOCS/xml/en/formats.xml
--- 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. Read the
DVD section!
+
+ 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
+
+ the TyStudio page.
+
diff -r 056446159745 -r 8b9738526dd7 configure
--- 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 <
+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
diff -r 056446159745 -r 8b9738526dd7 libmpdemux/Makefile
--- 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
diff -r 056446159745 -r 8b9738526dd7 libmpdemux/open.c
--- 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);
}
diff -r 056446159745 -r 8b9738526dd7 libmpdemux/stream.c
--- 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
diff -r 056446159745 -r 8b9738526dd7 libmpdemux/stream.h
--- 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