summaryrefslogtreecommitdiff
path: root/src/demuxers
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-12-03 03:07:07 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-12-03 03:07:07 +0000
commitd10ebcc967cd804d220dd92a09480bc37e086cd6 (patch)
treebdee55c9dcd6f291a506f68da818aa1746952050 /src/demuxers
parent22952f5ad21503c45ee520cd68977136dae786b3 (diff)
downloadxine-lib-d10ebcc967cd804d220dd92a09480bc37e086cd6.tar.gz
xine-lib-d10ebcc967cd804d220dd92a09480bc37e086cd6.tar.bz2
remove nasty ogg_pack hack. now just pure vorbis data is sent to
decoder. that change prevents segfaulting with those (even nastier) ogg-in-avi files, but does not play the beasts either. CVS patchset: 5825 CVS date: 2003/12/03 03:07:07
Diffstat (limited to 'src/demuxers')
-rw-r--r--src/demuxers/demux_ogg.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c
index c4714ca6b..31ac698ea 100644
--- a/src/demuxers/demux_ogg.c
+++ b/src/demuxers/demux_ogg.c
@@ -19,7 +19,7 @@
*/
/*
- * $Id: demux_ogg.c,v 1.120 2003/12/02 14:07:27 miguelfreitas Exp $
+ * $Id: demux_ogg.c,v 1.121 2003/12/03 03:07:07 miguelfreitas Exp $
*
* demultiplexer for ogg streams
*
@@ -413,20 +413,8 @@ static void send_ogg_buf (demux_ogg_t *this,
read_language_comment(this, op, stream_num);
}
- if ((this->buf_types[stream_num] & 0xFFFF0000) == BUF_AUDIO_VORBIS) {
- int op_size = sizeof(ogg_packet);
- ogg_packet *og_ghost;
- op_size += (4 - (op_size % 4));
-
- /* nasty hack to pack op as well as (vorbis) content
- in one xine buffer */
- memcpy (buf->content + op_size, op->packet, op->bytes);
- memcpy (buf->content, op, op_size);
- og_ghost = (ogg_packet *) buf->content;
- og_ghost->packet = buf->content + op_size;
-
- buf->size = op->bytes;
- } else if ((this->buf_types[stream_num] & 0xFFFF0000) == BUF_AUDIO_SPEEX) {
+ if ((this->buf_types[stream_num] & 0xFFFF0000) == BUF_AUDIO_SPEEX ||
+ (this->buf_types[stream_num] & 0xFFFF0000) == BUF_AUDIO_VORBIS) {
memcpy (buf->content, op->packet, op->bytes);
buf->size = op->bytes;
} else {