summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Courtier-Dutton <jcdutton@users.sourceforge.net>2002-01-04 00:23:06 +0000
committerJames Courtier-Dutton <jcdutton@users.sourceforge.net>2002-01-04 00:23:06 +0000
commita539aa09c9823358a80f196197709ee238f4f846 (patch)
tree070d6d3a4465443fc741a440760d8ca6732d5583
parent0beb1f0dc00dc77899abda18b0d61b09f03303f4 (diff)
downloadxine-lib-a539aa09c9823358a80f196197709ee238f4f846.tar.gz
xine-lib-a539aa09c9823358a80f196197709ee238f4f846.tar.bz2
NAV packets now reach libspudec.
Nothing done with them yet. CVS patchset: 1331 CVS date: 2002/01/04 00:23:06
-rw-r--r--src/demuxers/demux_mpeg_block.c12
-rw-r--r--src/libspudec/xine_decoder.c9
-rw-r--r--src/xine-engine/video_decoder.c3
3 files changed, 18 insertions, 6 deletions
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c
index 717a3990a..ec03ac8ba 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.70 2002/01/02 18:16:07 jkeil Exp $
+ * $Id: demux_mpeg_block.c,v 1.71 2002/01/04 00:23:06 jcdutton Exp $
*
* demultiplexer for mpeg 1/2 program streams
*
@@ -505,8 +505,14 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
return ;
}
-
-
+ } else if (stream_id == 0xbf) { /* NAV Packet */
+ buf->content = p-9;
+ buf->size = packet_len;
+ buf->type = BUF_SPU_NAV;
+ buf->PTS = PTS;
+ buf->input_pos = this->input->get_current_pos(this->input);
+ this->video_fifo->put (this->video_fifo, buf);
+ return ;
} else if ((stream_id >= 0xbc) && ((stream_id & 0xf0) == 0xe0)) {
diff --git a/src/libspudec/xine_decoder.c b/src/libspudec/xine_decoder.c
index a75c6b7d5..50e05b0bf 100644
--- a/src/libspudec/xine_decoder.c
+++ b/src/libspudec/xine_decoder.c
@@ -19,7 +19,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: xine_decoder.c,v 1.46 2002/01/03 23:56:44 jcdutton Exp $
+ * $Id: xine_decoder.c,v 1.47 2002/01/04 00:23:06 jcdutton Exp $
*
* stuff needed to turn libspu into a xine decoder plugin
*/
@@ -65,7 +65,7 @@ static clut_t __default_clut[] = {
static int spudec_can_handle (spu_decoder_t *this_gen, int buf_type) {
int type = buf_type & 0xFFFF0000;
- return (type == BUF_SPU_PACKAGE || type == BUF_SPU_CLUT || type == BUF_SPU_SUBP_CONTROL) ;
+ return (type == BUF_SPU_PACKAGE || type == BUF_SPU_CLUT || type == BUF_SPU_NAV || type == BUF_SPU_SUBP_CONTROL) ;
}
/* FIXME: This function needs checking */
@@ -252,6 +252,11 @@ static void spudec_decode_data (spu_decoder_t *this_gen, buf_element_t *buf) {
}
return;
}
+ if (buf->type == BUF_SPU_NAV) {
+ /* printf("libspudec:got nav packet 1\n"); */
+ /* spudec_decode_nav(this,buf); */
+ return;
+ }
if (buf->decoder_info[0] == 0) /* skip preview data */
diff --git a/src/xine-engine/video_decoder.c b/src/xine-engine/video_decoder.c
index 99ddefb4e..4c7a7c85e 100644
--- a/src/xine-engine/video_decoder.c
+++ b/src/xine-engine/video_decoder.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: video_decoder.c,v 1.67 2001/12/24 00:45:03 guenter Exp $
+ * $Id: video_decoder.c,v 1.68 2002/01/04 00:23:06 jcdutton Exp $
*
*/
@@ -114,6 +114,7 @@ void *video_decoder_loop (void *this_gen) {
case BUF_SPU_CLUT:
case BUF_SPU_PACKAGE:
case BUF_SPU_TEXT:
+ case BUF_SPU_NAV:
xine_profiler_start_count (prof_spu_decode);
spu_decoder = update_spu_decoder(this, buf->type);