|
|
@@ -810,7 +810,7 @@ static int rm_read_packet(AVFormatContext *s, AVPacket *pkt) |
|
|
AVStream *st; |
|
|
AVStream *st; |
|
|
int i, len, res, seq = 1; |
|
|
int i, len, res, seq = 1; |
|
|
int64_t timestamp, pos; |
|
|
int64_t timestamp, pos; |
|
|
int old_flags, flags; |
|
|
|
|
|
|
|
|
int flags; |
|
|
|
|
|
|
|
|
for (;;) { |
|
|
for (;;) { |
|
|
if (rm->audio_pkt_cnt) { |
|
|
if (rm->audio_pkt_cnt) { |
|
|
@@ -836,10 +836,9 @@ static int rm_read_packet(AVFormatContext *s, AVPacket *pkt) |
|
|
if(len<0 || url_feof(s->pb)) |
|
|
if(len<0 || url_feof(s->pb)) |
|
|
return AVERROR(EIO); |
|
|
return AVERROR(EIO); |
|
|
|
|
|
|
|
|
old_flags = flags; |
|
|
|
|
|
res = ff_rm_parse_packet (s, s->pb, st, st->priv_data, len, pkt, |
|
|
res = ff_rm_parse_packet (s, s->pb, st, st->priv_data, len, pkt, |
|
|
&seq, flags, timestamp); |
|
|
&seq, flags, timestamp); |
|
|
if((old_flags&2) && (seq&0x7F) == 1) |
|
|
|
|
|
|
|
|
if((flags&2) && (seq&0x7F) == 1) |
|
|
av_add_index_entry(st, pos, timestamp, 0, 0, AVINDEX_KEYFRAME); |
|
|
av_add_index_entry(st, pos, timestamp, 0, 0, AVINDEX_KEYFRAME); |
|
|
if (res) |
|
|
if (res) |
|
|
continue; |
|
|
continue; |
|
|
|