[FFmpeg-devel] RTP mark bit not passed to parse_packet
Ronald S. Bultje
rsbultje
Thu Jan 15 15:09:22 CET 2009
Hi,
On Thu, Jan 15, 2009 at 8:59 AM, Luca Abeni <lucabe72 at email.it> wrote:
> Ok, I checked rdt.c, and the relevant line seems to be:
> flags = (flags & PKT_FLAG_KEY) ? 2 : 0;
> so, why not using an "RTP_FLAG_KEY" (equal to 2) instead of PKT_FLAG_KEY
> (changing it to 2 before using the flags variable)?
Oh, just for clarification, the relevant line is in fact in
ff_rdt_parse_packet(), just below this:
rv = ff_rdt_parse_header(buf, len, &set_id, &seq_no, &stream_id,
&is_keyframe, ×tamp);
[..]
if (is_keyframe &&
[..]
flags |= PKT_FLAG_KEY;
[..]
rv = s->parse_packet(s->dynamic_protocol_context,
s->streams[s->prev_stream_id],
pkt, ×tamp, buf, len, flags);
rdt_parse_packet() is then the ProtocolHandler.parse_packet(), similar
to MPEG4 etc. rdt_parse_packet() changes these flags from "API format"
(currently similar to AVPacket.flags, where keyframe = 0x1) to
"RM-specific values" (0x2 is keyframe) before calling the relevant
ff_rm_*() functions.
Let me know if that's unclear.
Ronald
More information about the ffmpeg-devel
mailing list