Do not lose the '\n'.
Originally committed as revision 15424 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
a3250d073d
commit
5c8a1d1927
@ -140,7 +140,7 @@ static int read_header(AVFormatContext *s, AVFormatParameters *ap)
|
|||||||
ass->event[i]= p;
|
ass->event[i]= p;
|
||||||
while(*p && *p != '\n')
|
while(*p && *p != '\n')
|
||||||
p++;
|
p++;
|
||||||
*p++ = 0;
|
p++;
|
||||||
}
|
}
|
||||||
|
|
||||||
qsort(ass->event, ass->event_count, sizeof(*ass->event), event_cmp);
|
qsort(ass->event, ass->event_count, sizeof(*ass->event), event_cmp);
|
||||||
@ -156,14 +156,15 @@ fail:
|
|||||||
static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||||
{
|
{
|
||||||
ASSContext *ass = s->priv_data;
|
ASSContext *ass = s->priv_data;
|
||||||
uint8_t *p;
|
uint8_t *p, *end;
|
||||||
|
|
||||||
if(ass->event_index >= ass->event_count)
|
if(ass->event_index >= ass->event_count)
|
||||||
return AVERROR(EIO);
|
return AVERROR(EIO);
|
||||||
|
|
||||||
p= ass->event[ ass->event_index ];
|
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->flags |= PKT_FLAG_KEY;
|
||||||
pkt->pos= p - ass->event_buffer + s->streams[0]->codec->extradata_size;
|
pkt->pos= p - ass->event_buffer + s->streams[0]->codec->extradata_size;
|
||||||
pkt->pts= pkt->dts= get_pts(p);
|
pkt->pts= pkt->dts= get_pts(p);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user