Commit 0e1f8bc3 authored by rbultje's avatar rbultje

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.



git-svn-id: file:///var/local/repositories/ffmpeg/trunk@17764 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 08b8ca89
...@@ -473,6 +473,7 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt, ...@@ -473,6 +473,7 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
s->read_buf_index = 0; s->read_buf_index = 0;
return 1; return 1;
} }
return 0;
} else if (s->parse_packet) { } else if (s->parse_packet) {
rv = s->parse_packet(s->ic, s->dynamic_protocol_context, rv = s->parse_packet(s->ic, s->dynamic_protocol_context,
s->st, pkt, &timestamp, buf, len, flags); s->st, pkt, &timestamp, buf, len, flags);
...@@ -535,10 +536,11 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt, ...@@ -535,10 +536,11 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
memcpy(pkt->data, buf, len); memcpy(pkt->data, buf, len);
break; break;
} }
}
// now perform timestamp things.... // now perform timestamp things....
finalize_packet(s, pkt, timestamp); finalize_packet(s, pkt, timestamp);
}
return rv; return rv;
} }
......
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