diff options
author | Daniel Caujolle-Bert <f1rmb@users.sourceforge.net> | 2001-05-28 01:28:10 +0000 |
---|---|---|
committer | Daniel Caujolle-Bert <f1rmb@users.sourceforge.net> | 2001-05-28 01:28:10 +0000 |
commit | 596bada7527edc65502fc7f3f52535d3e92554ba (patch) | |
tree | 453d95e3930c0a52cdd99e8b7b4c1f36ed58d2df /src/demuxers | |
parent | e0dafdff5dc592fb47151894a6db3ce0ae045e26 (diff) | |
download | xine-lib-596bada7527edc65502fc7f3f52535d3e92554ba.tar.gz xine-lib-596bada7527edc65502fc7f3f52535d3e92554ba.tar.bz2 |
use thread compliant signal handling. Fixed deadlock in xine_stop().
Fixed elementary demuxer (and perhaps mpgaudio too). Fix some
code error in ac3/xine_decoder.c.
CVS patchset: 87
CVS date: 2001/05/28 01:28:10
Diffstat (limited to 'src/demuxers')
-rw-r--r-- | src/demuxers/demux_elem.c | 7 | ||||
-rw-r--r-- | src/demuxers/demux_mpgaudio.c | 8 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/demuxers/demux_elem.c b/src/demuxers/demux_elem.c index dbd38b8e3..f64dd4b0f 100644 --- a/src/demuxers/demux_elem.c +++ b/src/demuxers/demux_elem.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_elem.c,v 1.6 2001/05/24 23:15:40 f1rmb Exp $ + * $Id: demux_elem.c,v 1.7 2001/05/28 01:28:10 f1rmb Exp $ * * demultiplexer for elementary mpeg streams * @@ -71,15 +71,13 @@ static int demux_mpeg_elem_next (demux_mpeg_elem_t *this) { return 0; } - buf->content = buf->mem; buf->DTS = 0; buf->PTS = 0; - buf->size = this->input->read(this->input, buf->mem, this->blocksize); buf->input_pos = this->input->seek(this->input, 0, SEEK_CUR); buf->type = BUF_VIDEO_MPEG; this->video_fifo->put(this->video_fifo, buf); - + return (buf->size == this->blocksize); } @@ -159,6 +157,7 @@ static void demux_mpeg_elem_start (demux_plugin_t *this_gen, buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); buf->type = BUF_CONTROL_START; this->video_fifo->put (this->video_fifo, buf); + buf = this->audio_fifo->buffer_pool_alloc (this->video_fifo); buf->type = BUF_CONTROL_START; this->audio_fifo->put (this->audio_fifo, buf); diff --git a/src/demuxers/demux_mpgaudio.c b/src/demuxers/demux_mpgaudio.c index 71b2946cf..010fed8c3 100644 --- a/src/demuxers/demux_mpgaudio.c +++ b/src/demuxers/demux_mpgaudio.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_mpgaudio.c,v 1.5 2001/05/24 23:15:40 f1rmb Exp $ + * $Id: demux_mpgaudio.c,v 1.6 2001/05/28 01:28:10 f1rmb Exp $ * * demultiplexer for mpeg audio (i.e. mp3) streams * @@ -230,21 +230,19 @@ static int demux_mpgaudio_next (demux_mpgaudio_t *this) { buf_element_t *buf; buf = this->input->read_block(this->input, - this->video_fifo, 2048); + this->audio_fifo, 2048); if (buf == NULL) { this->status = DEMUX_FINISHED; return 0; } - buf->content = buf->mem; buf->DTS = 0; buf->PTS = 0; - buf->size = this->input->read(this->input, buf->mem, 2048); buf->input_pos = this->input->seek(this->input, 0, SEEK_CUR); buf->type = BUF_AUDIO_AVI; - this->video_fifo->put(this->video_fifo, buf); + this->audio_fifo->put(this->audio_fifo, buf); return (buf->size == 2048); } |