[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[AVT] Clarification regarding rfc 2250
Hello All,
i need your help in clarifying a doubt that i have in rfc 2250.
we are currently working to package mpeg audio streams using rtp and
hence we are trying to provide an implementation in which concepts of
rfc 2250 are incorporated.
=====================================================================
we have a transport packet whose structure is as follows:
(a) rtp-header (12 bytes) as specified in section 5.1 of rfc 1889.
here we dont have any CSRC identifiers.
(b) this is followed by the 4 byte header MPEG Audio-specific header
as specified in section 3.5 of rfc 2250
(c) this is followed by mpeg frame(s)
(b) and (c) is henceforth referred as media payload
=====================================================================
scenario (i) : no fragmentation, i.e. there are 1 or more
(integral) number of mpeg frames present in the transport packet.
in this case
+ we have rtp 12 byte header filled with some details
+ MPEG Audio-specific header (as per para 2 of section 3.2
of rfc 2250) is as follows :
MBZ == 0 and Frag_Offset == 0
+ followed by one or more frames mpeg audio frames
=====================================================================
scenario (ii) : fragmentation, i.e. one mpeg audio frame is
split into multiple transport packets.
lets take an example of an mpeg audio frame being 414 bytes
long (just an example) and the transport packet being limited
to a maximum of 200 bytes.
first packet
------------
+ we have rtp 12 byte header filled with some details
+ MPEG Audio-specific header (as per para 2 of section 3.2
of rfc 2250) is as follows :
MBZ == 0 and Frag_Offset == 0
+ followed by the first fragment of the audio frame which is
187 bytes
+ total size of the transport packet == 200
second packet
------------
+ we have rtp 12 byte header filled with some details
+ MPEG Audio-specific header is as follows :
MBZ == 0 and Frag_Offset == 187
+ followed by the second fragment of the audio frame which is
187 bytes
+ total size of the transport packet == 200
third packet
------------
+ we have rtp 12 byte header filled with some details
+ MPEG Audio-specific header is as follows :
MBZ == 0 and Frag_Offset == 374
+ followed by the third fragment of the audio frame which is
40 bytes
+ total size of the transport packet == 53
=====================================================================
question-1 > is my understanding correct in the fragmentation
case ?
=====================================================================
question-2 > if the answer to question-1 is yes, i would like
know the following from the perspective of implementation.
In order to detemine whether the media payload of rtp contains a
fragmented packet we have to
(i) examine if Frag_offset == 0
(ii) if this is so, we may be faced with a case of either
(a) no fragmentation case or
(b) first fragment of a frame.
now one of (a) or (b) can be ascertained only by
1. peeking into mpeg header,
2. determining the frame length
3. comparing the frame length with the transport packet length
if (frame length > transport packet length)
then we have (b)
else we have (a)
There are two issues that we face here, these are
I1) in the normal case where we would have no fragmentation, we have to
perform the compute intensive frame header parsing and frame length
calculation for every rtp packet
I2) This also restricts that we should minimally have to have the mpeg
frame header in the fragment (which is quite acceptable except in
very rare transport protocol limitation cases).
primarily is there a way to overcome I1, i.e. find out if a have a mpeg
fragment without computing the frame size (using the frame header and
comparing this to the transport packet size) ?
=====================================================================
i would be extremely grateful to anybody who could spend some time to
respond to this query of mine.
thanking you
with regards
k. sridhar
_______________________________________________
Audio/Video Transport Working Group
avt at ietf.org
https://www1.ietf.org/mailman/listinfo/avt