[FFmpeg-devel] RTP mark bit not passed to parse_packet
Ronald S. Bultje
rsbultje
Thu Jan 15 14:28:44 CET 2009
Hi Alexandre,
On Thu, Jan 15, 2009 at 8:15 AM, Alexandre FERRIEUX -
FT/RD/SIRP/ASF/SOFTL <alexandre.ferrieux at orange-ftgroup.com> wrote:
> Ronald S. Bultje wrote:
>> On Thu, Jan 15, 2009 at 4:13 AM, Alexandre FERRIEUX -
>> FT/RD/SIRP/ASF/SOFTL <alexandre.ferrieux at orange-ftgroup.com> wrote:
>>> 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.
>>
>> I have a local patch that saves the M-bit as 0x100 in the flags field
>> (flags |= (buf[1] & 80) << 1) in the flags field, which is passed on
>> to the parse_packet() functions. See my recent X-QT patch, which
>> includes it (IIRC). We could consider making >=0x100 (e.g. 0xFF00) an
>> official "format-specific" flag mask (in avformat.h), and then using
>> 0x100 as RTP_FLAG_M_BIT (in rtp_internal.h).
>
> Yes, I'd love to see this committed :)
>
> FWIW, instead of
> flags |= (buf[1] & 0x80) << 1
> I'd prefer the more readable variant:
> if (buf[1] & 0x80) flags |= RTP_FLAG_M_BIT;
Sure, no problem. Luca, agree? Michael, is a "format-specific" or
"private" flag mask of >= 0x100 or 0x10000 OK in avformat.h?
Ronald
More information about the ffmpeg-devel
mailing list