summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoey <joey@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-02-27 04:25:12 +0000
committerjoey <joey@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-02-27 04:25:12 +0000
commit81cbdce6aa3597074c9ad33c22d85e8124374fb5 (patch)
tree7bc0de43e003d33bc1644f8bcc0686188f9e3980
parente80d264f49ee0ae1398fbfcc81cfc94272e2923e (diff)
downloadmpv-81cbdce6aa3597074c9ad33c22d85e8124374fb5.tar.bz2
mpv-81cbdce6aa3597074c9ad33c22d85e8124374fb5.tar.xz
added a stream module for the vstream client library
allows MPlayer to stream video from a properly equipped Tivo git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14837 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--DOCS/man/de/mplayer.118
-rw-r--r--DOCS/man/en/mplayer.118
-rw-r--r--DOCS/man/es/mplayer.118
-rw-r--r--DOCS/man/fr/mplayer.118
-rw-r--r--DOCS/man/hu/mplayer.118
-rw-r--r--DOCS/man/it/mplayer.118
-rw-r--r--DOCS/man/pl/mplayer.118
-rw-r--r--DOCS/xml/en/formats.xml8
-rwxr-xr-xconfigure29
-rw-r--r--libmpdemux/Makefile2
-rw-r--r--libmpdemux/open.c2
-rw-r--r--libmpdemux/stream.c6
-rw-r--r--libmpdemux/stream.h1
13 files changed, 171 insertions, 3 deletions
diff --git a/DOCS/man/de/mplayer.1 b/DOCS/man/de/mplayer.1
index 52d6902d74..e68e6329e9 100644
--- a/DOCS/man/de/mplayer.1
+++ b/DOCS/man/de/mplayer.1
@@ -142,6 +142,24 @@ mencoder \- Movie Encoder
.
.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 --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 8fd871c058..801bbba27c 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -137,6 +137,24 @@ mencoder \- movie encoder
.
.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 --git a/DOCS/man/es/mplayer.1 b/DOCS/man/es/mplayer.1
index 197ed9d5ae..7ed20a059c 100644
--- a/DOCS/man/es/mplayer.1
+++ b/DOCS/man/es/mplayer.1
@@ -153,6 +153,24 @@ mencoder \- codificador de películas
.
.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 --git a/DOCS/man/fr/mplayer.1 b/DOCS/man/fr/mplayer.1
index e8cba9fdd9..51892f7df2 100644
--- a/DOCS/man/fr/mplayer.1
+++ b/DOCS/man/fr/mplayer.1
@@ -139,6 +139,24 @@ mencoder \- Encodeur vidéo
[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 --git a/DOCS/man/hu/mplayer.1 b/DOCS/man/hu/mplayer.1
index 0898b4a80e..2e06e11a6b 100644
--- a/DOCS/man/hu/mplayer.1
+++ b/DOCS/man/hu/mplayer.1
@@ -136,6 +136,24 @@ mencoder \- Filmenkóder Linux alá
.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 --git a/DOCS/man/it/mplayer.1 b/DOCS/man/it/mplayer.1
index 1a1fa0680a..35018c05e3 100644
--- a/DOCS/man/it/mplayer.1
+++ b/DOCS/man/it/mplayer.1
@@ -141,6 +141,24 @@ mencoder \- codificatore di film
.
.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 --git a/DOCS/man/pl/mplayer.1 b/DOCS/man/pl/mplayer.1
index d0ef2c0299..296864a42c 100644
--- a/DOCS/man/pl/mplayer.1
+++ b/DOCS/man/pl/mplayer.1
@@ -141,6 +141,24 @@ mencoder \- enkoder (koder) filmów
.
.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 --git a/DOCS/xml/en/formats.xml b/DOCS/xml/en/formats.xml
index 8fc4191c9e..df897e938d 100644
--- a/DOCS/xml/en/formats.xml
+++ b/DOCS/xml/en/formats.xml
@@ -60,6 +60,14 @@ MPEG files come in different guises:
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>
diff --git a/configure b/configure
index 20491f490d..76e275a247 100755
--- a/configure
+++ b/configure
@@ -189,6 +189,7 @@ Optional features:
--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 @@ _enca=auto
_inet6=auto
_gethostbyname2=auto
_ftp=yes
+_vstream=auto
for ac_option do
case "$ac_option" in
# Skip 1st pass
@@ -1650,6 +1652,8 @@ for ac_option do
--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 @@ else
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 @@ $_live_libs_def
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 @@ $_def_network
/* enable ftp support */
$_def_ftp
+/* enable vstream support */
+$_def_vstream
+
/* enable winsock2 instead of Unix functions*/
$_def_winsock2
diff --git a/libmpdemux/Makefile b/libmpdemux/Makefile
index 042404d01f..de90167311 100644
--- a/libmpdemux/Makefile
+++ b/libmpdemux/Makefile
@@ -3,7 +3,7 @@ LIBNAME = libmpdemux.a
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 --git a/libmpdemux/open.c b/libmpdemux/open.c
index dfbde8c877..2222f3addc 100644
--- a/libmpdemux/open.c
+++ b/libmpdemux/open.c
@@ -496,7 +496,7 @@ if(strncmp("dvd://",filename,6) == 0){
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 --git a/libmpdemux/stream.c b/libmpdemux/stream.c
index cf211d38ac..60e174bb9c 100644
--- a/libmpdemux/stream.c
+++ b/libmpdemux/stream.c
@@ -64,6 +64,9 @@ extern stream_info_t stream_info_dvb;
#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 @@ stream_info_t* auto_open_streams[] = {
#ifdef HAVE_FTP
&stream_info_ftp,
#endif
+#ifdef HAVE_VSTREAM
+ &stream_info_vstream,
+#endif
&stream_info_null,
&stream_info_file,
NULL
diff --git a/libmpdemux/stream.h b/libmpdemux/stream.h
index a9f9241d76..4ada0fb9d5 100644
--- a/libmpdemux/stream.h
+++ b/libmpdemux/stream.h
@@ -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