From 5c8a1d19274267bc45374b49a844192f54b40a93 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 26 Sep 2008 03:24:05 +0000 Subject: Do not lose the '\n'. Originally committed as revision 15424 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/assdec.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'libavformat/assdec.c') diff --git a/libavformat/assdec.c b/libavformat/assdec.c index fa0ab793e0..c5d319dffc 100644 --- a/libavformat/assdec.c +++ b/libavformat/assdec.c @@ -140,7 +140,7 @@ static int read_header(AVFormatContext *s, AVFormatParameters *ap) ass->event[i]= p; while(*p && *p != '\n') p++; - *p++ = 0; + p++; } qsort(ass->event, ass->event_count, sizeof(*ass->event), event_cmp); @@ -156,14 +156,15 @@ fail: static int read_packet(AVFormatContext *s, AVPacket *pkt) { ASSContext *ass = s->priv_data; - uint8_t *p; + uint8_t *p, *end; if(ass->event_index >= ass->event_count) return AVERROR(EIO); p= ass->event[ ass->event_index ]; - av_new_packet(pkt, strlen(p)); + end= strchr(p, '\n'); + av_new_packet(pkt, end ? end-p+1 : strlen(p)); pkt->flags |= PKT_FLAG_KEY; pkt->pos= p - ass->event_buffer + s->streams[0]->codec->extradata_size; pkt->pts= pkt->dts= get_pts(p); -- cgit v1.2.3