Browse Source

In the current implementation of rtp_parse_packet(), finalize_packet() is

called for all packets with an internal handler function but only for
non-first packets from dynamic payload parse_packet() handlers. This patch
fixes that. Bug was noticed by Luca in "[PATCH] rtpdec.c: don't overwrite
pkt->stream_index in finalize_packet()" thread.

Originally committed as revision 17764 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Ronald S. Bultje 16 years ago
parent
commit
f3e71942e7
1 changed files with 3 additions and 1 deletions
  1. +3
    -1
      libavformat/rtpdec.c

+ 3
- 1
libavformat/rtpdec.c View File

@@ -473,6 +473,7 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
s->read_buf_index = 0;
return 1;
}
return 0;
} else if (s->parse_packet) {
rv = s->parse_packet(s->ic, s->dynamic_protocol_context,
s->st, pkt, &timestamp, buf, len, flags);
@@ -535,10 +536,11 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
memcpy(pkt->data, buf, len);
break;
}
}

// now perform timestamp things....
finalize_packet(s, pkt, timestamp);
}
return rv;
}



Loading…
Cancel
Save