[FFmpeg-devel] RTP mark bit not passed to parse_packet

Alexandre FERRIEUX - FT/RD/SIRP/ASF/SOFTL alexandre.ferrieux
Thu Jan 15 10:13:10 CET 2009


In the process of writing an RTP depayloader for H263 (RFC2429, simple 
follow-on packet mode), I see that the current API doesn't pass the RTP 
Mark bit (buf[1]&0x80) to the payload handler callback.

In rtpdec.c:

     payload_type = buf[1] & 0x7f;
     len -= 12;
     buf += 12;
     rv = s->parse_packet(s->dynamic_protocol_context,
                              s->st, pkt, &timestamp, buf, len, flags);

This makes it uneasy to detect the last packet of a frame in 
RFC2429-packetized H263 (since the M bit means "end of picture in 
current packet"). Of course the workaround is to wait for next RTP 
packet which is not a follow-on, but this complicates the code and 
introduces a 1-packet delay.

Am I missing something ?

Thanks in advance,


More information about the ffmpeg-devel mailing list