summaryrefslogtreecommitdiff
path: root/src/demuxers/demux_mpeg_block.c
diff options
context:
space:
mode:
authoruid32519 <none@none>2001-07-04 17:10:24 +0000
committeruid32519 <none@none>2001-07-04 17:10:24 +0000
commit507e81ddf0454a0b740a69f69d917ce67075065f (patch)
treed935d772f266ee49a6a73341e1a34afda4b383d8 /src/demuxers/demux_mpeg_block.c
parentc8d64e87f29e42dc2f6f0068e575dd10188999af (diff)
downloadxine-lib-507e81ddf0454a0b740a69f69d917ce67075065f.tar.gz
xine-lib-507e81ddf0454a0b740a69f69d917ce67075065f.tar.bz2
spu support updated (unfinished) from James
CVS patchset: 250 CVS date: 2001/07/04 17:10:24
Diffstat (limited to 'src/demuxers/demux_mpeg_block.c')
-rw-r--r--src/demuxers/demux_mpeg_block.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c
index be362d0f0..2aa9e2a48 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.23 2001/07/03 21:25:04 guenter Exp $
+ * $Id: demux_mpeg_block.c,v 1.24 2001/07/04 17:10:24 uid32519 Exp $
*
* demultiplexer for mpeg 1/2 program streams
*
@@ -371,6 +371,11 @@ static void *demux_mpeg_block_loop (void *this_gen) {
buf->decoder_info[0] = 0; /* stream finished */
this->audio_fifo->put (this->audio_fifo, buf);
}
+
+ buf = this->spu_fifo->buffer_pool_alloc (this->spu_fifo);
+ buf->type = BUF_CONTROL_END;
+ buf->decoder_info[0] = 0; /* stream finished */
+ this->spu_fifo->put (this->spu_fifo, buf);
}
pthread_exit(NULL);
@@ -411,6 +416,12 @@ static void demux_mpeg_block_stop (demux_plugin_t *this_gen) {
this->audio_fifo->put (this->audio_fifo, buf);
}
+ buf = this->spu_fifo->buffer_pool_alloc (this->spu_fifo);
+ buf->type = BUF_CONTROL_END;
+ buf->decoder_info[0] = 1; /* forced */
+
+ this->spu_fifo->put (this->spu_fifo, buf);
+
}
static int demux_mpeg_block_get_status (demux_plugin_t *this_gen) {
@@ -454,6 +465,10 @@ static void demux_mpeg_block_start (demux_plugin_t *this_gen,
this->audio_fifo->put (this->audio_fifo, buf);
}
+ buf = this->spu_fifo->buffer_pool_alloc (this->spu_fifo);
+ buf->type = BUF_CONTROL_START;
+ this->spu_fifo->put (this->spu_fifo, buf);
+
if((this->input->get_capabilities(this->input) & INPUT_CAP_SEEKABLE) != 0) {
int num_buffers = NUM_PREVIEW_BUFFERS;