Commit 200026aa authored by Michael Niedermayer's avatar Michael Niedermayer

replace nonsense code by something which makes at least some sense

Originally committed as revision 7651 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 4c71d727
...@@ -641,27 +641,6 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt) ...@@ -641,27 +641,6 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt)
} }
asf_st = asf->asf_st; asf_st = asf->asf_st;
if ((asf->packet_frag_offset != asf_st->frag_offset
|| (asf->packet_frag_offset
&& asf->packet_seq != asf_st->seq)) // seq should be ignored
) {
/* cannot continue current packet: free it */
// FIXME better check if packet was already allocated
av_log(s, AV_LOG_INFO, "ff asf parser skips: %d - %d o:%d - %d %d %d fl:%d\n",
asf_st->pkt.size,
asf->packet_obj_size,
asf->packet_frag_offset, asf_st->frag_offset,
asf->packet_seq, asf_st->seq, asf->packet_frag_size);
if (asf_st->pkt.size)
av_free_packet(&asf_st->pkt);
asf_st->frag_offset = 0;
if (asf->packet_frag_offset != 0) {
url_fskip(pb, asf->packet_frag_size);
av_log(s, AV_LOG_INFO, "ff asf parser skipping %db\n", asf->packet_frag_size);
asf->packet_size_left -= asf->packet_frag_size;
continue;
}
}
if (asf->packet_replic_size == 1) { if (asf->packet_replic_size == 1) {
// frag_offset is here used as the begining timestamp // frag_offset is here used as the begining timestamp
asf->packet_frag_timestamp = asf->packet_time_start; asf->packet_frag_timestamp = asf->packet_time_start;
...@@ -679,7 +658,12 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt) ...@@ -679,7 +658,12 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt)
asf->packet_multi_size -= asf->packet_obj_size; asf->packet_multi_size -= asf->packet_obj_size;
//printf("COMPRESS size %d %d %d ms:%d\n", asf->packet_obj_size, asf->packet_frag_timestamp, asf->packet_size_left, asf->packet_multi_size); //printf("COMPRESS size %d %d %d ms:%d\n", asf->packet_obj_size, asf->packet_frag_timestamp, asf->packet_size_left, asf->packet_multi_size);
} }
if (asf_st->frag_offset == 0) { if (asf_st->pkt.size != asf->packet_obj_size) { //FIXME is this condition sufficient?
if(asf_st->pkt.data){
av_log(s, AV_LOG_INFO, "freeing incomplete packet size %d, new %d\n", asf_st->pkt.size, asf->packet_obj_size);
asf_st->frag_offset = 0;
av_free_packet(&asf_st->pkt);
}
/* new packet */ /* new packet */
av_new_packet(&asf_st->pkt, asf->packet_obj_size); av_new_packet(&asf_st->pkt, asf->packet_obj_size);
asf_st->seq = asf->packet_seq; asf_st->seq = asf->packet_seq;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment