summaryrefslogtreecommitdiff
path: root/src/demuxers
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2008-01-17 22:53:35 +0000
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2008-01-17 22:53:35 +0000
commit255f131648030618f753c27139d4b278f11020c7 (patch)
treeb28a41924089d059424f06bd06ff73cf10838b5e /src/demuxers
parent5e1efcee823576470ffa3ae2f57ba5c6020e436b (diff)
parent4b30fc7d0ad482d4449703e9270df933cdd755ee (diff)
downloadxine-lib-255f131648030618f753c27139d4b278f11020c7.tar.gz
xine-lib-255f131648030618f753c27139d4b278f11020c7.tar.bz2
Merge from 1.1.
--HG-- rename : doc/faq/faq.sgml => doc/faq/faq.docbook rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c
Diffstat (limited to 'src/demuxers')
-rw-r--r--src/demuxers/asfheader.c10
-rw-r--r--src/demuxers/demux_asf.c7
2 files changed, 11 insertions, 6 deletions
diff --git a/src/demuxers/asfheader.c b/src/demuxers/asfheader.c
index 97537c337..75ad11c75 100644
--- a/src/demuxers/asfheader.c
+++ b/src/demuxers/asfheader.c
@@ -140,9 +140,9 @@ static uint8_t *asf_reader_get_bytes(asf_reader_t *reader, size_t size) {
static char *asf_reader_get_string(asf_reader_t *reader, size_t size, iconv_t cd) {
char *inbuf, *outbuf;
size_t inbytesleft, outbytesleft;
- char scratch[2048];
+ char scratch[2048];
- if ((reader->size - reader->pos) < size)
+ if ((size == 0) ||((reader->size - reader->pos) < size))
return NULL;
inbuf = (char *)reader->buffer + reader->pos;
@@ -596,6 +596,12 @@ static int asf_header_parse_content_description(asf_header_t *header_pub, uint8_
content->description = asf_reader_get_string(&reader, description_length, iconv_cd);
content->rating = asf_reader_get_string(&reader, rating_length, iconv_cd);
+ lprintf("title: %d chars: \"%s\"\n", title_length, content->title);
+ lprintf("author: %d chars: \"%s\"\n", author_length, content->author);
+ lprintf("copyright: %d chars: \"%s\"\n", copyright_length, content->copyright);
+ lprintf("description: %d chars: \"%s\"\n", description_length, content->description);
+ lprintf("rating: %d chars: \"%s\"\n", rating_length, content->rating);
+
header->pub.content = content;
iconv_close(iconv_cd);
diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c
index 1a97e12bf..57624aa15 100644
--- a/src/demuxers/demux_asf.c
+++ b/src/demuxers/demux_asf.c
@@ -722,6 +722,9 @@ static void asf_send_buffer_nodefrag (demux_asf_t *this, asf_demux_stream_t *str
buf->size = bufsize;
timestamp = 0;
+ if (stream->frag_offset == 0)
+ buf->decoder_flags |= BUF_FLAG_FRAME_START;
+
stream->frag_offset += bufsize;
frag_len -= bufsize;
@@ -732,10 +735,6 @@ static void asf_send_buffer_nodefrag (demux_asf_t *this, asf_demux_stream_t *str
else
check_newpts (this, buf->pts, PTS_AUDIO, package_done);
-
- if (frag_offset == 0)
- buf->decoder_flags |= BUF_FLAG_FRAME_START;
-
/* test if whole packet read */
if (package_done) {
buf->decoder_flags |= BUF_FLAG_FRAME_END;