summaryrefslogtreecommitdiff
path: root/src/demuxers
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-11-15 00:20:31 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-11-15 00:20:31 +0000
commiteca1bc92a62d5ad690080f4950c9b58c3989f26b (patch)
treeaa75375f61771133fd1f22c9da292edc647ab4ca /src/demuxers
parent69d8b3e79218ae27e289889fb0e2617c424da026 (diff)
downloadxine-lib-eca1bc92a62d5ad690080f4950c9b58c3989f26b.tar.gz
xine-lib-eca1bc92a62d5ad690080f4950c9b58c3989f26b.tar.bz2
cleaning up spu types. now avi subtitles may be enabled again.
(+ missed ffmpeg/dv patch) CVS patchset: 3263 CVS date: 2002/11/15 00:20:31
Diffstat (limited to 'src/demuxers')
-rw-r--r--src/demuxers/demux_mpeg_block.c12
-rw-r--r--src/demuxers/demux_ts.c9
2 files changed, 16 insertions, 5 deletions
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c
index 6c450685b..cdac6b4c3 100644
--- a/src/demuxers/demux_mpeg_block.c
+++ b/src/demuxers/demux_mpeg_block.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: demux_mpeg_block.c,v 1.137 2002/11/10 13:33:14 mroi Exp $
+ * $Id: demux_mpeg_block.c,v 1.138 2002/11/15 00:20:31 miguelfreitas Exp $
*
* demultiplexer for mpeg 1/2 program streams
*
@@ -323,7 +323,10 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
buf->content = p;
buf->size = packet_len;
- buf->type = BUF_SPU_NAV;
+ buf->type = BUF_SPU_DVD;
+ buf->decoder_flags |= BUF_FLAG_SPECIAL;
+ buf->decoder_info[1] = BUF_SPECIAL_SPU_DVD_SUBTYPE;
+ buf->decoder_info[2] = SPU_DVD_SUBTYPE_NAV;
buf->pts = 0; /* NAV packets do not have PES values */
buf->input_pos = this->input->get_current_pos(this->input);
buf->input_length = this->input->get_length (this->input);
@@ -460,7 +463,10 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
buf->content = p+1;
buf->size = packet_len-1;
- buf->type = BUF_SPU_PACKAGE + spu_id;
+ buf->type = BUF_SPU_DVD + spu_id;
+ buf->decoder_flags |= BUF_FLAG_SPECIAL;
+ buf->decoder_info[1] = BUF_SPECIAL_SPU_DVD_SUBTYPE;
+ buf->decoder_info[2] = SPU_DVD_SUBTYPE_PACKAGE;
buf->pts = pts;
if( !preview_mode )
check_newpts( this, pts, PTS_VIDEO );
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c
index 3690ff317..ae2037a06 100644
--- a/src/demuxers/demux_ts.c
+++ b/src/demuxers/demux_ts.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: demux_ts.c,v 1.64 2002/11/14 12:45:33 miguelfreitas Exp $
+ * $Id: demux_ts.c,v 1.65 2002/11/15 00:20:31 miguelfreitas Exp $
*
* Demultiplexer for MPEG2 Transport Streams.
*
@@ -501,7 +501,7 @@ static int demux_ts_parse_pes_header (demux_ts_media *m,
m->content = p+1;
m->size = packet_len-1;
- m->type = BUF_SPU_PACKAGE + spu_id;
+ m->type = BUF_SPU_DVD + spu_id;
return 1;
} else if ((p[0] & 0xF0) == 0x80) {
@@ -590,6 +590,11 @@ static void demux_ts_buffer_pes(demux_ts_t*this, unsigned char *ts,
m->buf->content = m->buf->mem;
m->buf->size = m->buffered_bytes;
m->buf->type = m->type;
+ if( (m->buf->type & 0xffff0000) == BUF_SPU_DVD ) {
+ m->buf->decoder_flags |= BUF_FLAG_SPECIAL;
+ m->buf->decoder_info[1] = BUF_SPECIAL_SPU_DVD_SUBTYPE;
+ m->buf->decoder_info[2] = SPU_DVD_SUBTYPE_PACKAGE;
+ }
m->buf->pts = m->pts;
m->buf->decoder_info[0] = 1;
m->buf->input_pos = this->input->get_current_pos(this->input);